Delen via


Identiteits- en sleutelbeheer voor TDE met door de klant beheerde sleutels op databaseniveau

Van toepassing op: Azure SQL Database

Notitie

In deze handleiding doorlopen we de stappen voor het maken, bijwerken en ophalen van een Azure SQL Database met transparante gegevensversleuteling (TDE) en door de klant beheerde sleutels (CMK) op databaseniveau, waarbij gebruik wordt gemaakt van een door de gebruiker toegewezen beheerde identiteit voor toegang tot Azure Key Vault. De Azure Key Vault bevindt zich in een andere Microsoft Entra-tenant dan de Azure SQL Database. Zie door de klant beheerde sleutels voor meerdere tenants met transparante gegevensversleuteling voor meer informatie.

Notitie

Microsoft Entra-id is de nieuwe naam voor Azure Active Directory (Azure AD). Op dit moment wordt de documentatie bijgewerkt.

Vereisten

Vereiste resources voor de eerste tenant

Voor deze zelfstudie gaan we ervan uit dat de eerste tenant deel uitmaakt van een onafhankelijke softwareleverancier (ISV) en dat de tweede tenant afkomstig is van hun client. Zie voor meer informatie over dit scenario door de klant beheerde sleutels voor meerdere tenants met transparante gegevensversleuteling.

Voordat we TDE kunnen configureren voor Azure SQL Database met een CMK voor meerdere tenants, moeten we een Microsoft Entra-toepassing met meerdere tenants hebben die is geconfigureerd met een door de gebruiker toegewezen beheerde identiteit die is toegewezen als federatieve identiteitsreferentie voor de toepassing. Volg een van de handleidingen in de vereisten.

  1. In de eerste tenant waar u de Azure SQL Database wilt maken, maakt en configureert u een Microsoft Entra-toepassing met meerdere tenants.

  2. Een door een gebruiker toegewezen beheerde identiteit maken.

  3. Configureer de door de gebruiker toegewezen beheerde identiteit als een federatieve identiteitsreferentie voor de toepassing met meerdere tenants.

  4. Noteer de naam van de toepassing en de toepassings-id. Deze vindt u in Azure Portal>Microsoft Entra ID>Enterprise-toepassingen en zoekt naar de gemaakte toepassing.

Vereiste resources voor de tweede tenant

  1. Maak in de tweede tenant waarin de Azure Key Vault zich bevindt een service-principal (toepassing) met behulp van de toepassings-id van de geregistreerde toepassing van de eerste tenant. Hier volgen enkele voorbeelden van het registreren van de toepassing voor meerdere tenants. Vervang en vervang <TenantID> de <ApplicationID> clienttenant-id van Microsoft Entra ID en toepassings-id uit respectievelijk de toepassing met meerdere tenants:

    • PowerShell:

      Connect-AzureAD -TenantID <TenantID>
      New-AzADServicePrincipal  -ApplicationId <ApplicationID>
      
    • De Azure CLI:

      az login --tenant <TenantID>
      az ad sp create --id <ApplicationID>
      
  2. Ga naar De Microsoft Entra ID>Enterprise-toepassingen van Azure Portal>en zoek naar de toepassing die is gemaakt.

  3. Maak een Azure Key Vault als u er nog geen hebt en maak een sleutel.

  4. Het toegangsbeleid maken of instellen.

    1. Selecteer bij het maken van het toegangsbeleid de machtigingen Ophalen, Sleutel verpakken, Sleutel uitpakken onder Sleutelmachtigingen .
    2. Selecteer de toepassing met meerdere tenants die u in de eerste stap in de optie Principal hebt gemaakt bij het maken van het toegangsbeleid.

    Screenshot of the access policy menu of a key vault in the Azure portal.

  5. Zodra het toegangsbeleid en de sleutel zijn gemaakt, haalt u de sleutel op uit Key Vault en registreert u de sleutel-id.

Een nieuwe Azure SQL Database maken met door de klant beheerde sleutels op databaseniveau

