Beheerde identiteiten voor transparante gegevensversleuteling met door de klant beheerde sleutel
Van toepassing op: Azure SQL DatabaseAzure SQL Managed Instance
Microsoft Entra ID voorheen Azure Active Directory biedt een automatisch beheerde identiteit voor verificatie bij elke Azure-service die ondersteuning biedt voor Microsoft Entra-verificatie, zoals Azure Key Vault, zonder referenties in de code weer te geven. Zie Beheerde identiteitstypen in Azure voor meer informatie.
Beheerde identiteiten kunnen van twee typen zijn:
- Door systeem toegewezen
- Door gebruiker toegewezen
Zie Beheerde identiteiten in Microsoft Entra ID voor Azure SQL voor meer informatie.
Voor TDE met door de klant beheerde sleutel (CMK) in Azure SQL wordt een beheerde identiteit op de server gebruikt voor het verlenen van toegangsrechten voor de server in de sleutelkluis. De door het systeem toegewezen beheerde identiteit van de server moet bijvoorbeeld worden geleverd met sleutelkluismachtigingen voordat TDE met CMK op de server wordt ingeschakeld.
Naast de door het systeem toegewezen beheerde identiteit die al wordt ondersteund voor TDE met CMK, kan een door de gebruiker toegewezen beheerde identiteit (UMI) die aan de server is toegewezen, worden gebruikt om de server toegang te geven tot de sleutelkluis. Een vereiste voor het inschakelen van key vault-toegang is ervoor te zorgen dat de door de gebruiker toegewezen beheerde identiteit de machtigingen Get, WrapKey en UnwrapKey voor de sleutelkluis heeft gekregen. Omdat de door de gebruiker toegewezen beheerde identiteit een zelfstandige resource is die kan worden gemaakt en toegang kan krijgen tot de sleutelkluis, kan TDE met een door de klant beheerde sleutel nu worden ingeschakeld tijdens het maken van de server of database.
Notitie
Voor het toewijzen van een door de gebruiker toegewezen beheerde identiteit aan de logische server of het beheerde exemplaar moet een gebruiker de Azure RBAC-rol Inzender voor SQL Server of SQL Managed Instance hebben, samen met een andere Azure RBAC-rol die de Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action-actie bevat.
Voordelen van het gebruik van UMI voor door de klant beheerde TDE
Hiermee kunt u sleutelkluistoegang vooraf autoriseren voor logische Azure SQL-servers of beheerde exemplaren door een door de gebruiker toegewezen beheerde identiteit te maken en deze toegang te verlenen tot de sleutelkluis, zelfs voordat de server of database is gemaakt
Hiermee kunt u een logische Azure SQL-server maken waarvoor TDE en CMK zijn ingeschakeld
Hiermee kan dezelfde door de gebruiker toegewezen beheerde identiteit worden toegewezen aan meerdere servers, waardoor de noodzaak om door het systeem toegewezen beheerde identiteit voor elke logische Azure SQL-server of elk beheerd exemplaar afzonderlijk in te schakelen en toegang tot de sleutelkluis te verlenen
Biedt de mogelijkheid om CMK af te dwingen tijdens het maken van de server met een beschikbaar ingebouwd Azure-beleid
Overwegingen bij het gebruik van UMI voor door de klant beheerde TDE
- TDE in Azure SQL maakt standaard gebruik van de primaire door de gebruiker toegewezen beheerde identiteit die is ingesteld op de server voor toegang tot de sleutelkluis. Als er geen door de gebruiker toegewezen identiteiten zijn toegewezen aan de server, wordt de door het systeem toegewezen beheerde identiteit van de server gebruikt voor toegang tot de sleutelkluis.
- Wanneer u een door de gebruiker toegewezen beheerde identiteit voor TDE met CMK gebruikt, wijst u de identiteit toe aan de server en stelt u deze in als de primaire identiteit voor de server
- De primaire door de gebruiker toegewezen beheerde identiteit vereist continue toegang tot de sleutelkluis (machtigingen ophalen, wrapKey, unwrapKey ). Als de toegang van de identiteit tot de sleutelkluis is ingetrokken of er onvoldoende machtigingen zijn opgegeven, wordt de database verplaatst naar de status Niet toegankelijk
- Als de primaire door de gebruiker toegewezen beheerde identiteit wordt bijgewerkt naar een andere door de gebruiker toegewezen beheerde identiteit, moet de nieuwe identiteit vereiste machtigingen krijgen voor de sleutelkluis voordat de primaire identiteit wordt bijgewerkt
- Als u wilt overschakelen van de server van door de gebruiker toegewezen aan door het systeem toegewezen beheerde identiteit voor toegang tot de sleutelkluis, geeft u de door het systeem toegewezen beheerde identiteit op met de vereiste sleutelkluismachtigingen en verwijdert u vervolgens alle door de gebruiker toegewezen beheerde identiteiten van de server
Belangrijk
De primaire door de gebruiker toegewezen beheerde identiteit die wordt gebruikt voor TDE met CMK, mag niet worden verwijderd uit Azure. Als u deze identiteit verwijdert, verliest de server de toegang tot de sleutelkluis en worden databases ontoegankelijk.
Beperkingen en bekende problemen
- Als de sleutelkluis zich achter een VNet bevindt dat gebruikmaakt van een firewall, moet de optie vertrouwde Microsoft-services toestaan om deze firewall te omzeilen, zijn ingeschakeld in het netwerkmenu van de sleutelkluis als u een door de gebruiker toegewezen beheerde identiteit of door het systeem toegewezen beheerde identiteit wilt gebruiken. Zodra deze optie is ingeschakeld, kunnen beschikbare sleutels niet worden weergegeven in het menu SQL Server TDE in Azure Portal. Als u een afzonderlijke CMK wilt instellen, moet een sleutel-id worden gebruikt. Wanneer de optie Vertrouwde Microsoft-services toestaan om deze firewall te omzeilen niet is ingeschakeld, wordt de volgende fout geretourneerd:
Failed to save Transparent Data Encryption settings for SQL resource: <ServerName>. Error message: The managed identity with ID '/subscriptions/subsriptionID/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).
- Als u de bovenstaande fout krijgt, controleert u of de sleutelkluis zich achter een virtueel netwerk of een firewall bevindt en controleert u of de optie Vertrouwde Microsoft-services toestaan deze firewall te omzeilen is ingeschakeld.
- Door de gebruiker toegewezen beheerde identiteit voor SQL Managed Instances wordt momenteel alleen ondersteund voor sleutelkluizen waarvoor openbare toegang is ingeschakeld vanuit alle netwerken. Dit wordt niet ondersteund wanneer de AKV-firewall specifieke virtuele netwerken en IP-adressen filtert of privé-eindpuntverbindingen gebruikt.
- Wanneer meerdere door de gebruiker toegewezen beheerde identiteiten worden toegewezen aan de server of het beheerde exemplaar, als één identiteit wordt verwijderd van de server met behulp van de blade Identiteit van Azure Portal, slaagt de bewerking, maar wordt de identiteit niet verwijderd van de server. Het verwijderen van alle door de gebruiker toegewezen beheerde identiteiten uit Azure Portal werkt met succes.
- Wanneer de server of het beheerde exemplaar is geconfigureerd met door de klant beheerde TDE en zowel door het systeem toegewezen als door de gebruiker toegewezen beheerde identiteiten zijn ingeschakeld op de server, worden de door de gebruiker toegewezen beheerde identiteiten van de server verwijderd zonder eerst de door het systeem toegewezen beheerde identiteit toegang te geven tot de sleutelkluis, resulteert in een onverwacht foutbericht . Zorg ervoor dat de door het systeem toegewezen beheerde identiteit toegang tot de sleutelkluis heeft gekregen voordat u de primaire door de gebruiker toegewezen beheerde identiteit (en andere door de gebruiker toegewezen beheerde identiteiten) van de server verwijdert.