Share via


Häufige Fehler bei Transparent Data Encryption (TDE) mit vom Kunden verwalteten Schlüsseln in Azure Key Vault

Gilt für:Azure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse Analytics

In diesem Artikel wird beschrieben, wie Sie Probleme mit dem Azure Key Vault-Schlüsselzugriff identifizieren und beheben, die dazu geführt haben, dass eine für die Verwendung von Transparent Data Encryption (TDE) mit kundenseitig verwalteten Schlüsseln in Azure Key Vault konfigurierte Datenbank nicht mehr zugänglich ist.

Hinweis

Microsoft Entra ID war bisher unter Azure Active Directory (Azure AD) bekannt.

Einführung

Wenn TDE zur Verwendung eines kundenseitig verwalteten Schlüssels in Azure Key Vault konfiguriert ist, muss fortlaufender Zugriff auf diesen TDE-Schutz gewährleistet sein, damit die Datenbank online bleibt. Wenn die logische SQL Server-Instanz oder verwaltete Instanz den Zugriff auf den kundenseitig verwalteten TDE-Schutz in Azure Key Vault verliert, beginnt eine Datenbank, alle Verbindungen mit der entsprechenden Fehlermeldung abzulehnen. Zudem wird im Azure-Portal der Status in Nicht zugänglich geändert.

Wenn das zugrunde liegende Azure Key Vault-Schlüsselzugriffsproblem innerhalb der ersten 30 Minuten behoben wird, wird die Datenbank automatisch repariert und wieder online geschaltet. Dies bedeutet, dass bei zeitweiligen und vorübergehenden Netzwerkausfällen keine Benutzeraktion erforderlich ist und die Datenbank automatisch wieder online geschaltet wird. In den meisten Fällen ist jedoch ein Benutzereingriff erforderlich, um das zugrunde liegende Azure Key Vault-Schlüsselzugriffsproblem zu lösen.

Wenn eine unzugängliche Datenbank nicht länger benötigt wird, kann sie sofort gelöscht werden, um Kosten zu vermeiden. Alle weiteren Aktionen für die Datenbank sind erst dann erlaubt, wenn der Zugriff auf den Azure Key Vault-Schlüssel wiederhergestellt wurde und die Datenbank wieder online ist. Das Ändern der TDE-Option von kundenseitig verwalteten Schlüsseln zu dienstseitig verwalteten Schlüsseln ist ebenfalls nicht möglich, wenn eine mit kundenseitig verwalteten Schlüsseln verschlüsselte Datenbank nicht zugänglich ist. Dies ist erforderlich, um die Daten vor einem nicht autorisierten Zugriff zu schützen, wenn die Berechtigungen für den TDE-Schutz widerrufen wurden.

Wenn eine Datenbank länger als 30 Minuten nicht zugänglich ist, ist eine automatische Reparatur nicht mehr möglich. Wenn der erforderliche Azure Key Vault-Schlüsselzugriff erst danach wiederhergestellt wurde, müssen Sie den Zugriff auf den Schlüssel manuell noch mal validieren, um die Datenbank wieder online zu schalten. Das Onlineschalten der Datenbank kann in diesem Fall je nach Größe der Datenbank sehr lange dauern. Sobald die Datenbank wieder online ist, gehen zuvor konfigurierte Einstellungen wie die Failovergruppe, der PITR-Verlauf und Tags verloren. Daher wird empfohlen, ein Benachrichtigungssystem mit Aktionsgruppen zu implementieren, mit dem zugrunde liegende Probleme mit dem Azure Key Vault-Schlüsselzugriff erkannt und gelöst werden können.

Häufige Fehler, die zu unzugänglichen Datenbanken führen

Die meisten Probleme, die auftreten, wenn Sie TDE mit Key Vault verwenden, werden durch einen der folgenden Konfigurationsfehler verursacht:

Der Schlüsseltresor ist nicht verfügbar oder nicht vorhanden.

  • Der Schlüsseltresor wurde versehentlich gelöscht.
  • Die Firewall wurde für Azure Key Vault konfiguriert, ohne den Zugriff auf Microsoft-Dienste zuzulassen.
  • Ein zeitweiliger Netzwerkfehler führt dazu, dass der Schlüsseltresor nicht verfügbar ist.

Es liegen keine Berechtigungen für den Zugriff auf den Schlüsseltresor vor, oder der Schlüssel ist nicht vorhanden.

  • Der Schlüssel wurde versehentlich gelöscht oder deaktiviert, oder der Schlüssel ist abgelaufen.
  • Die verwaltete Identität des Servers (systemseitig oder benutzerseitig zugewiesen) wurde versehentlich gelöscht.
  • Der Server wurde in ein anderes Abonnement verschoben. Eine neue verwaltete Identität (systemseitig oder benutzerseitig zugewiesen) muss dem Server zugewiesen werden, wenn er in ein anderes Abonnement verschoben wird.
  • Die der verwalteten Identität des Servers erteilten Berechtigungen für die Schlüssel sind nicht ausreichend (sie beinhalten nicht Get, Wrap und Unwrap).
  • Berechtigungen für die verwaltete Identität des Servers wurden für den Schlüsseltresor aufgehoben.

Identifizieren und Beheben von häufigen Fehlern

Im diesem Abschnitt werden die Schritte zur Problembehandlung für die häufigsten Fehler aufgelistet.

Serveridentität fehlt

Fehlermeldung

401 AzureKeyVaultNoServerIdentity: Die Serveridentität ist auf dem Server nicht korrekt konfiguriert. Wenden Sie sich an den Support.

Erkennung

Verwenden Sie das folgende Cmdlet oder den Befehl, um sicherzustellen, dass dem Server eine Identität zugewiesen wurde:

Minderung

Verwenden Sie das folgende Cmdlet oder den folgenden Befehl, um eine vom benutzerseitig zugewiesene oder systemseitig zugewiesene verwaltete Identität für den Server zu konfigurieren:

Navigieren Sie im Azure-Portal zum Schlüsseltresor und anschließend zu Zugriffsrichtlinien. Führen Sie die folgenden Schritte aus:

  1. Verwenden Sie die Schaltfläche Neues Element hinzufügen, um die im vorherigen Schritt erstellte AppId für den Server hinzuzufügen.
  2. Weisen Sie die folgenden Schlüsselberechtigungen zu: Get, Wrap und Unwrap

Weitere Informationen finden Sie unter Zuweisen einer verwalteten Identität zu einem Server.

Wichtig

Wenn der logische Server für Azure SQL-Datenbank oder Azure SQL Managed Instance nach der ursprünglichen Konfiguration von TDE mit Key Vault in einen neuen Microsoft Entra-Mandanten verschoben wird, muss die Konfiguration dieser verwalteten Identität im neuen Mandanten erneut vorgenommen werden.

Schlüsseltresor fehlt

Fehlermeldung

503 AzureKeyVaultConnectionFailed: Der Vorgang konnte auf dem Server nicht ausgeführt werden, weil beim Versuch der Verbindungsherstellung mit Azure Key Vault Fehler aufgetreten sind.

Erkennung

So ermitteln Sie den Schlüssel-URI und den Schlüsseltresor:

  1. Verwenden Sie das folgende Cmdlet oder den folgenden Befehl, um den Schlüssel-URI einer bestimmten Serverinstanz abzurufen:

  2. Verwenden Sie den Schlüssel-URI, um den Schlüsseltresor zu identifizieren.

    • Azure PowerShell: Sie können die Eigenschaften von $MyServerKeyVaultKey untersuchen, um die Details zum Schlüsseltresor abzurufen.

    • Azure CLI: Untersuchen Sie den zurückgegebenen Serververschlüsselungsschutz, um die Details zum Schlüsseltresor abzurufen.

Minderung