Hier volgen voorbeelden voor het maken van een database in Azure SQL Database met een door de gebruiker toegewezen beheerde identiteit en het instellen van een door de gebruiker beheerde sleutel voor meerdere tenants op databaseniveau. De door de gebruiker toegewezen beheerde identiteit is vereist voor het instellen van een door de klant beheerde sleutel voor transparante gegevensversleuteling tijdens de fase voor het maken van de database.

  1. Blader naar de optiepagina sql-implementatie selecteren in Azure Portal.

  2. Als u nog niet bent aangemeld bij Azure Portal, meldt u zich aan wanneer u hierom wordt gevraagd.

  3. Laat onder SQL-databases de optie Resourcetype ingesteld op Eén database en selecteer Maken.

  4. Selecteer op het tabblad Basisbeginselen van het formulier SQL Database maken onder Projectdetails het gewenste Azure-abonnement, de resourcegroep en de server voor uw database. Gebruik vervolgens een unieke naam voor uw databasenaam. Als u geen logische server voor Azure SQL Database hebt gemaakt, raadpleegt u De server maken die is geconfigureerd met TDE met door de klant beheerde sleutel (CMK) voor meerdere tenants voor naslaginformatie.

  5. Wanneer u bij het tabblad Beveiliging bent, selecteert u Transparante gegevensversleuteling configureren.

    Screenshot of the Azure portal and the Security menu when creating an Azure SQL Database.

  6. Selecteer in het menu Transparante gegevensversleuteling de door de klant beheerde sleutel (CMK) op databaseniveau.

    Screenshot of the Azure portal transparent data encryption menu.

  7. Voor door de gebruiker toegewezen beheerde identiteit selecteert u Configureren om een database-identiteit in te schakelen en voegt u een door de gebruiker toegewezen beheerde identiteit toe aan de resource als een gewenste identiteit niet wordt weergegeven in het menu Identiteit. Selecteer vervolgens Toepassen.

    Screenshot of the Azure portal Identity menu.

    Notitie

    U kunt hier de federatieve clientidentiteit configureren als u CMK voor meerdere tenants configureert voor TDE.

  8. Selecteer In het menu Transparante gegevensversleuteling de optie Sleutel wijzigen. Selecteer het gewenste abonnement, de sleutelkluis, de sleutel en de versie voor de door de klant beheerde sleutel die moet worden gebruikt voor TDE. Selecteer de knop Selecteren. Nadat u een sleutel hebt geselecteerd, kunt u indien nodig extra databasesleutels toevoegen met behulp van de Azure Key Vault-URI (object-id) in het menu Transparante gegevensversleuteling .

    Automatische sleutelrotatie kan ook worden ingeschakeld op databaseniveau met behulp van het selectievakje Voor automatisch draaien van sleutels in het menu Transparante gegevensversleuteling.

    Screenshot of the transparent data encryption menu in the Azure portal referencing adding additional keys.

  9. Selecteer Toepassen om door te gaan met het maken van de database.

  10. Selecteer Beoordelen en maken onder aan de pagina

  11. Selecteer op de pagina Controleren en maken na het controleren de optie Maken.

Notitie

Het maken van de database mislukt als de door de gebruiker toegewezen beheerde identiteit niet over de juiste machtigingen beschikt voor de sleutelkluis. De door de gebruiker toegewezen beheerde identiteit heeft de machtigingen Get, WrapKey en UnwrapKey nodig voor de sleutelkluis. Zie Beheerde identiteiten voor transparante gegevensversleuteling met door de klant beheerde sleutel voor meer informatie.

Een bestaande Azure SQL Database bijwerken met door de klant beheerde sleutels op databaseniveau

Hier volgen voorbeelden van het bijwerken van een bestaande database in Azure SQL Database met een door de gebruiker toegewezen beheerde identiteit en het instellen van een door de gebruiker beheerde sleutel voor meerdere tenants op databaseniveau. De door de gebruiker toegewezen beheerde identiteit is vereist voor het instellen van een door de klant beheerde sleutel voor transparante gegevensversleuteling tijdens de fase voor het maken van de database.

  1. Navigeer in Azure Portal naar de SQL-databaseresource die u wilt bijwerken met een door de klant beheerde sleutel op databaseniveau.

  2. Selecteer Identiteit onder Beveiliging. Een door de gebruiker toegewezen beheerde identiteit voor deze database toevoegen en vervolgens Opslaan selecteren

  3. Ga nu naar het menu Gegevensversleuteling onder Beveiliging voor uw database. Selecteer Door de klant beheerde sleutel (CMK) op databaseniveau. De database-identiteit voor de database moet al zijn ingeschakeld omdat u de identiteit in de laatste stap hebt geconfigureerd.

  4. Selecteer Sleutel wijzigen. Selecteer het gewenste abonnement, de sleutelkluis, de sleutel en de versie voor de door de klant beheerde sleutel die moet worden gebruikt voor TDE. Selecteer de knop Selecteren. Nadat u een sleutel hebt geselecteerd, kunt u indien nodig extra databasesleutels toevoegen met behulp van de Azure Key Vault-URI (object-id) in het menu Gegevensversleuteling .

    Schakel het selectievakje Voor automatisch draaien van sleutels in als u automatische sleutelrotatie op databaseniveau wilt inschakelen.

    Screenshot of the Azure portal transparent data encryption menu when updating an existing database.

  5. Selecteer Opslaan.

