mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['src/pentesting-cloud/azure-security/az-privilege-escalation
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -35,6 +35,16 @@ Zaidi ya hayo, ni muhimu kuwa na ufikiaji wa umma ulioanzishwa ikiwa unataka kuf
|
||||
```bash
|
||||
az mysql flexible-server update --resource-group <resource_group_name> --server-name <server_name> --public-access Enabled
|
||||
```
|
||||
### `Microsoft.DBforMySQL/flexibleServers/read`, `Microsoft.DBforMySQL/flexibleServers/write`, `Microsoft.DBforMySQL/flexibleServers/backups/read`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
|
||||
|
||||
Kwa ruhusa hizi unaweza kurejesha seva ya MySQL kutoka kwa nakala ya akiba:
|
||||
```bash
|
||||
az mysql flexible-server restore \
|
||||
--resource-group <resource_group_name> \
|
||||
--name <restore_server_name> \
|
||||
--source-server <server_name> \
|
||||
--yes
|
||||
```
|
||||
### `Microsoft.DBforMySQL/flexibleServers/read`, `Microsoft.DBforMySQL/flexibleServers/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.DBforMySQL/flexibleServers/administrators/write` && `Microsoft.DBforMySQL/flexibleServers/administrators/read`
|
||||
|
||||
Kwa ruhusa hii, unaweza kuunda wasimamizi wa Azure Active Directory (AD) kwa seva ya MySQL Flexible. Hii inaweza kutumiwa vibaya kwa kujipatia au kuweka akaunti nyingine kama msimamizi wa AD, ikitoa udhibiti kamili wa usimamizi juu ya seva ya MySQL. Ni muhimu kwamba seva ya flexible-server iwe na utambulisho wa usimamizi wa mtumiaji uliotolewa ili kutumika.
|
||||
|
||||
+50
-4
@@ -24,22 +24,68 @@ az postgres flexible-server create \
|
||||
--tier <PricingTier> \
|
||||
--version <PostgreSQLVersion>
|
||||
```
|
||||
Kwa mfano, ruhusa hizi zinaruhusu kubadilisha nenosiri la PostgreSQL, muhimu bila shaka ikiwa uthibitishaji wa PostgreSQL umewezeshwa.
|
||||
Kwa mfano, ruhusa hizi zinaruhusu kubadilisha nenosiri la PostgreSQL, muhimu bila shaka endapo uthibitishaji wa PostgreSQL umewezeshwa.
|
||||
```bash
|
||||
az postgres flexible-server update \
|
||||
--resource-group <resource_group_name> \
|
||||
--name <server_name> \
|
||||
--admin-password <password_to_update>
|
||||
```
|
||||
Zaidi ya hayo, ni muhimu kuwa na ufikiaji wa umma ulioanzishwa ikiwa unataka kufikia kutoka kwa kiunganishi kisichokuwa cha faragha, ili kuuwezesha:
|
||||
Zaidi ya hayo, kwa ruhusa unaweza kuwezesha kitambulisho kilichotolewa, na kufanya kazi na kitambulisho kinachosimamiwa kilichounganishwa na seva. Hapa unaweza kupata nyongeza zote ambazo Azure PostgreSQL flexible server inasaidia [https://learn.microsoft.com/en-us/azure/cosmos-db/postgresql/reference-extensions](https://learn.microsoft.com/en-us/azure/cosmos-db/postgresql/reference-extensions). Ili kuweza kutumia nyongeza hizi, baadhi ya vigezo vya seva (azure.extensions) vinahitaji kubadilishwa. Kwa mfano hapa na kitambulisho kinachosimamiwa ambacho kinaweza kufikia Azure Storage:
|
||||
|
||||
Kwanza tunabadilisha vigezo na kuhakikisha kitambulisho kilichotolewa kimewezeshwa:
|
||||
```bash
|
||||
az postgres flexible-server parameter set \
|
||||
--resource-group <YourResourceGroupName> \
|
||||
--server-name <YourServerName> \
|
||||
--name azure.extensions \
|
||||
--value "AZURE_STORAGE"
|
||||
|
||||
az postgres flexible-server identity update \
|
||||
--resource-group <YourResourceGroupName> \
|
||||
--server-name <YourServerName> \
|
||||
--system-assigned Enabled
|
||||
```
|
||||
|
||||
```sql
|
||||
|
||||
CREATE EXTENSION IF NOT EXISTS azure_storage;
|
||||
|
||||
CREATE EXTERNAL DATA SOURCE ManagedIdentity
|
||||
|
||||
SELECT azure_storage.account_add('<storage-account>', '<storage-key>');
|
||||
|
||||
SELECT *
|
||||
FROM azure_storage.blob_get(
|
||||
'<storage-account>',
|
||||
'<container>',
|
||||
'message.txt',
|
||||
decoder := 'text'
|
||||
) AS t(content text)
|
||||
LIMIT 1;
|
||||
|
||||
```
|
||||
Zaidi ya hayo, ni muhimu kuwa na ufikiaji wa umma ulioanzishwa ikiwa unataka kufikia kutoka kwa kiunganishi kisichokuwa cha kibinafsi, ili kuuwezesha:
|
||||
```bash
|
||||
az postgres flexible-server update --resource-group <resource_group_name> --server-name <server_name> --public-access Enabled
|
||||
```
|
||||
### `Microsoft.DBforPostgreSQL/flexibleServers/read`, `Microsoft.DBforPostgreSQL/flexibleServers/write`, `Microsoft.DBforPostgreSQL/flexibleServers/backups/read`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
|
||||
|
||||
Kwa ruhusa hizi unaweza kurejesha seva kutoka kwa nakala ya akiba kwa:
|
||||
```bash
|
||||
az postgres flexible-server restore \
|
||||
--resource-group <RESOURCE_GROUP> \
|
||||
--name <NEW_SERVER_NAME> \
|
||||
--source-server <SOURCE_SERVER_NAME> \
|
||||
--restore-time "<ISO8601_TIMESTAMP>" \
|
||||
--yes
|
||||
|
||||
```
|
||||
### `Microsoft.DBforPostgreSQL/flexibleServers/read`, `Microsoft.DBforPostgreSQL/flexibleServers/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.DBforPostgreSQL/flexibleServers/administrators/write` && `Microsoft.DBforPostgreSQL/flexibleServers/administrators/read`
|
||||
|
||||
Kwa ruhusa hii, unaweza kuunda wasimamizi wa Azure Active Directory (AD) kwa seva ya PostgreSQL Flexible. Hii inaweza kutumiwa kwa kuweka mwenyewe au akaunti nyingine kama msimamizi wa AD, ikitoa udhibiti kamili wa usimamizi juu ya seva ya PostgreSQL. Kusasisha kiongozi aliyepo bado hakusaidiwi hivyo ikiwa kuna mmoja aliyeundwa lazima uifute kwanza.
|
||||
Kwa ruhusa hii, unaweza kuunda wasimamizi wa Azure Active Directory (AD) kwa seva ya PostgreSQL Flexible. Hii inaweza kutumiwa kwa kuweka mwenyewe au akaunti nyingine kama msimamizi wa AD, ikitoa udhibiti kamili wa usimamizi juu ya seva ya PostgreSQL. Kusasisha mkuu aliye tayari hakusaidiwi bado hivyo ikiwa kuna mmoja aliyeundwa lazima uifute kwanza.
|
||||
|
||||
Ni muhimu kwamba seva ya flexible-server iwe na utambulisho wa usimamizi wa mtumiaji aliyepewa ili kuitumia.
|
||||
Ni muhimu kwamba seva ya flexible-server iwe na utambulisho wa usimamizi uliotolewa kwa mtumiaji ili kuitumia.
|
||||
```bash
|
||||
az postgres flexible-server ad-admin create \
|
||||
--resource-group <ResourceGroupName> \
|
||||
|
||||
@@ -44,6 +44,11 @@ az sql server update \
|
||||
```
|
||||
|
||||
```sql
|
||||
CREATE DATABASE SCOPED CREDENTIAL [ManagedIdentityCredential]
|
||||
WITH IDENTITY = 'Managed Identity';
|
||||
GO
|
||||
|
||||
|
||||
CREATE EXTERNAL DATA SOURCE ManagedIdentity
|
||||
WITH (
|
||||
TYPE = BLOB_STORAGE,
|
||||
@@ -99,7 +104,7 @@ NOTE: Ni muhimu kuwa na ufikiaji wa umma ulioanzishwa
|
||||
|
||||
### `Microsoft.Sql/servers/administrators/write` && `Microsoft.Sql/servers/administrators/read`
|
||||
|
||||
Kwa ruhusa hizi unaweza privesc katika mazingira ya Azure SQL Server kwa kufikia hifadhidata za SQL na kupata taarifa muhimu. Kwa kutumia amri iliyo hapa chini, mshambuliaji au mtumiaji aliyeidhinishwa anaweza kujipatia au kuweka akaunti nyingine kama msimamizi wa Azure AD. Ikiwa "Microsoft Entra Authentication Only" imeanzishwa unaweza kufikia seva na matukio yake. Hapa kuna amri ya kuweka msimamizi wa Azure AD kwa seva ya SQL:
|
||||
Kwa ruhusa hizi unaweza privesc katika mazingira ya Azure SQL Server kwa kufikia hifadhidata za SQL na kupata taarifa muhimu. Kwa kutumia amri iliyo hapa chini, mshambuliaji au mtumiaji aliyeidhinishwa anaweza kujipatia au kuweka akaunti nyingine kama msimamizi wa Azure AD. Ikiwa "Microsoft Entra Authentication Only" imeanzishwa unaweza kufikia seva na mifano yake. Hapa kuna amri ya kuweka msimamizi wa Azure AD kwa seva ya SQL:
|
||||
```bash
|
||||
az sql server ad-admin create \
|
||||
--server <server_name> \
|
||||
@@ -121,4 +126,20 @@ az sql server azure-ad-only-auth disable \
|
||||
--server <server_name> \
|
||||
--resource-group <resource_group_name>
|
||||
```
|
||||
### Microsoft.Sql/servers/databases/dataMaskingPolicies/write
|
||||
Badilisha (au zima) sera za kuficha data kwenye hifadhidata zako za SQL.
|
||||
```bash
|
||||
az rest --method put \
|
||||
--uri "https://management.azure.com/subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group>/providers/Microsoft.Sql/servers/<your-server>/databases/<your-database>/dataMaskingPolicies/Default?api-version=2021-11-01" \
|
||||
--body '{
|
||||
"properties": {
|
||||
"dataMaskingState": "Disable"
|
||||
}
|
||||
}'
|
||||
```
|
||||
### Remove Row Level Security
|
||||
Ikiwa umeingia kama admin, unaweza kuondoa sera za admin mwenyewe na watumiaji wengine.
|
||||
```sql
|
||||
DROP SECURITY POLICY [Name_of_policy];
|
||||
```
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -4,22 +4,30 @@
|
||||
|
||||
## Azure CosmosDB
|
||||
|
||||
**Azure Cosmos DB** ni **hifadhi ya data ya NoSQL, ya uhusiano, na ya vector** inayosimamiwa kikamilifu, inatoa nyakati za majibu za milisekunde moja, upanuzi wa kiotomatiki, na upatikanaji unaoungwa mkono na SLA pamoja na usalama wa kiwango cha biashara. Inaruhusu maendeleo ya programu kwa haraka kupitia usambazaji wa data wa mikoa mingi, APIs za chanzo wazi, SDKs za lugha maarufu, na vipengele vya hifadhi ya data ya AI kama msaada wa vector uliojumuishwa na uunganisho usio na mshono wa Azure AI.
|
||||
**Azure Cosmos DB** ni **hifadhidata ya NoSQL, ya uhusiano, na ya vector** inayotolewa kwa usimamizi kamili, ikitoa nyakati za majibu za milisekunde moja, upanuzi wa kiotomatiki, na upatikanaji unaoungwa mkono na SLA pamoja na usalama wa kiwango cha biashara. Inaruhusu maendeleo ya programu kwa haraka kupitia usambazaji wa data wa mikoa mingi, APIs za chanzo wazi, SDKs za lugha maarufu, na vipengele vya hifadhidata vya AI kama vile msaada wa vector uliojumuishwa na uunganisho usio na mshono wa Azure AI.
|
||||
|
||||
Azure Cosmos DB inatoa APIs nyingi za hifadhi ya data ili kuunda mfano wa data halisi kwa kutumia nyaraka, uhusiano, funguo-thamani, grafu, na mifano ya data ya familia ya safu, ambapo APIs hizi ni NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin na Table.
|
||||
Azure Cosmos DB inatoa APIs nyingi za hifadhidata ili kuunda mfano wa data halisi kwa kutumia nyaraka, uhusiano, funguo-thamani, grafu, na mifano ya data ya familia ya safu, ambapo APIs hizi ni NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin na Table.
|
||||
|
||||
Moja ya vipengele muhimu vya CosmosDB ni Akaunti ya Azure Cosmos. **Akaunti ya Azure Cosmos**, inafanya kazi kama lango la kuingia kwenye hifadhi za data. Akaunti inamua mipangilio muhimu kama usambazaji wa kimataifa, viwango vya usawa, na API maalum itakayotumika, kama NoSQL. Kupitia akaunti, unaweza kuunda upya wa kimataifa ili kuhakikisha data inapatikana katika mikoa mingi kwa ufikiaji wa chini wa latency. Zaidi ya hayo, unaweza kuchagua kiwango cha usawa kinacholingana kati ya utendaji na usahihi wa data, huku chaguo zikisambaa kutoka kwa Usawa Mkali hadi Usawa wa Hatimaye.
|
||||
Moja ya vipengele muhimu vya CosmosDB ni Akaunti ya Azure Cosmos. **Akaunti ya Azure Cosmos**, inafanya kazi kama kiingilio kwa hifadhidata. Akaunti inamua mipangilio muhimu kama vile usambazaji wa kimataifa, viwango vya usawa, na API maalum itakayotumika, kama vile NoSQL. Kupitia akaunti, unaweza kuunda upya wa kimataifa ili kuhakikisha data inapatikana katika mikoa mingi kwa ufikiaji wa chini wa ucheleweshaji. Zaidi ya hayo, unaweza kuchagua kiwango cha usawa kinacholingana kati ya utendaji na usahihi wa data, huku chaguzi zikisambaa kutoka kwa Usawa Imara hadi Usawa wa Hatimaye.
|
||||
|
||||
### NoSQL (sql)
|
||||
API ya Azure Cosmos DB NoSQL ni API inayotegemea nyaraka inayotumia JSON kama muundo wake wa data. Inatoa sintaksia ya kuhoji inayofanana na SQL kwa kuhoji vitu vya JSON, na kuifanya iweze kutumika kwa kazi na data iliyopangwa na isiyo na mpangilio. Kituo cha huduma ni:
|
||||
Azure Cosmos DB inasaidia **vitambulisho vilivyotolewa na mtumiaji** na **vitambulisho vilivyotolewa na mfumo** ambavyo vinaundwa kiotomatiki na kuunganishwa na mzunguko wa maisha wa rasilimali, kuruhusu uthibitishaji salama wa msingi wa token wakati wa kuungana na huduma nyingine—ikiwa tu huduma hizo zina usambazaji wa jukumu sahihi. Hata hivyo, Cosmos DB haina mekanizma iliyojengwa ili kuuliza moja kwa moja vyanzo vya data vya nje kama Azure Blob Storage. Tofauti na vipengele vya meza za nje za SQL Server, Cosmos DB inahitaji data kuingizwa katika vyombo vyake kwa kutumia zana za nje kama vile Azure Data Factory, Zana ya Uhamasishaji wa Data, au skripti za kawaida kabla ya kuweza kuulizwa kwa uwezo wake wa kuuliza wa asili.
|
||||
|
||||
### NoSQL
|
||||
API ya NoSQL ya Azure Cosmos DB ni API inayotegemea nyaraka inayotumia JSON kama muundo wake wa data. Inatoa sintaksia ya kuuliza kama SQL kwa ajili ya kuuliza vitu vya JSON, na kuifanya iweze kutumika kwa kazi na data iliyopangwa na isiyo ya kawaida. Kituo cha huduma ni:
|
||||
```bash
|
||||
https://<Account-Name>.documents.azure.com:443/
|
||||
```
|
||||
#### Databases
|
||||
Katika akaunti, unaweza kuunda moja au zaidi ya hifadhidata, ambazo hutumikia kama makundi ya mantiki ya kontena. Hifadhidata inafanya kazi kama mpaka wa usimamizi wa rasilimali na ruhusa za mtumiaji. Hifadhidata zinaweza kushiriki kupitia kiwango kilichotolewa kati ya kontena zao au kugawa kiwango maalum kwa kontena binafsi.
|
||||
Katika akaunti, unaweza kuunda moja au zaidi ya hifadhidata, ambazo hutumikia kama makundi ya mantiki ya kontena. Hifadhidata inafanya kazi kama mpaka wa usimamizi wa rasilimali na ruhusa za mtumiaji. Hifadhidata zinaweza kushiriki kupitia uwezo wa kupangwa kati ya kontena zao au kugawa uwezo maalum kwa kontena binafsi.
|
||||
|
||||
#### Containers
|
||||
Kitengo cha msingi cha uhifadhi wa data ni kontena, ambacho kinashikilia hati za JSON na kimewekwa kiotomatiki kwa ajili ya uchunguzi wa ufanisi. Kontena zinaweza kupanuliwa kwa urahisi na kusambazwa kati ya sehemu, ambazo zinatolewa na funguo za sehemu zilizofafanuliwa na mtumiaji. Funguo za sehemu ni muhimu kwa kuhakikisha utendaji bora na usambazaji sawa wa data. Kwa mfano, kontena inaweza kuhifadhi data za wateja, huku "customerId" ikiwa kama funguo ya sehemu.
|
||||
Kitengo cha msingi cha uhifadhi wa data ni kontena, ambacho kinashikilia hati za JSON na kimewekwa kiotomatiki kwa ajili ya uchunguzi wa ufanisi. Kontena zinaweza kupanuliwa kwa urahisi na kusambazwa kati ya sehemu, ambazo zinatolewa na ufunguo wa sehemu ulioelezwa na mtumiaji. Ufunguzi wa sehemu ni muhimu kwa kuhakikisha utendaji bora na usambazaji sawa wa data. Kwa mfano, kontena inaweza kuhifadhi data za wateja, huku "customerId" ikiwa kama ufunguo wa sehemu.
|
||||
|
||||
#### Key Features
|
||||
**Global Distribution**: Wezesha au zima Geo-Redundancy kwa ajili ya nakala za mikoa tofauti na Multi-region Writes kwa ajili ya kuboresha upatikanaji.
|
||||
**Networking & Security**: kati ya mwisho wa umma (mitandao yote/teule) au binafsi kwa ajili ya muunganisho. Muunganisho salama na usimbaji wa TLS 1.2. Inasaidia CORS (Cross-Origin Resource Sharing) kwa ajili ya ufikiaji ulio na udhibiti wa rasilimali.
|
||||
**Backup & Recovery**: kutoka kwa sera za nakala za Periodic, Continuous (siku 7), au Continuous (siku 30) zenye vipindi na uhifadhi vinavyoweza kubadilishwa.
|
||||
**Data Encryption**: Funguo za huduma zinazodhibitiwa na chaguo au funguo zinazodhibitiwa na mteja (CMK) kwa ajili ya usimbaji (uchaguzi wa CMK hauwezi kubadilishwa).
|
||||
|
||||
#### Enumeration
|
||||
|
||||
@@ -42,21 +50,21 @@ az cosmosdb identity show --resource-group <ResourceGroupName> --name <AccountNa
|
||||
|
||||
|
||||
# CosmoDB (NoSQL)
|
||||
## List the SQL databases under an Azure Cosmos DB account.
|
||||
## List the NoSQL databases under an Azure Cosmos DB account.
|
||||
az cosmosdb sql database list --resource-group <ResourceGroupName> --account-name <AccountName>
|
||||
## List the SQL containers under an Azure Cosmos DB SQL database.
|
||||
## List the NoSQL containers under an Azure Cosmos DB NoSQL database.
|
||||
az cosmosdb sql container list --account-name <AccountName> --database-name <DatabaseName> --resource-group <ResourceGroupName>
|
||||
|
||||
## List all SQL role assignments under an Azure Cosmos DB
|
||||
## List all NoSQL role assignments under an Azure Cosmos DB
|
||||
az cosmosdb sql role assignment list --resource-group <ResourceGroupName> --account-name <AccountName>
|
||||
## List all SQL role definitions under an Azure Cosmos DB
|
||||
## List all NoSQL role definitions under an Azure Cosmos DB
|
||||
az cosmosdb sql role definition list --resource-group <ResourceGroupName> --account-name <AccountName>
|
||||
|
||||
## List the SQL stored procedures under an Azure Cosmos DB
|
||||
## List the NoSQL stored procedures under an Azure Cosmos DB
|
||||
az cosmosdb sql stored-procedure list --account-name <AccountName> --container-name <ContainerName> --database-name <DatabaseName> --resource-group <ResourceGroupName>
|
||||
## List the SQL triggers under an Azure Cosmos DB SQL container.
|
||||
## List the NoSQL triggers under an Azure Cosmos DB NoSQL container.
|
||||
az cosmosdb sql trigger list --account-name <AccountName> --container-name <ContainerName> --database-name <DatabaseName> --resource-group <ResourceGroupName>
|
||||
## List the SQL user defined functions under an Azure Cosmos DB SQL container
|
||||
## List the NoSQL user defined functions under an Azure Cosmos DB NoSQL container
|
||||
az cosmosdb sql user-defined-function list --account-name <AccountName> --container-name <ContainerName> --database-name <DatabaseName> --resource-group <ResourceGroupName>
|
||||
|
||||
```
|
||||
@@ -108,9 +116,9 @@ Get-AzCosmosDBSqlUserDefinedFunction -ResourceGroupName "<ResourceGroupName>" -A
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
#### Muunganisho
|
||||
#### Connection
|
||||
|
||||
Ili kuungana, maktaba ya azure-cosmosDB (pip install azure-cosmos) inahitajika. Zaidi ya hayo, mwisho wa huduma na ufunguo ni vipengele muhimu ili kufanikisha muunganisho.
|
||||
Ili kuungana na azure-cosmosDB (pip install azure-cosmos) maktaba inahitajika. Zaidi ya hayo, mwisho wa huduma na ufunguo ni vipengele muhimu ili kufanya muunganisho.
|
||||
```python
|
||||
from azure.cosmos import CosmosClient, PartitionKey
|
||||
|
||||
@@ -180,11 +188,22 @@ API ya MongoDB NoSQL ni API inayotegemea hati ambayo inatumia BSON (Binary JSON)
|
||||
mongodb://<hostname>:<port>/<database>
|
||||
```
|
||||
#### Databases
|
||||
Katika MongoDB, unaweza kuunda moja au zaidi ya hifadhidata ndani ya mfano. Kila hifadhidata inatumika kama kundi la kimantiki la makusanyo na inatoa mipaka kwa ajili ya shirika na usimamizi wa rasilimali. Hifadhidata husaidia kutenganisha na kusimamia data kwa kimantiki, kama vile kwa programu au miradi tofauti.
|
||||
Katika MongoDB, unaweza kuunda moja au zaidi ya hifadhidata ndani ya mfano. Kila hifadhidata inatumika kama kundi la kimantiki la makusanyo na inatoa mipaka kwa ajili ya shirika na usimamizi wa rasilimali. Hifadhidata husaidia kutenganisha na kusimamia data kimantiki, kama vile kwa programu au miradi tofauti.
|
||||
|
||||
#### Collections
|
||||
Kitengo cha msingi cha uhifadhi wa data katika MongoDB ni mkusanyiko, ambao unashikilia hati na umeundwa kwa ajili ya uchunguzi wa ufanisi na muundo wa skimu unaoweza kubadilishwa. Mkusanyiko ni wa kupanuka kwa urahisi na unaweza kusaidia operesheni zenye kiwango kikubwa katika nodi nyingi katika mpangilio wa kusambazwa.
|
||||
|
||||
#### Key Features of Request unit (RU) type
|
||||
**Global Distribution**: Wezesha au zima Geo-Redundancy kwa ajili ya nakala za kuvuka mikoa na Multi-region Writes kwa ajili ya kuboresha upatikanaji.
|
||||
**Networking & Security**: kati ya mwisho wa umma (mitandao yote/teule) au binafsi kwa ajili ya muunganisho. Muunganisho salama na usimbuaji wa TLS 1.2. Inasaidia CORS (Cross-Origin Resource Sharing) kwa ajili ya ufikiaji ulio na udhibiti wa rasilimali.
|
||||
**Backup & Recovery**: kutoka kwa sera za akiba za Kawaida, Endelevu (siku 7, bure), au Endelevu (siku 30, kulipwa) zenye vipindi na uhifadhi vinavyoweza kubadilishwa.
|
||||
**Data Encryption**: Funguo za huduma zinazodhibitiwa na chaguo au funguo zinazodhibitiwa na mteja (CMK) kwa ajili ya usimbuaji (uchaguzi wa CMK hauwezi kubadilishwa).
|
||||
|
||||
#### Key Features of vCore cluster type
|
||||
**Global Distribution**: Wezesha nakala ya kusoma katika eneo lingine la Azure kwa ajili ya upatikanaji wa juu na msaada wa kuhamasisha. Sanidi jina la nakala, eneo, na uhifadhi kwa kila shard.
|
||||
**Networking & Security**: Inasaidia ufikiaji wa umma kwa IP za umma zilizotolewa na ufikiaji wa binafsi. Punguza muunganisho kwa kutumia sheria za moto—kwa chaguo-msingi, hakuna IP za umma zinazoruhusiwa.
|
||||
**Encrypted Connections**: Inalazimisha usimbuaji wa TLS kwa ajili ya usafirishaji salama wa data.
|
||||
|
||||
#### Enumeration
|
||||
|
||||
{{#tabs }}
|
||||
@@ -309,7 +328,7 @@ print(f"Inserted document with ID: {result.inserted_id}")
|
||||
## ToDo
|
||||
|
||||
* Sehemu nyingine za DB hapa, meza, cassandra, gremlin...
|
||||
* Angalia post exploitation "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read" na ufafanuzi wa majukumu kwa sababu hapa huenda kuna privesc
|
||||
* Angalia post exploitation "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/write" && "Microsoft.DocumentDB/databaseAccounts/mongodbUserDefinitions/read" na ufafanuzi wa majukumu kwa sababu hapa kunaweza kuwa na privesc
|
||||
* Angalia urejeleaji
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
@@ -4,18 +4,23 @@
|
||||
|
||||
## Basic Information
|
||||
|
||||
Azure Logic Apps ni huduma ya msingi ya wingu inayotolewa na Microsoft Azure ambayo inawawezesha waendelezaji **kuunda na kuendesha mifumo ya kazi inayounganisha huduma mbalimbali**, vyanzo vya data, na programu. Mifumo hii ya kazi imeundwa ili **kujiendesha kwa mchakato wa biashara**, kupanga kazi, na kufanya uunganisho wa data kati ya majukwaa tofauti.
|
||||
Azure Logic Apps ni huduma ya msingi ya wingu inayotolewa na Microsoft Azure ambayo inawawezesha waendelezaji **kuunda na kuendesha michakato ya kazi inayounganisha huduma mbalimbali**, vyanzo vya data, na programu. Michakato hii ya kazi imeundwa ili **kujiendesha kwa mchakato wa biashara**, kupanga kazi, na kufanya uunganisho wa data kati ya majukwaa tofauti.
|
||||
|
||||
Logic Apps inatoa mbunifu wa kuona kuunda mifumo ya kazi na **mifungamano mingi iliyojengwa awali**, ambayo inafanya iwe rahisi kuungana na kuingiliana na huduma mbalimbali, kama vile Office 365, Dynamics CRM, Salesforce, na nyingine nyingi. Unaweza pia kuunda mifungamano ya kawaida kwa mahitaji yako maalum.
|
||||
Logic Apps inatoa mbunifu wa kuona kuunda michakato ya kazi na **mifungamano mingi iliyojengwa awali**, ambayo inafanya iwe rahisi kuungana na kuingiliana na huduma mbalimbali, kama vile Office 365, Dynamics CRM, Salesforce, na nyingine nyingi. Unaweza pia kuunda mifungamano ya kawaida kwa mahitaji yako maalum.
|
||||
|
||||
Unapounda Logic App, lazima uunde au uunganishe akaunti ya kuhifadhi ya nje ambayo inahifadhi hali ya mchakato wa kazi, historia ya uendeshaji, na vitu. Hifadhi hii inaweza kuundwa na mipangilio ya uchunguzi kwa ajili ya ufuatiliaji na inaweza kulindwa kwa vizuizi vya ufikiaji wa mtandao au kuunganishwa kwenye mtandao wa virtual ili kudhibiti trafiki ya kuingia na kutoka.
|
||||
|
||||
### Managed Identities
|
||||
Logic Apps ina **utambulisho wa usimamizi uliopewa mfumo** unaohusishwa na mzunguko wake wa maisha. Wakati umewezeshwa, inapata ID ya Kiobjekti (principal) ya kipekee ambayo inaweza kutumika na Azure RBAC kutoa ruhusa zinazohitajika ili kufikia huduma nyingine za Azure kwa usalama. Hii inondoa haja ya kuhifadhi akiba katika msimbo kwa sababu utambulisho unathibitishwa kupitia Microsoft Entra ID. Zaidi ya hayo, unaweza pia kutumia **utambulisho wa usimamizi wa mtumiaji**, ambao unaweza kushirikiwa kati ya rasilimali nyingi. Utambulisho huu unaruhusu michakato ya kazi na Logic Apps kuingiliana kwa usalama na mifumo ya nje, kuhakikisha kuwa udhibiti wa ufikiaji na ruhusa unasimamiwa kwa kati kupitia mfumo wa usalama wa Azure.
|
||||
|
||||
### Examples
|
||||
|
||||
- **Automating Data Pipelines**: Logic Apps inaweza kujiendesha **mchakato wa uhamishaji na mabadiliko ya data** kwa kushirikiana na Azure Data Factory. Hii ni muhimu kwa kuunda mifumo ya data inayoweza kupanuka na kuaminika ambayo inahamisha na kubadilisha data kati ya hifadhi mbalimbali za data, kama vile Azure SQL Database na Azure Blob Storage, kusaidia katika uchambuzi na operesheni za akili ya biashara.
|
||||
- **Integrating with Azure Functions**: Logic Apps inaweza kufanya kazi pamoja na Azure Functions kuendeleza **programu za kisasa zinazoendeshwa na matukio ambazo zinaweza kupanuka kadri inavyohitajika** na kuunganishwa kwa urahisi na huduma nyingine za Azure. Mfano wa matumizi ni kutumia Logic App kuanzisha Azure Function kama jibu kwa matukio fulani, kama vile mabadiliko katika akaunti ya Azure Storage, kuruhusu usindikaji wa data wa kidinamik.
|
||||
- **Automating Data Pipelines**: Logic Apps inaweza kujiendesha **mchakato wa uhamishaji na mabadiliko ya data** kwa kushirikiana na Azure Data Factory. Hii ni muhimu kwa kuunda michakato ya data inayoweza kupanuka na kuaminika ambayo inahamisha na kubadilisha data kati ya hifadhi mbalimbali za data, kama vile Azure SQL Database na Azure Blob Storage, kusaidia katika uchambuzi na operesheni za akili ya biashara.
|
||||
- **Integrating with Azure Functions**: Logic Apps inaweza kufanya kazi pamoja na Azure Functions kuendeleza **programu za kisasa, zinazotegemea matukio ambazo zinaweza kupanuka kadri inavyohitajika** na kuunganishwa kwa urahisi na huduma nyingine za Azure. Mfano wa matumizi ni kutumia Logic App kuanzisha Azure Function kama jibu kwa matukio fulani, kama vile mabadiliko katika akaunti ya Hifadhi ya Azure, kuruhusu usindikaji wa data wa kidinamik.
|
||||
|
||||
### Visualize a LogicAPP
|
||||
|
||||
Ni rahisi kuona LogicApp kwa picha:
|
||||
Inawezekana kuona LogicApp kwa picha:
|
||||
|
||||
<figure><img src="../../../images/image (197).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
@@ -23,9 +28,9 @@ au kuangalia msimbo katika sehemu ya "**Logic app code view**".
|
||||
|
||||
### SSRF Protection
|
||||
|
||||
Hata kama utapata **Logic App ikiwa na udhaifu wa SSRF**, huwezi kupata akreditivu kutoka kwa metadata kwani Logic Apps haiwezeshi hilo.
|
||||
Hata kama unapata **Logic App inayoathirika na SSRF**, huwezi kupata akiba kutoka kwa metadata kwani Logic Apps haiwezi kuruhusu hilo.
|
||||
|
||||
Kwa mfano, kitu kama hiki hakitatoa token:
|
||||
Kwa mfano, kitu kama hiki hakiwezi kurudisha token:
|
||||
```bash
|
||||
# The URL belongs to a Logic App vulenrable to SSRF
|
||||
curl -XPOST 'https://prod-44.westus.logic.azure.com:443/workflows/2d8de4be6e974123adf0b98159966644/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=_8_oqqsCXc0u2c7hNjtSZmT0uM4Xi3hktw6Uze0O34s' -d '{"url": "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&resource=https://management.azure.com/"}' -H "Content-type: application/json" -v
|
||||
@@ -37,10 +42,14 @@ Kuna chaguzi kadhaa za mwenyeji:
|
||||
* **Consumption**
|
||||
- **Multi-tenant**: inatoa rasilimali za kompyuta za pamoja, inafanya kazi katika wingu la umma, na inafuata mfano wa bei kulingana na operesheni. Hii ni bora kwa kazi nyepesi na za gharama nafuu.
|
||||
* **Standard**
|
||||
- **Workflow Service Plan**: rasilimali za kompyuta zilizotengwa na uunganisho wa VNET kwa ajili ya mtandao na malipo kwa kila mfano wa mpango wa huduma za kazi. Inafaa kwa kazi zinazohitaji zaidi udhibiti.
|
||||
- **App Service Environment V3** rasilimali za kompyuta zilizotengwa zikiwa na kutengwa kamili na uwezo wa kupanuka. Pia inajumuisha VNET kwa ajili ya mtandao na inatumia mfano wa bei kulingana na mifano ya App Service ndani ya mazingira. Hii ni bora kwa programu za kiwango cha biashara zinazohitaji kutengwa kubwa.
|
||||
- **Workflow Service Plan**: rasilimali za kompyuta zilizotengwa zikiwa na ushirikiano wa VNET kwa ajili ya mtandao na malipo kwa kila mfano wa mpango wa huduma ya kazi. Inafaa kwa kazi zinazohitaji udhibiti zaidi.
|
||||
- **App Service Environment V3** rasilimali za kompyuta zilizotengwa zikiwa na kutengwa kamili na uwezo wa kupanuka. Pia inashirikiana na VNET kwa ajili ya mtandao na inatumia mfano wa bei kulingana na mifano ya Huduma ya Programu ndani ya mazingira. Hii ni bora kwa programu za kiwango cha biashara zinazohitaji kutengwa kubwa.
|
||||
- **Hybrid** iliyoundwa kwa ajili ya usindikaji wa ndani na msaada wa wingu nyingi. Inaruhusu rasilimali za kompyuta zinazodhibitiwa na mteja zikiwa na ufikiaji wa mtandao wa ndani na inatumia Kubernetes Event-Driven Autoscaling (KEDA).
|
||||
|
||||
### Workflows
|
||||
|
||||
Workflows katika Azure Logic Apps ni michakato ya kiotomatiki ya msingi inayoratibu vitendo kati ya huduma mbalimbali. Workflow inaanza na kichocheo—tukio au ratiba—na kisha inatekeleza mfululizo wa vitendo, kama vile kuita APIs, kusindika data, au kuingiliana na huduma nyingine za Azure. Workflows zinaweza kufafanuliwa kwa njia ya kuona kwa kutumia mbunifu au kupitia msimbo (m定义 ya JSON) na zinadhibitiwa kupitia amri kama az logic workflow create, az logic workflow show, na az logic workflow update. Pia zinasaidia usimamizi wa utambulisho (kupitia kikundi cha utambulisho) ili kusimamia ruhusa na ushirikiano na rasilimali za nje kwa usalama.
|
||||
|
||||
### Enumeration
|
||||
|
||||
{{#tabs }}
|
||||
@@ -141,13 +150,13 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "<ResourceGroupName>" -Name "<Lo
|
||||
**Akaunti za Uunganisho**, ni kipengele cha Azure Logic Apps. Akaunti za Uunganisho zinatumika kuwezesha uunganisho wa kiwango cha biashara kwa kuwezesha uwezo wa juu wa B2B, kama vile EDI, AS2, na usimamizi wa muundo wa XML. Akaunti za Uunganisho ni kontena katika Azure ambazo zinahifadhi vitu vifuatavyo vinavyotumika kwa Logic Apps:
|
||||
|
||||
* Mifano: Simamia mifano ya XML kwa ajili ya kuthibitisha na kushughulikia ujumbe katika akaunti yako ya uunganisho.
|
||||
* Ramani: Sanidi mabadiliko yanayotegemea XSLT kubadilisha muundo wa data ndani ya mifumo yako ya uunganisho.
|
||||
* Mkusanyiko: Simamia mkusanyiko wa akaunti za uunganisho ili kuboresha mantiki na usindikaji wa data.
|
||||
* Ramani: Sanidi mabadiliko yanayotegemea XSLT kubadilisha muundo wa data ndani ya mchakato wako wa uunganisho.
|
||||
* Mkusanyiko: Simamia mkusanyiko wa akaunti ya uunganisho ili kuboresha mantiki na usindikaji wa data.
|
||||
* Vyeti: Shughulikia vyeti kwa ajili ya kuficha na kusaini ujumbe, kuhakikisha mawasiliano salama.
|
||||
* Washirika: Simamia taarifa za washirika wa biashara kwa ajili ya miamala ya B2B, kuwezesha uunganisho usio na mshono.
|
||||
* Makubaliano: Sanidi sheria na mipangilio ya kubadilishana data na washirika wa biashara (mfano, EDI, AS2).
|
||||
* Mipangilio ya Kundi: Simamia mipangilio ya usindikaji wa kundi ili kuunganisha na kushughulikia ujumbe kwa ufanisi.
|
||||
* RosettaNet PIP: Sanidi Mchakato wa Kiolesura cha Washirika wa RosettaNet (PIPs) kwa ajili ya kuweka kiwango cha mawasiliano ya B2B.
|
||||
* RosettaNet PIP: Sanidi Mchakato wa Kiunganishi wa Washirika wa RosettaNet (PIPs) kwa ajili ya kuweka kiwango cha mawasiliano ya B2B.
|
||||
|
||||
#### Uhesabu
|
||||
```bash
|
||||
|
||||
@@ -11,15 +11,15 @@ Azure Database for MySQL ni huduma ya hifadhidata ya uhusiano inayosimamiwa kika
|
||||
- Inafaa kwa programu zenye mzigo unaoweza kutabiriwa.
|
||||
* **Flexible Server**:
|
||||
- Inatoa udhibiti zaidi juu ya usimamizi wa hifadhidata na usanidi.
|
||||
- Inasaidia upatikanaji wa juu (sawa na eneo na redundant ya eneo).
|
||||
- Vipengele vinajumuisha upanuzi wa elastic, usimamizi wa patch, na kuboresha mzigo wa kazi.
|
||||
- Inasaidia upatikanaji wa juu (same-zone na zone-redundant).
|
||||
- Vipengele vinajumuisha upanuzi wa elastic, usimamizi wa patch, na kuboresha mzigo.
|
||||
- Inatoa kazi ya kusitisha/kuzindua kwa ajili ya akiba ya gharama.
|
||||
|
||||
### Key Features
|
||||
* **Server Management**: Kipengele cha **ad-admin** kinaruhusu kusimamia wasimamizi wa Azure Active Directory (AAD) kwa seva za MySQL, kikitoa udhibiti juu ya ufikiaji wa kiutawala kupitia akreditif za AAD, wakati kipengele cha **identity** kinawawezesha kugawa na kusimamia Azure Managed Identities, kikitoa uthibitisho salama bila akreditif kwa ajili ya kufikia rasilimali za Azure.
|
||||
* **Lifecycle Management**: chaguzi za kuanzisha au kusitisha seva, kufuta mfano wa seva inayoweza kubadilishwa, kuanzisha tena seva ili haraka kutekeleza mabadiliko ya usanidi, na kusubiri kuhakikisha seva inakidhi masharti maalum kabla ya kuendelea na scripts za automatisering.
|
||||
* **Security and Networking**: inaweza kusimamia sheria za firewall za seva kwa ajili ya ufikiaji salama wa hifadhidata na kuondoa usanidi wa mtandao wa virtual inapohitajika.
|
||||
* **Data Protection and Backup**: inajumuisha chaguzi za kusimamia nakala za seva inayoweza kubadilishwa kwa ajili ya urejeleaji wa data, kufanya geo-restore ili kurejesha seva katika eneo tofauti, kusafirisha nakala za seva kwa matumizi ya nje (katika Preview), na kurejesha seva kutoka kwa nakala hadi wakati maalum.
|
||||
* **Server Management**: Kipengele cha **ad-admin** kinaruhusu kusimamia wasimamizi wa Azure Entra ID kwa seva za MySQL, kikitoa udhibiti juu ya ufikiaji wa kiutawala kupitia akreditivu za Entra ID. Mysql inasaidia User Managed Identities, inayotumika kuthibitisha bila haja ya akreditivu, na inaweza kutumika na huduma nyingine.
|
||||
* **Lifecycle Management**: chaguzi za kuanzisha au kusitisha seva, kufuta mfano wa seva ya kubadilika, kuanzisha tena seva ili haraka kutekeleza mabadiliko ya usanidi, na kusubiri kuhakikisha seva inakidhi masharti maalum kabla ya kuendelea na scripts za automatisering.
|
||||
* **Security and Networking**: Linda seva yako kwa kupunguza mawasiliano kupitia sheria za firewall ambazo zinaruhusu tu anwani maalum za IP za umma, au kwa kutumia mwisho wa kibinafsi ambao unashirikisha seva yako katika mtandao wa virtual. Mawasiliano yote yanahifadhiwa kwa usalama kwa kutumia TLS 1.2 encryption. Hifadhidata, nakala za akiba, na kumbukumbu zinahifadhiwa kwa usalama kwa kutumia funguo zinazosimamiwa na huduma au funguo za kawaida.
|
||||
* **Data Protection and Backup**: inajumuisha chaguzi za kusimamia nakala za akiba za seva ya kubadilika kwa ajili ya urejeleaji wa data, kufanya geo-restore ili kurejesha seva katika eneo tofauti, kusafirisha nakala za akiba za seva kwa matumizi ya nje (katika Preview), na kurejesha seva kutoka kwa akiba hadi wakati maalum.
|
||||
|
||||
### Enumeration
|
||||
|
||||
@@ -95,9 +95,9 @@ Get-AzMySqlFlexibleServerLog -ResourceGroupName <resource-group-name> -ServerNam
|
||||
{{#endtab }}
|
||||
{{#endtabs }}
|
||||
|
||||
### Muunganisho
|
||||
### Connection
|
||||
|
||||
Kwa nyongeza rdbms-connect unaweza kufikia hifadhidata kwa:
|
||||
Kwa nyongeza rdbms-connect unaweza kufikia database kwa:
|
||||
```bash
|
||||
az mysql flexible-server connect -n <server-name> -u <username> -p <password> --interactive
|
||||
|
||||
@@ -114,7 +114,7 @@ Au kwa kutumia nyongeza ya asili ya MySQL
|
||||
```bash
|
||||
mysql -h <server-name>.mysql.database.azure.com -P 3306 -u <username> -p
|
||||
```
|
||||
Pia unaweza kutekeleza maswali na github lakini nenosiri na mtumiaji pia vinahitajika. Unahitaji kuandaa faili la sql lenye swali la kutekeleza na kisha:
|
||||
Pia unaweza kutekeleza maswali na github lakini nenosiri na mtumiaji pia vinahitajika. Unahitaji kuandaa faili ya sql yenye swali la kutekeleza na kisha:
|
||||
```bash
|
||||
# Setup
|
||||
az mysql flexible-server deploy setup \
|
||||
@@ -133,7 +133,7 @@ az mysql flexible-server deploy run \
|
||||
--action-name <action-name> \
|
||||
--branch <branch-name>
|
||||
```
|
||||
## Kuinua Haki
|
||||
## Kuinua Mamlaka
|
||||
|
||||
{{#ref}}
|
||||
../az-privilege-escalation/az-mysql-privesc.md
|
||||
@@ -147,7 +147,7 @@ az mysql flexible-server deploy run \
|
||||
|
||||
## Kufanya
|
||||
|
||||
* Angalia njia ya kupata ufikiaji na mysql flexible-server ad-admin ili kuthibitisha ni njia ya kuinua haki
|
||||
* Angalia njia ya kupata ufikiaji na mysql flexible-server ad-admin ili kuthibitisha ni njia ya kuinua mamlaka
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -5,24 +5,25 @@
|
||||
## Azure PostgreSQL
|
||||
**Azure Database for PostgreSQL** ni huduma ya **database ya uhusiano inayosimamiwa kikamilifu inayotegemea PostgreSQL** Community Edition. Imeundwa kutoa upanuzi, usalama, na kubadilika kwa mahitaji mbalimbali ya programu. Kama ilivyo kwa Azure MySQL, PostgreSQL inatoa mifano miwili ya kutekeleza:
|
||||
|
||||
* **Single Server** (katika njia ya kustaafu):
|
||||
- Imeboreshwa kwa ajili ya kutekeleza PostgreSQL kwa urahisi na gharama nafuu.
|
||||
- Ina vipengele vya akiba za kiotomatiki, ufuatiliaji wa msingi, na upatikanaji wa juu.
|
||||
* **Seva Moja** (katika njia ya kustaafu):
|
||||
- Imeboreshwa kwa kutekeleza PostgreSQL kwa urahisi na gharama nafuu.
|
||||
- Ina vipengele vya nakala za otomatiki, ufuatiliaji wa msingi, na upatikanaji wa juu.
|
||||
- Inafaa kwa programu zenye mzigo unaoweza kutabiriwa.
|
||||
* **Flexible Server**:
|
||||
* **Seva Inayobadilika**:
|
||||
- Inatoa udhibiti mkubwa juu ya usimamizi wa database na usanidi.
|
||||
- Inasaidia upatikanaji wa juu, ndani ya eneo moja na kati ya maeneo.
|
||||
- Ina vipengele vya upanuzi wa elastic, matengenezo ya kiotomatiki, na kazi za kuokoa gharama.
|
||||
- Ina vipengele vya upanuzi wa elastic, matengenezo ya otomatiki, na kazi za kuokoa gharama.
|
||||
- Inaruhusu kuanzisha na kusitisha seva ili kuboresha gharama.
|
||||
|
||||
### Key Features
|
||||
|
||||
* **Custom Maintenance Windows**: Panga masasisho ili kupunguza usumbufu.
|
||||
* **Active Monitoring**: Fikia metriki na kumbukumbu za kina ili kufuatilia na kuboresha utendaji wa database.
|
||||
* **Dirisha la Matengenezo la Kijadi**: Panga masasisho ili kupunguza usumbufu.
|
||||
* **Ufuatiliaji wa Kazi**: Fikia metriki na kumbukumbu za kina ili kufuatilia na kuboresha utendaji wa database.
|
||||
* **Stop/Start Server**: Watumiaji wanaweza kusitisha na kuanzisha seva.
|
||||
* **Automatic Backups**: Akiba za kila siku zilizojengwa ndani na muda wa uhifadhi unaoweza kubadilishwa hadi siku 35.
|
||||
* **Role-Based Access**: Dhibiti ruhusa za watumiaji na ufikiaji wa kiutawala kupitia Azure Active Directory.
|
||||
* **Security and Networking**: inaweza kusimamia sheria za firewall za seva kwa ufikiaji salama wa database na kuondoa usanidi wa mtandao wa virtual inapohitajika.
|
||||
* **Nakala za Otomatiki**: Nakala za kila siku zilizojengwa ndani zikiwa na muda wa uhifadhi unaoweza kubadilishwa hadi siku 35.
|
||||
* **Upatikanaji Kulingana na Majukumu**: Dhibiti ruhusa za watumiaji na upatikanaji wa kiutawala kupitia Azure Active Directory.
|
||||
* **Usalama na Mtandao**: inaweza kusimamia sheria za firewall za seva kwa upatikanaji salama wa database na kuondoa usanidi wa mtandao wa virtual inapohitajika.
|
||||
* **Identities Zinazosimamiwa**: ruhusu seva yako kuthibitisha kwa usalama na huduma nyingine za Azure bila kuhifadhi akidi. Inaruhusu kufikia huduma nyingine ambazo zitakuwa na utambulisho wa usimamizi uliotolewa na mfumo na kufikiwa na huduma nyingine zikiwa na utambulisho mwingine ambao ni utambulisho wa usimamizi uliotolewa na mtumiaji.
|
||||
|
||||
### Enumeration
|
||||
|
||||
|
||||
@@ -4,148 +4,96 @@
|
||||
|
||||
## Azure SQL
|
||||
|
||||
Azure SQL ni familia ya bidhaa zinazodhibitiwa, salama, na za akili zinazotumia **SQL Server database engine katika wingu la Azure**. Hii inamaanisha huna haja ya kuwa na wasiwasi kuhusu usimamizi wa kimwili wa seva zako, na unaweza kuzingatia kusimamia data yako.
|
||||
Azure SQL ni familia ya bidhaa zinazodhibitiwa, salama, na za akili zinazotumia **injini ya database ya SQL Server katika wingu la Azure**. Hii ina maana kwamba hauhitaji kuwa na wasiwasi kuhusu usimamizi wa kimwili wa seva zako, na unaweza kuzingatia kusimamia data yako.
|
||||
|
||||
Azure SQL ina matoleo makuu manne:
|
||||
Azure SQL ina ofa kuu nne:
|
||||
|
||||
1. **Azure SQL Server**: Azure SQL Server ni huduma ya hifadhidata ya uhusiano inayodhibitiwa ambayo inarahisisha uwekaji na usimamizi wa hifadhidata za SQL Server, ikiwa na usalama wa ndani na vipengele vya utendaji.
|
||||
2. **Azure SQL Database**: Hii ni **huduma ya hifadhidata inayodhibitiwa kikamilifu**, ambayo inakuwezesha kuhifadhi hifadhidata binafsi katika wingu la Azure. Inatoa akili ya ndani inayojifunza mifumo yako ya kipekee ya hifadhidata na kutoa mapendekezo maalum na uboreshaji wa kiotomatiki.
|
||||
3. **Azure SQL Managed Instance**: Hii ni kwa ajili ya uwekaji wa kiwango kikubwa, wa jumla wa SQL Server. Inatoa karibu 100% ulinganifu na SQL Server ya hivi punde kwenye tovuti (Enterprise Edition) Database Engine, ambayo inatoa utekelezaji wa mtandao wa ndani (VNet) unaoshughulikia wasiwasi wa kawaida wa usalama, na mfano wa biashara unaofaa kwa wateja wa SQL Server kwenye tovuti.
|
||||
4. **Azure SQL Server kwenye Azure VMs**: Hii ni Miundombinu kama Huduma (IaaS) na ni bora kwa uhamishaji ambapo unataka **udhibiti juu ya mfumo wa uendeshaji na mfano wa SQL Server**, kama ilivyokuwa seva inayofanya kazi kwenye tovuti.
|
||||
1. **Azure SQL Server**: Seva inahitajika kwa **kupeleka na kusimamia** databases za SQL Server.
|
||||
2. **Azure SQL Database**: Hii ni **huduma ya database inayodhibitiwa kikamilifu**, ambayo inakuwezesha kuhifadhi databases binafsi katika wingu la Azure.
|
||||
3. **Azure SQL Managed Instance**: Hii ni kwa ajili ya matumizi makubwa, kupeleka kwa kiwango cha SQL Server nzima.
|
||||
4. **Azure SQL Server kwenye Azure VMs**: Hii ni bora kwa usanifu ambapo unataka **udhibiti juu ya mfumo wa uendeshaji** na mfano wa SQL Server.
|
||||
|
||||
### Azure SQL Server
|
||||
### Vipengele vya Usalama wa SQL Server
|
||||
|
||||
Azure SQL Server ni mfumo wa usimamizi wa hifadhidata ya uhusiano (RDBMS) unaotumia Transact-SQL kwa shughuli za data na umejengwa kushughulikia mifumo ya kiwango cha biashara. Inatoa vipengele vya nguvu kwa utendaji, usalama, upanuzi, na ujumuishaji na programu mbalimbali za Microsoft. Hifadhidata za Azure SQL zinategemea seva hii, kwani hizi zimejengwa kwenye seva hizi na ni kiingilio kwa mtumiaji kufikia hifadhidata.
|
||||
**Upatikanaji wa Mtandao:**
|
||||
|
||||
#### Network
|
||||
- Kiwango cha umma (inaweza kupunguza upatikanaji kwa mitandao maalum).
|
||||
- Kiwango cha kibinafsi.
|
||||
- Pia inawezekana kupunguza muunganisho kulingana na majina ya kikoa.
|
||||
- Pia inawezekana kuruhusu huduma za Azure kuipata (kama kutumia mhariri wa Maswali katika lango au kuruhusu VM ya Azure kuungana).
|
||||
|
||||
**Network Connectivity**: Chagua ikiwa kuwezesha ufikiaji kupitia kiunganishi cha umma au kiunganishi cha kibinafsi. Ikiwa unachagua Hakuna ufikiaji, hakuna viunganishi vinavyoundwa hadi ipangwe kwa mikono:
|
||||
- Hakuna ufikiaji: Hakuna viunganishi vinavyoundwa, ikizuia muunganisho wa kuingia hadi ipangwe kwa mikono.
|
||||
- Kiunganishi cha umma: Inaruhusu muunganisho wa moja kwa moja kupitia intaneti ya umma, chini ya sheria za firewall na mipangilio mingine ya usalama.
|
||||
- Kiunganishi cha kibinafsi: Kinakata ufikiaji kwa mtandao wa kibinafsi.
|
||||
**Mbinu za Uthibitishaji:**
|
||||
|
||||
**Connection Policy**: Mwelekeo wa jinsi wateja wanavyowasiliana na seva ya hifadhidata ya SQL:
|
||||
- Default: Inatumia sera ya Redirect kwa muunganisho wote wa wateja kutoka ndani ya Azure (isipokuwa wale wanaotumia Kiunganishi za Kibinafsi) na sera ya Proxy kwa muunganisho kutoka nje ya Azure.
|
||||
- Proxy: Inarudisha muunganisho wote wa wateja kupitia lango la Hifadhidata ya Azure SQL.
|
||||
- Redirect: Wateja wanajiunga moja kwa moja na node inayohifadhi hifadhidata.
|
||||
- Uthibitishaji wa Microsoft **Entra pekee**: Unahitaji kuonyesha wahusika wa Entra ambao watakuwa na upatikanaji wa huduma.
|
||||
- **Uthibitishaji wa SQL na Microsoft Entra**: Uthibitishaji wa jadi wa SQL na jina la mtumiaji na nenosiri pamoja na Microsoft Entra.
|
||||
- **Uthibitishaji wa SQL pekee**: Ruhusu upatikanaji kupitia watumiaji wa database pekee.
|
||||
|
||||
#### Authentication Methods
|
||||
Azure SQL inasaidia mbinu mbalimbali za uthibitishaji ili kulinda ufikiaji wa hifadhidata:
|
||||
Kumbuka kwamba ikiwa uthibitishaji wowote wa SQL unaruhusiwa mtumiaji wa admin (jina la mtumiaji + nenosiri) anahitaji kuonyeshwa na ikiwa uthibitishaji wa Entra ID umechaguliwa inahitajika pia kuonyesha angalau wahusika mmoja mwenye upatikanaji wa admin.
|
||||
|
||||
- **Microsoft Entra-only authentication**: Inatumia Microsoft Entra (zamani Azure AD) kwa usimamizi wa kitambulisho wa kati na kuingia mara moja.
|
||||
- **Both SQL and Microsoft Entra authentication**: Inakuwezesha kutumia uthibitishaji wa jadi wa SQL pamoja na Microsoft Entra.
|
||||
- **SQL authentication**: Inategemea tu majina ya watumiaji na nywila za SQL Server.
|
||||
**Ushirikishaji:**
|
||||
|
||||
#### Security features
|
||||
- Inaitwa "Ushirikishaji wa data wazi" na inashirikisha databases, nakala za akiba, na kumbukumbu wakati wa kupumzika.
|
||||
- Kama kawaida, funguo za usimamizi wa Azure zinatumika kwa chaguo-msingi lakini funguo za ushirikishaji zinazodhibitiwa na mteja (CMEK) zinaweza pia kutumika.
|
||||
**Identities Zinazosimamiwa:**
|
||||
|
||||
Seva za SQL zina **Managed Identities**. Identiti zinazodhibitiwa zinamruhusu seva yako kuthibitisha kwa usalama na huduma nyingine za Azure bila kuhifadhi hati za siri. Inaruhusu kufikia huduma nyingine ambazo zitakuwa Identiti iliyotolewa na Mfumo na kufikiwa na huduma nyingine kwa Identiti nyingine ambayo ni Identiti iliyotolewa na Mtumiaji. Baadhi ya huduma ambazo SQL inaweza kufikia ni Akaunti ya Hifadhi ya Azure (V2), Hifadhi ya Data ya Azure Gen2, SQL Server, Oracle, Teradata, MongoDB au Cosmos DB API kwa MongoDB, ODBC ya Kawaida, Operesheni za Bulk na hifadhi ya vitu inayofanana na S3.
|
||||
- Inawezekana kutoa MIs zinazodhibitiwa na mfumo na mtumiaji.
|
||||
- Inatumika kupata funguo za ushirikishaji (ikiwa CMEK inatumika) na huduma nyingine kutoka kwa databases.
|
||||
- Ikiwa UMI zaidi ya moja imetolewa, inawezekana kuonyesha ile ya chaguo-msingi ya kutumia.
|
||||
- Inawezekana kuunda kitambulisho cha mteja kilichounganishwa kwa upatikanaji wa wapangaji tofauti.
|
||||
|
||||
Vipengele vingine vya usalama ambavyo seva ya SQL ina ni:
|
||||
**Microsoft Defender:**
|
||||
|
||||
- **Firewall Rules**: Sheria za firewall zinadhibiti ufikiaji wa seva yako kwa kuzuia au kuruhusu trafiki. Hii ni kipengele cha hifadhidata yenyewe pia.
|
||||
- **Transparent Data Encryption (TDE)**: TDE inashughulikia hifadhidata zako, nakala za akiba, na kumbukumbu wakati wa kupumzika ili kulinda data yako hata kama hifadhi imeharibiwa. Inaweza kufanywa kwa funguo zinazodhibitiwa na huduma au funguo zinazodhibitiwa na mteja.
|
||||
- **Microsoft Defender for SQL**: Microsoft Defender for SQL inaweza kuwezeshwa kutoa tathmini za udhaifu na ulinzi wa hatari za juu kwa seva.
|
||||
- Inafaida kwa "kupunguza hatari zinazoweza kutokea za database, na kugundua shughuli zisizo za kawaida"
|
||||
- Tutazungumzia Defender katika somo lake mwenyewe (inaweza kuwezeshwa katika huduma nyingine nyingi za Azure)
|
||||
|
||||
#### Deployment Models
|
||||
**Nakala za Akiba:**
|
||||
- Mara kwa mara ya akiba inasimamiwa katika sera za uhifadhi.
|
||||
|
||||
Azure SQL Database inasaidia chaguzi za uwekaji zinazoweza kubadilishwa ili kukidhi mahitaji mbalimbali:
|
||||
**Databases zilizofutwa:**
|
||||
- Inawezekana kurejesha DBs ambazo zimefutwa kutoka kwa nakala za akiba zilizopo.
|
||||
|
||||
- **Single Database**:
|
||||
- Hifadhidata iliyotengwa kikamilifu yenye rasilimali zake maalum.
|
||||
- Nzuri kwa huduma ndogo au programu zinazohitaji chanzo kimoja cha data.
|
||||
- **Elastic Pool**:
|
||||
- Inaruhusu hifadhidata nyingi kushiriki rasilimali ndani ya mchanganyiko.
|
||||
- Inagharimu kidogo kwa programu zenye mifumo ya matumizi inayobadilika kati ya hifadhidata nyingi.
|
||||
## Azure SQL Database
|
||||
|
||||
### Azure SQL Database
|
||||
**Azure SQL Database** ni **jukwaa la database linalosimamiwa kikamilifu kama huduma (PaaS)** ambalo linatoa suluhisho za database za uhusiano zinazoweza kupanuka na salama. Imejengwa kwenye teknolojia za hivi punde za SQL Server na inondoa haja ya usimamizi wa miundombinu, na kuifanya kuwa chaguo maarufu kwa programu zinazotegemea wingu.
|
||||
|
||||
**Azure SQL Database** ni **jukwaa la hifadhidata linalodhibitiwa kikamilifu kama huduma (PaaS)** linalotoa suluhisho za hifadhidata za uhusiano zinazoweza kupanuka na salama. Imejengwa kwenye teknolojia za hivi punde za SQL Server na kuondoa haja ya usimamizi wa miundombinu, na kuifanya kuwa chaguo maarufu kwa programu zinazotegemea wingu.
|
||||
Ili kuunda database ya SQL inahitajika kuonyesha seva ya SQL ambapo itakuwa ikihifadhiwa.
|
||||
|
||||
#### Key Features
|
||||
### Vipengele vya Usalama wa Database ya SQL
|
||||
|
||||
- **Always Up-to-Date**: Inafanya kazi kwenye toleo la hivi punde la SQL Server na inapokea vipengele na maboresho mapya kiotomatiki.
|
||||
- **PaaS Capabilities**: Inatoa upatikanaji wa juu, nakala za akiba, na masasisho.
|
||||
- **Data Flexibility**: Inasaidia data za uhusiano na zisizo za uhusiano (mfano, grafu, JSON, nafasi, na XML).
|
||||
- **Daima Iko na Sasisho**: Inafanya kazi kwenye toleo la hivi punde la SQL Server na inapokea vipengele na patches mpya kiotomatiki.
|
||||
- **Vipengele vya usalama vya SQL Server vilivyorithiwa:**
|
||||
- Uthibitishaji (SQL na/au Entra ID)
|
||||
- Identiti Zinazosimamiwa zilizotolewa
|
||||
- Vikwazo vya mtandao
|
||||
- Ushirikishaji
|
||||
- Nakala za akiba
|
||||
- …
|
||||
- **Ukarabati wa Data:** Chaguo ni za ndani, eneo, Geo au Geo-Zone redundant.
|
||||
- **Ledger:** Inathibitisha kwa njia ya cryptographic uaminifu wa data, kuhakikisha kwamba mabadiliko yoyote yanagundulika. Inafaida kwa kifedha, matibabu na shirika lolote linalosimamia data nyeti.
|
||||
|
||||
#### Network
|
||||
Database ya SQL inaweza kuwa sehemu ya **elastic Pool**. Mipango ya elastic ni suluhisho la gharama nafuu kwa kusimamia databases nyingi kwa kushiriki rasilimali za kompyuta zinazoweza kubadilishwa (eDTUs) na uhifadhi kati yao, huku bei ikitegemea rasilimali zilizotolewa badala ya idadi ya databases.
|
||||
|
||||
**Network Connectivity**: Chagua ikiwa kuwezesha ufikiaji kupitia kiunganishi cha umma au kiunganishi cha kibinafsi. Ikiwa unachagua Hakuna ufikiaji, hakuna viunganishi vinavyoundwa hadi ipangwe kwa mikono:
|
||||
- Hakuna ufikiaji: Hakuna viunganishi vinavyoundwa, ikizuia muunganisho wa kuingia hadi ipangwe kwa mikono.
|
||||
- Kiunganishi cha umma: Inaruhusu muunganisho wa moja kwa moja kupitia intaneti ya umma, chini ya sheria za firewall na mipangilio mingine ya usalama.
|
||||
- Kiunganishi cha kibinafsi: Kinakata ufikiaji kwa mtandao wa kibinafsi.
|
||||
#### Usalama wa Kiwango cha Safu ya Azure SQL (Masking) & Usalama wa Kiwango cha Mstari
|
||||
|
||||
**Connection Policy**: Mwelekeo wa jinsi wateja wanavyowasiliana na seva ya hifadhidata ya SQL:
|
||||
- Default: Inatumia sera ya Redirect kwa muunganisho wote wa wateja kutoka ndani ya Azure (isipokuwa wale wanaotumia Kiunganishi za Kibinafsi) na sera ya Proxy kwa muunganisho kutoka nje ya Azure.
|
||||
- Proxy: Inarudisha muunganisho wote wa wateja kupitia lango la Hifadhidata ya Azure SQL.
|
||||
- Redirect: Wateja wanajiunga moja kwa moja na node inayohifadhi hifadhidata.
|
||||
**Masking ya data ya dynamic** ya Azure SQL ni kipengele kinachosaidia **kulinda taarifa nyeti kwa kuzificha** kutoka kwa watumiaji wasioidhinishwa. Badala ya kubadilisha data halisi, inaficha data inayonyeshwa kwa njia ya dynamic, kuhakikisha kwamba maelezo nyeti kama nambari za kadi za mkopo yanakosekana.
|
||||
|
||||
#### Security Features
|
||||
**Masking ya Data ya Dynamic** inahusisha watumiaji wote isipokuwa wale ambao hawajafichwa (watumiaji hawa wanahitaji kuonyeshwa) na wasimamizi. Ina chaguo la usanidi linaloeleza ni watumiaji gani wa SQL wanaotengwa kutoka kwa masking ya data ya dynamic, huku **wasimamizi wakitengwa kila wakati**.
|
||||
|
||||
- **Microsoft Defender for SQL**: inaweza kuwezeshwa kutoa tathmini za udhaifu na ulinzi wa hatari za juu.
|
||||
- **Ledger**: inathibitisha kwa njia ya kisasa uadilifu wa data, kuhakikisha kwamba udanganyifu wowote unagundulika.
|
||||
- **Server Identity**: inatumia identiti zinazotolewa na mfumo na identiti zinazotolewa na mtumiaji kuwezesha ufikiaji wa kati
|
||||
- **Transparent Data Encryption Key Management**: inashughulikia hifadhidata, nakala za akiba, na kumbukumbu wakati wa kupumzika bila kuhitaji mabadiliko yoyote kwenye programu. Uthibitishaji unaweza kuwezeshwa kwenye kila hifadhidata, na ikiwa imepangiliwa kwenye kiwango cha hifadhidata, mipangilio hii inakataa mipangilio ya kiwango cha seva.
|
||||
- **Always Encrypted**: ni seti ya vipengele vya ulinzi wa data vya juu vinavyotenganisha umiliki wa data kutoka kwa usimamizi wa data. Hii inahakikisha kwamba wasimamizi au waendeshaji wenye mamlaka ya juu hawawezi kufikia data nyeti.
|
||||
|
||||
#### Purchasing Models / Service Tiers
|
||||
|
||||
- **vCore-based**: Chagua kompyuta, kumbukumbu, na hifadhi kwa uhuru. Kwa Madhumuni ya Kawaida, Kazi ya Biashara (ikiwa na uhimilivu wa juu na utendaji kwa programu za OLTP), na inapanuka hadi 128 TB ya hifadhi.
|
||||
- **DTU-based**: Inakusanya kompyuta, kumbukumbu, na I/O katika ngazi za kudumu. Rasilimali zilizolingana kwa kazi za kawaida.
|
||||
- Kawaida: Rasilimali zilizolingana kwa kazi za kawaida.
|
||||
- Premium: Utendaji wa juu kwa kazi zinazohitaji.
|
||||
|
||||
#### Scalable performance and pools
|
||||
|
||||
- **Single Databases**: Kila hifadhidata imejengwa kwa kujitenga na ina rasilimali zake maalum za kompyuta, kumbukumbu, na hifadhi. Rasilimali zinaweza kupanuliwa kwa njia ya kidinamikia (kuongezeka au kupungua) bila wakati wa kupumzika (1–128 vCores, 32 GB–4 TB hifadhi, na hadi 128 TB).
|
||||
- **Elastic Pools**: Shiriki rasilimali kati ya hifadhidata nyingi katika mchanganyiko ili kuongeza ufanisi na kuokoa gharama. Rasilimali zinaweza pia kupanuliwa kwa njia ya kidinamikia kwa mchanganyiko mzima.
|
||||
- **Service Tier Flexibility**: Anza kidogo na hifadhidata moja katika kiwango cha Madhumuni ya Kawaida. Pandisha hadi Kazi ya Biashara au kiwango cha Hyperscale kadri mahitaji yanavyokua.
|
||||
- **Scaling Options**: Mipango ya Kupanda kwa Kidinamikia au Mbadala za Autoscaling.
|
||||
|
||||
#### Built-In Monitoring & Optimization
|
||||
|
||||
- **Query Store**: Inafuatilia matatizo ya utendaji, inatambua watumiaji wakuu wa rasilimali, na inatoa mapendekezo yanayoweza kutekelezwa.
|
||||
- **Automatic Tuning**: Inaboresha utendaji kwa njia ya proaktiki kwa vipengele kama vile uundaji wa kiotomatiki na marekebisho ya mpango wa maswali.
|
||||
- **Telemetry Integration**: Inasaidia ufuatiliaji kupitia Azure Monitor, Event Hubs, au Azure Storage kwa maarifa yaliyobinafsishwa.
|
||||
|
||||
#### Disaster Recovery & Availability
|
||||
|
||||
- **Automatic backups**: Hifadhidata ya SQL inafanya kiotomatiki nakala za akiba kamili, tofauti, na kumbukumbu za muamala za hifadhidata.
|
||||
- **Point-in-Time Restore**: Rejesha hifadhidata kwa hali yoyote ya zamani ndani ya kipindi cha uhifadhi wa nakala za akiba.
|
||||
- **Geo-Redundancy**
|
||||
- **Failover Groups**: Inarahisisha urejeleaji wa dharura kwa kuunganisha hifadhidata kwa ajili ya kuhamasisha kiotomatiki kati ya maeneo.
|
||||
**Usalama wa Kiwango cha Mstari wa Azure SQL (RLS)** ni kipengele kinachodhibiti **mifumo ambayo mtumiaji anaweza kuona au kubadilisha**, kuhakikisha kila mtumiaji anaona tu data inayohusiana nao. Kwa kuunda sera za usalama zenye vichujio au vikwazo, mashirika yanaweza kutekeleza upatikanaji wa kina katika kiwango cha database.
|
||||
|
||||
### Azure SQL Managed Instance
|
||||
|
||||
**Azure SQL Managed Instance** ni injini ya hifadhidata kama Huduma (PaaS) inayotoa karibu 100% ulinganifu na SQL Server na inashughulikia kazi nyingi za usimamizi (mfano, kuboresha, kuboresha, nakala za akiba, ufuatiliaji) kiotomatiki. Inatoa suluhisho la wingu kwa kuhamasisha hifadhidata za SQL Server za kwenye tovuti kwa mabadiliko madogo.
|
||||
|
||||
#### Service Tiers
|
||||
|
||||
- **General Purpose**: Chaguo la gharama nafuu kwa programu zenye mahitaji ya kawaida ya I/O na ucheleweshaji.
|
||||
- **Business Critical**: Chaguo la utendaji wa juu lenye ucheleweshaji wa chini wa I/O kwa kazi muhimu.
|
||||
|
||||
#### Advanced Security Features
|
||||
|
||||
* **Threat Protection**: Ulinzi wa Hatari wa Juu unatoa tahadhari kwa shughuli za kushuku na mashambulizi ya SQL injection. Ukaguzi wa kufuatilia na kurekodi matukio ya hifadhidata kwa ajili ya kufuata sheria.
|
||||
* **Access Control**: Uthibitishaji wa Microsoft Entra kwa usimamizi wa kitambulisho wa kati. Usalama wa Kiwango cha Mstari na Kuficha Data kwa Njia ya Kijadi kwa udhibiti wa ufikiaji wa kina.
|
||||
* **Backups**: Nakala za akiba za kiotomatiki na za mikono zikiwa na uwezo wa kurejesha kwa wakati.
|
||||
**Azure SQL Managed Instances** ni kwa ajili ya matumizi makubwa, kupeleka kwa kiwango cha SQL Server nzima. Inatoa karibu asilimia 100 ya ufanisi na SQL Server ya hivi punde kwenye eneo (Enterprise Edition) Injini ya Database, ambayo inatoa utekelezaji wa mtandao wa ndani (VNet) unaoshughulikia wasiwasi wa kawaida wa usalama, na mfano wa biashara unaofaa kwa wateja wa SQL Server wa eneo.
|
||||
|
||||
### Azure SQL Virtual Machines
|
||||
|
||||
**Azure SQL Virtual Machines** ni bora kwa uhamishaji ambapo unataka **udhibiti juu ya mfumo wa uendeshaji na mfano wa SQL Server**, kama ilivyokuwa seva inayofanya kazi kwenye tovuti. Inaweza kuwa na ukubwa tofauti wa mashine, na uteuzi mpana wa matoleo na toleo la SQL Server.
|
||||
**Azure SQL Virtual Machines** inaruhusu **udhibiti wa mfumo wa uendeshaji** na mfano wa SQL Server, kwani VM itazinduliwa katika huduma ya VM inayofanya kazi SQL server.
|
||||
|
||||
#### Key Features
|
||||
Wakati VM ya SQL inaundwa inawezekana **kuchagua mipangilio yote ya VM** (kama ilivyoonyeshwa katika somo la VM) ambayo itakuwa ikihifadhi SQL server.
|
||||
- Hii ina maana kwamba VM itakuwa ikipata baadhi ya VNet(s), inaweza kuwa na **Identities Zinazosimamiwa** zilizounganishwa nayo, inaweza kuwa na sehemu za faili zilizowekwa… ikifanya **kuhamasisha kutoka kwa SQL** hadi VM kuwa ya kuvutia sana.
|
||||
- Zaidi ya hayo, inawezekana kuunda kitambulisho cha programu na siri ili **kuruhusu SQL kufikia vault maalum ya funguo**, ambayo inaweza kuwa na taarifa nyeti.
|
||||
|
||||
**Automated Backup**: Panga nakala za akiba za hifadhidata za SQL.
|
||||
**Automatic Patching**: Inafanya kiotomatiki usakinishaji wa masasisho ya Windows na SQL Server wakati wa dirisha la matengenezo.
|
||||
**Azure Key Vault Integration**: Inapangilia kiotomatiki Key Vault kwa SQL Server VMs.
|
||||
**Defender for Cloud Integration**: Tazama mapendekezo ya Defender for SQL katika lango.
|
||||
**Version/Edition Flexibility**: Badilisha toleo la SQL Server au metadata ya toleo bila kuhamasisha VM.
|
||||
|
||||
#### Security Features
|
||||
|
||||
**Microsoft Defender for SQL**: Maarifa na tahadhari za usalama.
|
||||
**Azure Key Vault Integration**: Hifadhi salama ya hati za siri na funguo za usimbuaji.
|
||||
**Microsoft Entra (Azure AD)**: Uthibitishaji na udhibiti wa ufikiaji.
|
||||
Pia inawezekana kuunda mambo kama **sasisho za SQL za kiotomatiki**, **nakala za akiba za kiotomatiki**, **uthibitishaji wa Entra ID** na vipengele vingi vya huduma nyingine za SQL.
|
||||
|
||||
## Enumeration
|
||||
|
||||
@@ -216,6 +164,30 @@ az sql midb show --resource-group <res-grp> --name <name>
|
||||
# Lis all sql VM
|
||||
az sql vm list
|
||||
az sql vm show --resource-group <res-grp> --name <name>
|
||||
|
||||
# List schema by the database
|
||||
az rest --method get \
|
||||
--uri "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<serverName>/databases/<databaseName>/schemas?api-version=2021-11-01"
|
||||
|
||||
# Get tables of a database with the schema
|
||||
az rest --method get \
|
||||
--uri "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<serverName>/databases/<databaseName>/schemas/<schemaName>/tables?api-version=2021-11-01"
|
||||
|
||||
# Get columns of a database
|
||||
az rest --method get \
|
||||
--uri "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<serverName>/databases/<databaseName>/columns?api-version=2021-11-01"
|
||||
|
||||
# Get columns of a table
|
||||
az rest --method get \
|
||||
--uri "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<serverName>/databases/<databaseName>/schemas/<schemaName>/tables/<tableName>/columns?api-version=2021-11-01"
|
||||
|
||||
# Get DataMaskingPolicies of a database
|
||||
az rest --method get \
|
||||
--uri "https://management.azure.com/subscriptions/9291ff6e-6afb-430e-82a4-6f04b2d05c7f/resourceGroups/Resource_Group_1/providers/Microsoft.Sql/servers/getstorageserver/databases/masktest/dataMaskingPolicies/Default?api-version=2021-11-01"
|
||||
|
||||
az rest --method get \
|
||||
--uri "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<serverName>/databases/<databaseName>/dataMaskingPolicies/Default/rules?api-version=2021-11-01"
|
||||
|
||||
```
|
||||
{{#endtab}}
|
||||
|
||||
@@ -260,7 +232,32 @@ Get-AzSqlVM
|
||||
{{#endtab}}
|
||||
{{#endtabs}}
|
||||
|
||||
### Unganisha na kuendesha maswali ya SQL
|
||||
Zaidi ya hayo, ikiwa unataka kuhesabu Dynamic Data Masking, na sera za Kiwango cha Safu, ndani ya hifadhidata, unaweza kuuliza:
|
||||
```sql
|
||||
--Enumerates the masked columns
|
||||
SELECT
|
||||
OBJECT_NAME(mc.object_id) AS TableName,
|
||||
c.name AS ColumnName,
|
||||
mc.masking_function AS MaskingFunction
|
||||
FROM sys.masked_columns AS mc
|
||||
JOIN sys.columns AS c
|
||||
ON mc.object_id = c.object_id
|
||||
AND mc.column_id = c.column_id
|
||||
|
||||
--Enumerates Row level policies
|
||||
SELECT
|
||||
sp.name AS PolicyName,
|
||||
sp.is_enabled,
|
||||
sp.create_date,
|
||||
sp.modify_date,
|
||||
OBJECT_NAME(sp.object_id) AS TableName,
|
||||
sp2.predicate_definition AS PredicateDefinition
|
||||
FROM sys.security_policies AS sp
|
||||
JOIN sys.security_predicates AS sp2
|
||||
ON sp.object_id = sp2.object_id;
|
||||
|
||||
```
|
||||
### Connect and run SQL queries
|
||||
|
||||
Unaweza kupata mfuatano wa muunganisho (ukijumuisha akidi) kutoka kwa mfano [kuhesabu Az WebApp](az-app-services.md):
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user