Condividi tramite


Per informazioni dettagliate, vedere Transparent Data Encryption con chiave gestita dal cliente

Si applica a:Database SQL di AzureIstanza gestita di SQL di Azure

Microsoft Entra ID, in precedenza Azure Active Directory, fornisce un'identità gestita automaticamente per l'autenticazione a qualsiasi servizio di Azure che supporta l'autenticazione di Microsoft Entra, ad esempio Azure Key Vault, senza esporre le credenziali nel codice. Per altre informazioni, vedere Tipi di identità gestita in Azure.

Esistono due tipi di identità gestite:

  • Assegnata dal sistema
  • Assegnata dall'utente

Per altre informazioni, consultare Identità gestite in Microsoft Entra ID per Azure SQL.

Per TDE con chiave gestita dal cliente (CMK) in Azure SQL, viene utilizzata un'identità gestita sul server per fornire diritti di accesso al server sul Key Vault o sul modulo di sicurezza hardware (HSM) gestito. Ad esempio, l'identità gestita assegnata dal sistema del server deve essere fornita con le autorizzazioni di Azure Key Vault prima di abilitare TDE con CMK nel server.

Oltre all'identità gestita assegnata dal sistema già supportata per TDE con CMK, è possibile utilizzare un'identità gestita assegnata dall'utente configurata sul server per consentire al server di accedere al Key Vault o al modulo di protezione hardware gestito. Un prerequisito per abilitare l'accesso al Key Vault o al modulo di protezione hardware gestito consiste nel garantire che all'identità gestita assegnata all'utente siano state fornite le autorizzazioni Get, wrapKey e unwrapKey sul Key Vault o sul modulo di protezione hardware gestito. Poiché l'identità gestita assegnata dall'utente è una risorsa autonoma che può essere creata e concessa l'accesso all'insieme di credenziali delle chiavi o all'HSM gestito, TDE con una chiave gestita dal cliente può ora essere abilitata al momento della creazione per il server o il database.

Nota

Per assegnare un'identità gestita assegnata dall'utente al server logico o all'istanza gestita, un utente deve avere il ruolo Controllo degli accessiCollaboratore SQL Server o Collaboratore Istanza gestita di SQL in base al ruolo di Azure insieme a qualsiasi altro ruolo controllo degli accessi in base al ruolo di Azure contenente l'azione Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action.

Vantaggi dell'uso della messaggistica unificata per TDE gestito dal cliente

  • Consente di preautorizzare l'insieme di credenziali delle chiavi o l'accesso al modulo di protezione hardware gestito per i server logici SQL di Azure o le istanze gestite di SQL di Azure creando un'identità gestita assegnata dall'utente e concedendole l'accesso all'insieme di credenziali delle chiavi o al modulo di protezione hardware gestito, anche prima della creazione del server o del database.

  • Consente la creazione di un server logico di Azure SQL con TDE e chiave gestita dal cliente (CMK) abilitati.

  • Consente di assegnare la stessa identità gestita assegnata dall'utente a più server, eliminando la necessità di attivare singolarmente l'identità gestita assegnata dal sistema per ogni server logico SQL di Azure o Istanza SQL gestita di Azure e fornendo l'accesso a un insieme di credenziali come un Key Vault o a un HSM gestito.

  • Fornisce la funzionalità di imporre l'utilizzo di CMK al momento della creazione del server con un criterio predefinito di Azure disponibile.

