Translated ['src/pentesting-cloud/azure-security/az-services/az-sql.md']

This commit is contained in:
Translator
2025-03-21 09:00:28 +00:00
parent df31dc31f1
commit ae2f443f4f

View File

@@ -4,7 +4,7 @@
## Azure SQL ## Azure SQL
Azure SQL je porodica upravljanih, sigurnih i inteligentnih proizvoda koji koriste **SQL Server bazu podataka u Azure cloud-u**. To znači da ne morate brinuti o fizičkom upravljanju vašim serverima, a možete se fokusirati na upravljanje vašim podacima. Azure SQL je porodica upravljanih, sigurnih i inteligentnih proizvoda koji koriste **SQL Server bazu podataka u Azure cloud-u**. To znači da ne morate brinuti o fizičkoj administraciji vaših servera, a možete se fokusirati na upravljanje vašim podacima.
Azure SQL se sastoji od četiri glavne ponude: Azure SQL se sastoji od četiri glavne ponude:
@@ -19,14 +19,14 @@ Azure SQL se sastoji od četiri glavne ponude:
- Javni krajnji tačka (može ograničiti pristup na specifične mreže). - Javni krajnji tačka (može ograničiti pristup na specifične mreže).
- Privatne krajnje tačke. - Privatne krajnje tačke.
- Takođe je moguće ograničiti konekcije na osnovu imena domena. - Takođe je moguće ograničiti veze na osnovu imena domena.
- Takođe je moguće dozvoliti Azure uslugama da mu pristupe (kao što je korišćenje Query editora u portalu ili dozvoliti Azure VM-u da se poveže). - Takođe je moguće dozvoliti Azure uslugama da mu pristupe (kao što je korišćenje Query editora u portalu ili dozvoliti Azure VM-u da se poveže).
**Metode autentifikacije:** **Metode autentifikacije:**
- Microsoft **Entra-only** autentifikacija: Potrebno je da navedete Entra principe koji će imati pristup usluzi. - Microsoft **Entra-only** autentifikacija: Potrebno je da navedete Entra principe koji će imati pristup usluzi.
- **Obe SQL i Microsoft Entra** autentifikacije: Tradicionalna SQL autentifikacija sa korisničkim imenom i lozinkom uz Microsoft Entra. - **Obe SQL i Microsoft Entra** autentifikacije: Tradicionalna SQL autentifikacija sa korisničkim imenom i lozinkom uz Microsoft Entra.
- **Samo SQL** autentifikacija: Dozvoljava pristup samo putem korisnika baze podataka. - **Samo SQL** autentifikacija: Dozvoliti pristup samo putem korisnika baze podataka.
Napomena da ako je bilo koja SQL autentifikacija dozvoljena, potrebno je navesti admin korisnika (korisničko ime + lozinka) i ako je izabrana Entra ID autentifikacija, takođe je potrebno navesti barem jednog principa sa admin pristupom. Napomena da ako je bilo koja SQL autentifikacija dozvoljena, potrebno je navesti admin korisnika (korisničko ime + lozinka) i ako je izabrana Entra ID autentifikacija, takođe je potrebno navesti barem jednog principa sa admin pristupom.
@@ -34,9 +34,9 @@ Napomena da ako je bilo koja SQL autentifikacija dozvoljena, potrebno je navesti
- Zove se “Transparentna enkripcija podataka” i enkriptuje baze podataka, rezervne kopije i logove u mirovanju. - Zove se “Transparentna enkripcija podataka” i enkriptuje baze podataka, rezervne kopije i logove u mirovanju.
- Kao i uvek, podrazumevano se koristi Azure upravljani ključ, ali se može koristiti i ključ za enkripciju koji upravlja kupac (CMEK). - Kao i uvek, podrazumevano se koristi Azure upravljani ključ, ali se može koristiti i ključ za enkripciju koji upravlja kupac (CMEK).
**Upravljane identitete:** **Upravljane Identitete:**
- Moguće je dodeliti sistemske i korisnički upravljane MI. - Moguće je dodeliti sistemske i korisnički upravljane MIs.
- Koristi se za pristup ključu za enkripciju (ako se koristi CMEK) i drugim uslugama iz baza podataka. - Koristi se za pristup ključu za enkripciju (ako se koristi CMEK) i drugim uslugama iz baza podataka.
- Za neke primere Azure usluga koje se mogu pristupiti iz baze podataka, proverite [ovu stranicu dokumenata](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql) - Za neke primere Azure usluga koje se mogu pristupiti iz baze podataka, proverite [ovu stranicu dokumenata](https://learn.microsoft.com/en-us/sql/t-sql/statements/create-external-data-source-transact-sql)
- Ako je dodeljeno više od jednog UMI, moguće je navesti podrazumevanu koju koristiti. - Ako je dodeljeno više od jednog UMI, moguće je navesti podrazumevanu koju koristiti.
@@ -87,15 +87,15 @@ Da bi se kreirala SQL baza podataka, potrebno je naznačiti SQL server na kojem
### SQL Database Security Features ### SQL Database Security Features
- **Uvek ažurirano**: Radi na najnovijoj stabilnoj verziji SQL Server-a i automatski prima nove funkcije i zakrpe. - **Uvek ažurirano**: Radi na najnovijoj stabilnoj verziji SQL Server-a i automatski prima nove funkcije i zakrpe.
- **Nasleđene sigurnosne funkcije SQL Server-a:** - **Nasleđene sigurnosne karakteristike SQL Server-a:**
- Autentifikacija (SQL i/ili Entra ID) - Autentifikacija (SQL i/ili Entra ID)
- Dodeljene upravljane identitete - Dodeljene upravljane identitete
- Mrežna ograničenja - Ograničenja mreže
- Enkripcija - Enkripcija
- Backup-ovi - Backup-ovi
- -
- **Redundancija podataka:** Opcije su lokalne, zonalne, Geo ili Geo-Zona redundantne. - **Redundancija podataka:** Opcije su lokalne, zonalne, Geo ili Geo-Zona redundantne.
- **Knjiga:** Kriptografski verifikuje integritet podataka, osiguravajući da se svako neovlašćeno menjanje otkrije. Korisno za finansijske, medicinske i svaku organizaciju koja upravlja osetljivim podacima. - **Knjiga:** Kriptografski verifikuje integritet podataka, osiguravajući da se svako manipulisanje otkrije. Korisno za finansijske, medicinske i svaku organizaciju koja upravlja osetljivim podacima.
SQL baza podataka može biti deo **elastičnog bazena**. Elastični bazeni su isplativo rešenje za upravljanje više baza podataka deljenjem konfigurisivih računarskih (eDTUs) i skladišnih resursa među njima, pri čemu se cena zasniva isključivo na dodeljenim resursima, a ne na broju baza podataka. SQL baza podataka može biti deo **elastičnog bazena**. Elastični bazeni su isplativo rešenje za upravljanje više baza podataka deljenjem konfigurisivih računarskih (eDTUs) i skladišnih resursa među njima, pri čemu se cena zasniva isključivo na dodeljenim resursima, a ne na broju baza podataka.
@@ -103,19 +103,19 @@ SQL baza podataka može biti deo **elastičnog bazena**. Elastični bazeni su is
**Dinamičko** maskiranje podataka **Azure SQL** je funkcija koja pomaže **u zaštiti osetljivih informacija skrivajući ih** od neovlašćenih korisnika. Umesto da menja stvarne podatke, dinamički maskira prikazane podatke, osiguravajući da su osetljivi detalji poput brojeva kreditnih kartica zamagljeni. **Dinamičko** maskiranje podataka **Azure SQL** je funkcija koja pomaže **u zaštiti osetljivih informacija skrivajući ih** od neovlašćenih korisnika. Umesto da menja stvarne podatke, dinamički maskira prikazane podatke, osiguravajući da su osetljivi detalji poput brojeva kreditnih kartica zamagljeni.
**Dinamičko maskiranje podataka** utiče na sve korisnike osim onih koji su nemaskirani (ti korisnici moraju biti naznačeni) i administratore. Ima opciju konfiguracije koja specificira koji SQL korisnici su izuzeti od dinamičkog maskiranja podataka, pri čemu su **administratori uvek isključeni**. **Dinamičko maskiranje podataka** utiče na sve korisnike osim onih koji su otkriveni (ti korisnici moraju biti naznačeni) i administratore. Ima opciju konfiguracije koja specificira koji SQL korisnici su izuzeti od dinamičkog maskiranja podataka, pri čemu su **administratori uvek isključeni**.
**Azure SQL Row Level Security (RLS)** je funkcija koja **kontroliše koje redove korisnik može da vidi ili menja**, osiguravajući da svaki korisnik vidi samo podatke relevantne za njega. Kreiranjem sigurnosnih politika sa filtrima ili blok predikatom, organizacije mogu primeniti preciznu kontrolu pristupa na nivou baze podataka. **Azure SQL Row Level Security (RLS)** je funkcija koja **kontroliše koje redove korisnik može da vidi ili menja**, osiguravajući da svaki korisnik vidi samo podatke relevantne za njega. Kreiranjem sigurnosnih politika sa filtrima ili blok predikatom, organizacije mogu primeniti preciznu kontrolu pristupa na nivou baze podataka.
### Azure SQL Managed Instance ### Azure SQL Managed Instance
**Azure SQL Managed Instances** su za veće razmere, celokupne implementacije SQL Server instance. Pruža skoro 100% kompatibilnost sa najnovijim SQL Server-om na lokaciji (Enterprise Edition) Database Engine, koji pruža nativnu implementaciju virtuelne mreže (VNet) koja rešava uobičajene sigurnosne probleme, i poslovni model povoljan za kupce SQL Server-a na lokaciji. **Azure SQL Managed Instances** su za veće razmere, celokupne SQL Server instance. Pruža skoro 100% kompatibilnost sa najnovijim SQL Server on-premises (Enterprise Edition) Database Engine, koji pruža nativnu implementaciju virtuelne mreže (VNet) koja rešava uobičajene sigurnosne probleme, i poslovni model povoljan za on-premises SQL Server korisnike.
### Azure SQL Virtual Machines ### Azure SQL Virtual Machines
**Azure SQL Virtual Machines** omogućava **kontrolu operativnog sistema** i SQL Server instance, jer će VM biti pokrenut u VM servisu koji pokreće SQL server. **Azure SQL Virtual Machines** omogućava **kontrolu operativnog sistema** i SQL Server instance, jer će VM biti pokrenut u VM servisu koji pokreće SQL server.
Kada se kreira SQL Virtual Machine, moguće je **izabrati sve postavke VM-a** (kao što je prikazano u lekciji o VM-ima) koji će hostovati SQL server. Kada se kreira SQL Virtual Machine, moguće je **izabrati sve postavke VM-a** (kao što je prikazano u lekciji o VM-u) koji će hostovati SQL server.
- To znači da će VM pristupati nekim VNet-ovima, može imati **pridružene upravljane identitete**, može imati montirane deljene foldere… što čini **pivotiranje sa SQL** na VM veoma zanimljivim. - To znači da će VM pristupati nekim VNet-ovima, može imati **pridružene upravljane identitete**, može imati montirane deljene foldere… što čini **pivotiranje sa SQL** na VM veoma zanimljivim.
- Štaviše, moguće je konfigurisati ID aplikacije i tajnu da **omogući SQL-u pristup određenom ključnom trezoru**, koji može sadržati osetljive informacije. - Štaviše, moguće je konfigurisati ID aplikacije i tajnu da **omogući SQL-u pristup određenom ključnom trezoru**, koji može sadržati osetljive informacije.
@@ -209,7 +209,7 @@ az rest --method get \
# Get DataMaskingPolicies of a database # Get DataMaskingPolicies of a database
az rest --method get \ 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" --uri "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<serverName>/databases/<databaseName>/dataMaskingPolicies/Default?api-version=2021-11-01"
az rest --method get \ 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" --uri "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<serverName>/databases/<databaseName>/dataMaskingPolicies/Default/rules?api-version=2021-11-01"
@@ -283,7 +283,7 @@ JOIN sys.security_predicates AS sp2
ON sp.object_id = sp2.object_id; ON sp.object_id = sp2.object_id;
``` ```
### Povežite se i izvršite SQL upite ### Povezivanje i izvršavanje SQL upita
Možete pronaći string za povezivanje (koji sadrži akreditive) iz primera [enumerating an Az WebApp](az-app-services.md): Možete pronaći string za povezivanje (koji sadrži akreditive) iz primera [enumerating an Az WebApp](az-app-services.md):
```bash ```bash