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

This commit is contained in:
Translator
2025-03-21 09:02:14 +00:00
parent 11ca3970f0
commit 46b9ef16cf

View File

@@ -8,9 +8,9 @@ Azure SQL è una famiglia di prodotti gestiti, sicuri e intelligenti che utilizz
Azure SQL consiste in quattro offerte principali:
1. **Azure SQL Server**: È necessario un server per il **deployment e la gestione** dei database SQL Server.
1. **Azure SQL Server**: Un server è necessario per il **deployment e la gestione** dei database SQL Server.
2. **Azure SQL Database**: Questo è un **servizio di database completamente gestito**, che ti consente di ospitare database individuali nel cloud Azure.
3. **Azure SQL Managed Instance**: Questo è per implementazioni su larga scala, a livello di intera istanza SQL Server.
3. **Azure SQL Managed Instance**: Questo è per deployment su larga scala, a livello di intera istanza SQL Server.
4. **Azure SQL Server su Azure VMs**: Questo è migliore per architetture in cui desideri **controllo sul sistema operativo** e sull'istanza SQL Server.
### Caratteristiche di Sicurezza di SQL Server
@@ -20,7 +20,7 @@ Azure SQL consiste in quattro offerte principali:
- Endpoint pubblico (può limitare l'accesso a reti specifiche).
- Endpoint privati.
- È anche possibile limitare le connessioni in base ai nomi di dominio.
- È anche possibile consentire ai servizi Azure di accedervi (come utilizzare l'editor di query nel portale o consentire a una VM Azure di connettersi).
- È anche possibile consentire ai servizi Azure di accedervi (come per utilizzare l'editor di query nel portale o per consentire a una VM Azure di connettersi).
**Metodi di autenticazione:**
@@ -95,7 +95,7 @@ Per creare un database SQL è necessario indicare il server SQL dove sarà ospit
- Backup
-
- **Ridondanza dei dati:** Le opzioni sono locale, zona, Geo o Geo-Zona ridondante.
- **Registro:** Verifica crittograficamente l'integrità dei dati, assicurando che qualsiasi manomissione venga rilevata. Utile per finanziarie, mediche e qualsiasi organizzazione che gestisce dati sensibili.
- **Ledger:** Verifica crittograficamente l'integrità dei dati, assicurando che qualsiasi manomissione venga rilevata. Utile per organizzazioni finanziarie, mediche e qualsiasi organizzazione che gestisce dati sensibili.
Un database SQL potrebbe far parte di un **elastic Pool**. Gli elastic pool sono una soluzione economica per gestire più database condividendo risorse di calcolo (eDTUs) e di archiviazione configurabili tra di loro, con prezzi basati esclusivamente sulle risorse allocate piuttosto che sul numero di database.
@@ -103,19 +103,19 @@ Un database SQL potrebbe far parte di un **elastic Pool**. Gli elastic pool sono
Il **mascheramento dei dati dinamico** di Azure SQL è una funzionalità che aiuta a **proteggere informazioni sensibili nascondendole** agli utenti non autorizzati. Invece di alterare i dati reali, maschera dinamicamente i dati visualizzati, assicurando che dettagli sensibili come i numeri di carta di credito siano oscurati.
Il **Mascheramento dei Dati Dinamico** si applica a tutti gli utenti tranne a quelli che sono non mascherati (questi utenti devono essere indicati) e agli amministratori. Ha l'opzione di configurazione che specifica quali utenti SQL sono esenti dal mascheramento dinamico dei dati, con **amministratori sempre esclusi**.
Il **Mascheramento dei Dati Dinamico** influisce su tutti gli utenti tranne quelli che sono non mascherati (questi utenti devono essere indicati) e sugli amministratori. Ha l'opzione di configurazione che specifica quali utenti SQL sono esenti dal mascheramento dei dati dinamico, con **amministratori sempre esclusi**.
La **Sicurezza a Livello di Riga di Azure SQL (RLS)** è una funzionalità che **controlla quali righe un utente può visualizzare o modificare**, assicurando che ogni utente veda solo i dati rilevanti per lui. Creando politiche di sicurezza con filtri o predicati di blocco, le organizzazioni possono applicare un accesso dettagliato a livello di database.
La **Sicurezza a Livello di Riga di Azure SQL (RLS)** è una funzionalità che **controlla quali righe un utente può visualizzare o modificare**, assicurando che ogni utente veda solo i dati a lui pertinenti. Creando politiche di sicurezza con predicati di filtro o blocco, le organizzazioni possono applicare un accesso dettagliato a livello di database.
### Azure SQL Managed Instance
Le **Azure SQL Managed Instances** sono per distribuzioni su larga scala, a livello di intera istanza di SQL Server. Forniscono una compatibilità quasi totale con l'ultima versione del motore di database SQL Server on-premises (Enterprise Edition), che offre un'implementazione nativa della rete virtuale (VNet) che affronta comuni preoccupazioni di sicurezza, e un modello di business favorevole per i clienti di SQL Server on-premises.
Le **Azure SQL Managed Instances** sono per distribuzioni su larga scala, a livello di intera istanza di SQL Server. Forniscono quasi il 100% di compatibilità con l'ultima versione del motore di database SQL Server on-premises (Enterprise Edition), che offre un'implementazione nativa di rete virtuale (VNet) che affronta comuni preoccupazioni di sicurezza, e un modello di business favorevole per i clienti di SQL Server on-premises.
### Azure SQL Virtual Machines
Le **Azure SQL Virtual Machines** consentono di **controllare il sistema operativo** e l'istanza di SQL Server, poiché una VM verrà avviata nel servizio VM che esegue il server SQL.
Quando viene creata una macchina virtuale SQL, è possibile **selezionare tutte le impostazioni della VM** (come mostrato nella lezione sulla VM) che ospiterà il server SQL.
Quando viene creata una SQL Virtual Machine è possibile **selezionare tutte le impostazioni della VM** (come mostrato nella lezione sulla VM) che ospiterà il server SQL.
- Questo significa che la VM accederà a alcune VNet, potrebbe avere **Identità Gestite collegate** ad essa, potrebbe avere condivisioni di file montate… rendendo un **pivoting dal SQL** alla VM molto interessante.
- Inoltre, è possibile configurare un ID app e un segreto per **consentire al SQL di accedere a un specifico key vault**, che potrebbe contenere informazioni sensibili.
@@ -209,7 +209,7 @@ az rest --method get \
# 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"
--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 \
--uri "https://management.azure.com/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Sql/servers/<serverName>/databases/<databaseName>/dataMaskingPolicies/Default/rules?api-version=2021-11-01"
@@ -258,7 +258,7 @@ Get-AzSqlVM
{{#endtab}}
{{#endtabs}}
Inoltre, se desideri enumerare il Dynamic Data Masking e le politiche a livello di riga all'interno del database, puoi eseguire la query:
Inoltre, se desideri enumerare il Dynamic Data Masking e le politiche a livello di riga all'interno del database, puoi eseguire la seguente query:
```sql
--Enumerates the masked columns
SELECT