De door de klant beheerde sleutelinstellingen op databaseniveau weergeven in een Azure SQL Database

Hieronder ziet u voorbeelden van het ophalen van door de klant beheerde sleutels op databaseniveau voor een database. De ARM-resource Microsoft.Sql/servers/databases toont standaard alleen de TDE-beveiliging en beheerde identiteit die in de database zijn geconfigureerd. Als u de volledige lijst met sleutels wilt uitbreiden, gebruikt u de parameter. -ExpandKeyList Daarnaast kunnen filters zoals -KeysFilter "current" en een bepaald tijdstip (bijvoorbeeld 2023-01-01) worden gebruikt om de huidige gebruikte sleutels en sleutels op een bepaald tijdstip op te halen. Deze filters worden alleen ondersteund voor afzonderlijke databasequery's en niet voor query's op serverniveau.

Als u de door de klant beheerde sleutels op databaseniveau in Azure Portal wilt weergeven, gaat u naar het menu Gegevensversleuteling van de SQL-databaseresource.

Alle sleutels op een logische server weergeven

Als u de lijst met alle sleutels (en niet alleen de primaire beveiliging) wilt ophalen die door elke database onder de server worden gebruikt, moet er afzonderlijk een query worden uitgevoerd met de sleutelfilters. Hier volgt een voorbeeld van een PowerShell-query om elke sleutel onder de logische server weer te geven.

Gebruik de cmdlet Get-AzSqlDatabase .

$dbs = Get-AzSqlDatabase -resourceGroupName <ResourceGroupName> -ServerName <ServerName>
foreach ($db in $dbs)
{
Get-AzSqlDatabase -DatabaseName $db.DatabaseName -ServerName $db.ServerName -ResourceGroupName $db.ResourceGroupName -ExpandKeyList
}

De door de klant beheerde sleutel op databaseniveau opnieuwvalideren in een Azure SQL Database

In het geval van een niet-toegankelijke TDE-beveiliging zoals beschreven in Transparent Data Encryption (TDE) met CMK, kan een hervalidatiesleutelbewerking worden gebruikt om de database toegankelijk te maken. Zie de volgende instructies of opdrachten voor voorbeelden.

Zoek uw SQL-databaseresource met behulp van Azure Portal. Nadat u uw SQL Database-resource hebt geselecteerd, gaat u naar het tabblad Transparent Data Encryption van het menu Gegevensversleuteling onder de beveiligingsinstellingen . Als de database geen toegang meer heeft tot De Azure Key Vault, wordt er een knop Opnieuwvalidate-sleutel weergegeven en kunt u de bestaande sleutel opnieuwvalideren door bestaande sleutel opnieuw proberen of een andere sleutel te selecteren door back-upsleutel selecteren te selecteren.

De door de klant beheerde sleutel op databaseniveau herstellen in een Azure SQL Database

Een database die is geconfigureerd met CMK op databaseniveau, kan worden teruggezet naar versleuteling op serverniveau als de server is geconfigureerd met een door de service beheerde sleutel met behulp van de volgende opdrachten.

Als u de door de klant beheerde sleutelinstelling op databaseniveau wilt terugzetten op versleutelingssleutel op serverniveau in Azure Portal, gaat u naar het tabblad Transparent Data Encryption van het menu Gegevensversleuteling van de SQL-databaseresource. Selecteer de versleutelingssleutel op serverniveau en selecteer Opslaan om de instellingen op te slaan.

Notitie

Als u de instelling voor versleutelingssleutel op serverniveau voor afzonderlijke databases wilt gebruiken, moet de logische server voor de Azure SQL Database worden geconfigureerd voor het gebruik van door de service beheerde sleutel voor TDE.

Volgende stappen

Raadpleeg de volgende documentatie over verschillende CMK-bewerkingen op databaseniveau: