Verwaltete Identitäten für transparente Datenverschlüsselung mit kundenseitig verwaltetem Schlüssel

Gilt für:Azure SQL-DatenbankAzure SQL Managed Instance

Microsoft Entra ID, ehemals Azure Active Directory, bietet eine automatisch verwaltete Identität zur Authentifizierung bei allen Azure-Diensten, die die Microsoft Entra-Authentifizierung unterstützen, wie z. B. Azure Key Vault, ohne dass Anmeldeinformationen im Code offengelegt werden. Weitere Informationen finden Sie unter verwaltete Identitätstypen in Azure.

Es gibt zwei Typen von verwalteten Identitäten:

  • Systemseitig zugewiesen
  • Benutzerseitig zugewiesen

Weitere Informationen finden Sie unter Verwaltete Identitäten in Microsoft Entra ID für Azure SQL.

Bei TDE mit kundenseitig verwaltetem Schlüssel (Customer-Managed Key, CMK) in Azure SQL wird eine verwaltete Identität auf dem Server verwendet, um dem Server Zugriffsrechte auf den Schlüsseltresor zu gewähren. Beispielsweise sollte die systemseitig zugewiesene verwaltete Identität des Servers mit Schlüsseltresorberechtigungen ausgestattet werden, bevor TDE mit CMK auf dem Server aktiviert wird.

Zusätzlich zur systemseitig zugewiesenen verwalteten Identität, die bereits für TDE mit CMK unterstützt wird, kann eine benutzerseitig zugewiesene verwaltete Identität (UMI), die dem Server zugewiesen ist, verwendet werden, um dem Server den Zugriff auf den Schlüsseltresor zu ermöglichen. Voraussetzung für die Aktivierung des Zugriffs auf den Schlüsseltresor ist, dass die benutzerseitig zugewiesene verwaltete Identität über die Berechtigungen Get, wrapKey und unwrapKey für den Schlüsseltresor verfügt. Da die benutzerseitig zugewiesene verwaltete Identität eine eigenständige Ressource ist, die erstellt und mit Zugriff auf den Schlüsseltresor versehen werden kann, kann TDE mit einem kundenseitig verwalteten Schlüssel nun zur Erstellungszeit für den Server oder die Datenbank aktiviert werden.

Hinweis

Zum Zuweisen einer benutzerseitig zugewiesenen verwalteten Identität zum logischen Server oder der verwalteten Instanz muss ein Benutzer über die Rolle SQL Server Mitwirkender oder SQL verwaltete Instanz Mitwirkender sowie eine andere Azure RBAC-Rolle verfügen, welche die Aktion Microsoft.ManagedIdentity/userAssignedIdentities/*/assign/action enthält.

Vorteile der Verwendung von UMI für kundenseitig verwaltete TDE

  • Ermöglicht die Vorautorisierung des Zugriffs auf den Schlüsseltresor für logische Azure SQL-Server oder verwaltete Instanzen durch Erstellen einer benutzerseitig zugewiesene verwaltete Identität und Zuweisung des Zugriffs auf den Schlüsseltresor, noch bevor der Server oder die Datenbank erstellt wurde

  • Ermöglicht die Erstellung eines logischen Azure SQL-Servers mit aktivierten TDE und CMK

  • Ermöglicht es, dieselbe benutzerseitig zugewiesene verwaltete Identität mehreren Servern zu übertragen, sodass es nicht erforderlich ist, die systemseitig zugewiesene verwaltete Identität für jeden logischen Server oder jede verwaltete Instanz von Azure SQL einzeln zu aktivieren und den Zugriff auf den Schlüsseltresor zu ermöglichen

  • Bietet die Funktionalität, CMK zum Zeitpunkt der Servererstellung mit einer verfügbaren integrierten Azure-Richtlinie zu erzwingen

Überlegungen bei der Verwendung von UMI für kundenseitig verwaltete TDE

  • Standardmäßig verwendet TDE in Azure SQL für den Zugriff auf den Schlüsseltresor die primäre benutzerseitig zugewiesene verwaltete Identität, die auf dem Server festgelegt ist. Wenn dem Server keine benutzerseitig zugewiesene Identitäten zugewiesen wurden, wird die systemseitig zugewiesene verwaltete Identität des Servers für den Zugriff auf den Schlüsseltresor verwendet.
  • Wenn Sie eine benutzerseitig zugewiesene verwaltete Identität für TDE mit CMK verwenden, weisen Sie dem Server die Identität zu, und legen Sie diese als primäre Identität für den Server fest
  • Die primäre benutzerseitig zugewiesene verwaltete Identität erfordert fortlaufenden Zugriff auf den Schlüsseltresor(get, wrapKey, unwrapKey-Berechtigungen). Wenn der Zugriff der Identität auf den Schlüsseltresor widerrufen wird oder keine ausreichenden Berechtigungen bereitgestellt werden, geht die Datenbank in den Zustand Unzugänglich über
  • Wenn die primäre benutzerseitig zugewiesene verwaltete Identität auf eine andere benutzerseitig zugewiesene verwaltete Identität aktualisiert wird, muss die neue Identität erforderliche Berechtigungen für den Schlüsseltresor erhalten, bevor die primäre Identität aktualisiert wird
  • Um für den Zugriff auf den Schlüsseltresor von einer kundenseitig zu einer systemseitig zugewiesenen verwalteten Identität umschalten zu können, stellen Sie der systemseitig zugewiesenen verwalteten Identität die erforderlichen Berechtigungen für den Schlüsseltresor zur Verfügung und entfernen Sie dann alle benutzerseitig zugewiesenen verwalteten Identitäten vom Server

Wichtig

Die primäre benutzerseitig zugewiesene verwaltete Identität, die für TDE mit CMK verwendet wird, sollte nicht aus Azure gelöscht werden. Das Löschen dieser Identität führt dazu, dass der Server den Zugriff auf den Schlüsseltresor verliert und die Datenbanken unzugänglich werden.

Einschränkungen und bekannte Probleme

  • Befindet sich der Schlüsseltresor hinter einem VNet mit einer Firewall, muss die Option Vertrauenswürdigen Microsoft-Diensten die Umgehung dieser Firewall erlauben im Menü Netzwerk des Schlüsseltresors aktiviert sein, wenn Sie eine benutzerseitig oder eine systemseitig zugewiesene verwaltete Identität verwenden möchten. Sobald diese Option aktiviert ist, können verfügbare Schlüssel nicht im TDE-Menü für SQL Server im Azure-Portal aufgeführt werden. Um einen einzelnen CMK festzulegen, muss ein Schlüsselbezeichner verwendet werden. Wenn die Option Vertrauenswürdigen Microsoft-Diensten die Umgehung dieser Firewall erlauben nicht aktiviert ist, wird der folgende Fehler zurückgegeben:
    • 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).
    • Wenn Sie die obige Fehlermeldung erhalten, überprüfen Sie, ob sich der Schlüsseltresor hinter einem virtuellen Netzwerk oder einer Firewall befindet, und stellen Sie sicher, dass die Option Vertrauenswürdigen Microsoft-Diensten die Umgehung dieser Firewall erlauben aktiviert ist.
  • Eine benutzerseitig zugewiesene verwaltete Identität für SQL Managed Instances wird derzeit nur für Schlüsseltresore unterstützt, für die der öffentliche Zugriff aus allen Netzwerken aktiviert ist. Sie wird nicht unterstützt, wenn die AKV-Firewall bestimmte virtuelle Netzwerke und IP-Adressen filtert oder private Endpunktverbindungen verwendet.
  • Wenn dem Server oder der verwalteten Instanz mehrere benutzerseitig zugewiesene verwaltete Identitäten zugewiesen sind und eine einzelne Identität mithilfe des Bereichs Identität des Azure-Portals vom Server entfernt wird, ist der Vorgang erfolgreich, aber die Identität wird nicht vom Server entfernt. Das gemeinsame Entfernen aller benutzerseitig zugewiesenen verwalteten Identitäten aus dem Azure-Portal funktioniert erfolgreich.
  • Wenn der Server oder die verwaltete Instanz mit kundenseitig verwalteten TDE konfiguriert ist und auf dem Server sowohl die systemseitig als auch die benutzerseitig zugewiesenen verwalteten Identitäten aktiviert sind, wird die benutzerseitig zugewiesene verwaltete Identität vom Server entfernt, ohne zuerst der systemseitig zugewiesenen verwalteten Identität Zugriff auf den Schlüsseltresor zu geben. Dies führt zu einer Unerwarteter Fehler aufgetreten-Meldung. Stellen Sie sicher, dass die systemseitig zugewiesene verwaltete Identität Zugriff auf den Schlüsseltresor erhalten hat, bevor Sie die primäre, benutzerseitig zugewiesene verwaltete Identität (und alle anderen benutzerseitig zugewiesenen verwalteten Identitäten) vom Server entfernen.

Nächste Schritte

Weitere Informationen