Vergewissern Sie sich, dass der Schlüsseltresor verfügbar ist.

  • Stellen Sie sicher, dass der Schlüsseltresor verfügbar ist und der Server darauf zugreifen kann.
  • Befindet sich der Schlüsseltresor hinter einer Firewall, stellen Sie sicher, dass das Kontrollkästchen aktiviert ist, mit dem Microsoft-Diensten der Zugriff auf den Schlüsseltresor erlaubt wird.
  • Wurde der Schlüsseltresor versehentlich gelöscht, muss die vollständige Konfiguration erneut ausgeführt werden.

Schlüssel fehlt

Fehlermeldungen

404 ServerKeyNotFound: Der angeforderte Serverschlüssel wurde im aktuellen Abonnement nicht gefunden.

409 ServerKeyDoesNotExists: Der Serverschlüssel ist nicht vorhanden.

Erkennung

So ermitteln Sie den Schlüssel-URI und den Schlüsseltresor:

  • Verwenden Sie das Cmdlet oder die Befehle unter Schlüsseltresor fehlt, um den Schlüssel-URI zu identifizieren, der der logischen SQL Server-Instanz hinzugefügt wird. Die Ausführung der Befehle gibt die Liste der Schlüssel zurück.

Minderung

Bestätigen Sie, dass der TDE-Schutz in Key Vault vorhanden ist:

  1. Identifizieren Sie den Schlüsseltresor, und navigieren Sie dann im Azure-Portal zum Schlüsseltresor.
  2. Stellen Sie sicher, dass der durch den Schlüssel-URI identifizierte Schlüssel vorhanden ist.

Fehlende Berechtigungen

Fehlermeldung

401 AzureKeyVaultMissingPermissions: Erforderliche Serverberechtigungen für Azure Key Vault fehlen.

Erkennung

So identifizieren Sie den Schlüssel-URI und den Schlüsseltresor:

  • Verwenden Sie das Cmdlet oder die Befehle unter Schlüsseltresor fehlt, um den Schlüsseltresor zu identifizieren, den die logische SQL Server-Instanz verwendet.

Minderung

Vergewissern Sie sich, dass der Server über Berechtigungen für den Schlüsseltresor und über die korrekten Zugriffsberechtigungen für den Schlüssel verfügt:

  • Navigieren Sie im Azure-Portal zum Schlüsseltresor >Zugriffsrichtlinien. Suchen Sie die verwaltete Identität des Servers (systemseitig oder benutzerseitig zugewiesen).
  • Wenn die Serveridentität vorhanden ist, stellen Sie sicher, dass sie über die folgenden Schlüsselberechtigungen verfügt: Get, WrapKey und UnwrapKey.
  • Fehlt die Serveridentität, fügen Sie sie über die Schaltfläche Neues Element hinzufügen hinzu.

Abrufen des TDE-Status aus dem Aktivitätsprotokoll

Um eine Überwachung des Datenbankstatus im Hinblick auf Azure Key Vault-Schlüsselzugriffsprobleme zu ermöglichen, werden im Aktivitätsprotokoll für die Ressourcen-ID basierend auf der Azure Resource Manager-URL die folgenden Ereignisse protokolliert.

Hinweis

Es kann ab dem Zeitpunkt, zu dem ein Problem mit dem Schlüsseltresorzugriff auftritt, mindestens 15 bis 30 Minuten dauern, bis Ereignisse im Aktivitätsprotokoll angezeigt werden.

Ereignis, wenn der Dienst den Zugriff auf den Azure Key Vault-Schlüssel verliert

Azure SQL-Datenbank

EventName: MakeDatabaseInaccessible

Status: Gestartet

Beschreibung: Datenbank {database_name} auf Server {server_name} hat den Zugriff auf den Azure Key Vault-Schlüssel verloren und wechselt jetzt in den Zustand „Kein Zugriff“.

Verwaltete Azure SQL-Datenbank-Instanz

EventName: MakeManagedDbInaccessible

Status: Gestartet