Considerazioni sull'uso della messaggistica unificata per TDE gestito dal cliente

  • Per impostazione predefinita, TDE in Azure SQL usa l'identità gestita assegnata dall'utente primaria impostata nel server per l'accesso all'insieme di credenziali delle chiavi o al modulo di protezione hardware gestito. Se al server non sono state assegnate identità utente, l'identità gestita dal sistema del server viene usata per l'accesso al Key Vault o all'HSM gestito.
  • Quando si usa un'identità gestita assegnata dall'utente per TDE con CMK, assegnare l'identità al server e impostarla come identità primaria per il server.
  • L'identità gestita assegnata dall'utente primario richiede l'accesso continuo al Key Vault o all'HSM gestito (get, wrapKey, unwrapKey autorizzazioni). Se l'accesso dell'identità al Key Vault o al Managed HSM viene revocato o non sono state fornite autorizzazioni sufficienti, il database passerà allo stato Inaccessibile.
  • Se l'identità gestita assegnata dall'utente primaria viene aggiornata a un'altra identità gestita assegnata dall'utente, è necessario assegnare alla nuova identità le autorizzazioni necessarie per il Key Vault o l'HSM gestito prima di aggiornare l'identità primaria.
  • Per passare dal server assegnato dall'utente a un'identità gestita assegnata dal sistema per l'accesso all'insieme di credenziali o all'HSM gestito, fornire all'identità gestita assegnata dal sistema le autorizzazioni necessarie per l'insieme di credenziali o l'HSM gestito, quindi rimuovere tutte le identità gestite assegnate dall'utente presenti sul server.

Importante

L'identità gestita assegnata dall'utente primaria usata per TDE con CMK non deve essere cancellata da Azure. Eliminando questa identità, il server perderà l'accesso al Key Vault o al modulo di protezione hardware gestito e i database diventeranno inaccessibili.

Limitazioni e problemi noti

  • Se il Key Vault o l'HSM gestito si trova dietro una rete virtuale che usa un firewall, è necessario abilitare l'opzione Consenti ai servizi Microsoft attendibili di superare questo firewall nel menu Rete del Key Vault o dell'HSM gestito se si vuole usare un'identità gestita assegnata dall'utente o un'identità gestita assegnata dal sistema. Dopo aver abilitato questa opzione, le chiavi disponibili non possono essere elencate nel menu TDE di SQL Server nel portale di Azure. Per impostare una singola chiave gestita dal cliente, è necessario usare un identificatore chiave. Quando l'opzione Consenti ai servizi Microsoft attendibili di ignorare questo firewall non è abilitata, viene restituito l'errore seguente:
    • Failed to save Transparent Data Encryption settings for SQL resource: <ServerName>. Error message: The managed identity with ID '/subscriptions/subscriptionID/resourcegroups/resource_name/providers/Microsoft.ManagedIdentity/userAssignedIdentities/umi_name' requires the following Azure Key Vault permissions: 'Get, WrapKey, UnwrapKey' to the key 'https://keyvault_name/keys/key_name'. Please grant the missing permissions to the identity. Additionally ensure the key is not expired and is not disabled. For expired key, please extend the key expiry time so that SQL can use it to perform wrap and unwrap operations. If your key vault is behind a virtual network or firewall, ensure you select the 'Allow trusted Microsoft services to bypass this firewall' option. (https://aka.ms/sqltdebyokcreateserver).
    • Se si verifica l'errore precedente, verificare se il key vault o l'HSM gestito si trova dietro una rete virtuale o un firewall e assicurarsi che l'opzione Consenti ai servizi Microsoft attendibili di ignorare questo firewall sia abilitata.
  • Quando più identità gestite assegnate dall'utente vengono assegnate al server o all'istanza gestita, se una singola identità viene rimossa dal server usando il riquadro Identità del portale di Azure, l'operazione ha esito positivo ma l'identità non viene rimossa dal server. La rimozione di tutte le identità gestite assegnate dall'utente insieme dal portale di Azure funziona correttamente.
  • Quando il server o l'istanza gestita viene configurata con TDE gestito dal cliente e sono abilitate sia le identità gestite assegnate dal sistema che quelle assegnate dall'utente sul server, rimuovere le identità gestite assegnate dall'utente senza prima concedere all'identità gestita assegnata dal sistema l'accesso all'insieme di credenziali delle chiavi o al modulo HSM gestito, genera un messaggio di errore imprevisto. Assicurarsi che l'identità gestita assegnata dal sistema abbia accesso al key vault o all'HSM gestito prima di rimuovere l'identità gestita assegnata dall'utente primario (e qualsiasi altra identità gestita assegnata dall'utente) dal server.

Passaggi successivi