Beschreibung: Datenbank {database_name} auf verwaltetem Server {server_name} hat den Zugriff auf den Azure Key Vault-Schlüssel verloren und wechselt jetzt in den Zustand „Kein Zugriff“.

Ereignis, wenn das Problem nicht innerhalb von 30 Minuten behoben wurde und der Azure Key Vault-Schlüsselzugriff manuell validiert werden muss

Azure SQL-Datenbank

EventName: MakeDatabaseInaccessible

Status: Erfolgreich

Beschreibung: Die Datenbank ist nicht zugänglich, und der Benutzer muss den Azure Key Vault-Fehler beheben und den Zugriff auf Azure Key Vault durch eine erneute Validierung des Schlüssels wiederherstellen.

Verwaltete Azure SQL-Datenbank-Instanz

EventName: MakeManagedDbInaccessible

Status: Erfolgreich

Beschreibung: Auf die Datenbank {database_name} auf dem verwalteten Server {server_name} kann nicht zugegriffen werden, und der Benutzer muss den Zugriff auf den Azure Key Vault-Schlüssel erneut einrichten.

Ereignis, wenn die erneute Validierung des Azure Key Vault-Schlüsselzugriffs erfolgreich war und die Datenbank wieder online geschaltet wird

Azure SQL-Datenbank

EventName: MakeDatabaseAccessible

Status: Gestartet

Beschreibung: Der Zugriff auf den Azure Key Vault-Schlüssel wurde wieder hergestellt, und der Vorgang, den Zugriff auf die Datenbank {database_name} auf dem Server {server_name} zu ermöglichen, hat begonnen.

Verwaltete Azure SQL-Datenbank-Instanz

EventName: MakeManagedDatabaseAccessible

Status: Gestartet

Beschreibung: Der Zugriff auf den Azure Key Vault-Schlüssel wurde wieder hergestellt, und der Vorgang, den Zugriff auf die Datenbank {database_name} auf dem verwalteten Server {server_name} zu ermöglichen, hat begonnen.

Ereignis, wenn die Datenbank erfolgreich wieder online geschaltet wurde

Azure SQL-Datenbank

EventName: MakeDatabaseAccessible

Status: Erfolgreich

Beschreibung: Der Zugriff auf den Azure Key Vault-Schlüssel wurde wieder hergestellt, und die Datenbank {database_name} auf dem Server {server_name} ist jetzt wieder online.

Verwaltete Azure SQL-Datenbank-Instanz

EventName: MakeManagedDatabaseAccessible

Status: Erfolgreich

Beschreibung: Der Zugriff auf den Azure Key Vault-Schlüssel wurde wieder hergestellt, und die Datenbank {database_name} auf dem verwalteten Server {server_name} ist jetzt wieder online.

Ereignis, wenn die erneute Validierung des Azure Key Vault-Schlüsselzugriffs nicht erfolgreich war

Azure SQL-Datenbank

EventName: MakeDatabaseAccessible

Status: Fehler

Beschreibung: Der Zugriff auf den Azure Key Vault-Schlüssel wurde wieder hergestellt, und der Vorgang, den Zugriff auf die Datenbank {database_name} auf dem Server {server_name} zu ermöglichen, hatte keinen Erfolg.

Verwaltete Azure SQL-Datenbank-Instanz

EventName: MakeManagedDatabaseAccessible

Status: Fehler

Beschreibung: Der Zugriff auf den Azure Key Vault-Schlüssel wurde wieder hergestellt, und der Vorgang, den Zugriff auf die Datenbank {database_name} auf dem verwalteten Server {server_name} zu ermöglichen, hatte keinen Erfolg.

Nächste Schritte

  • Erfahren Sie mehr über Azure Resource Health.
  • Richten Sie Aktionsgruppen ein, um Benachrichtigungen und Warnungen auf die von Ihnen bevorzugte Weise zu erhalten, z. B. per E-Mail/SMS/Push/Voice, Logik-App, Webhook, ITSM oder Automation Runbook.