Verständnis von Azure Key Vault
Azure Key Vault ist ein Tool, das das Speichern von Geheimnissen und den Zugriff auf diese ermöglicht. Unabhängig davon, ob es sich um Kennwörter, Zertifikate oder Schlüssel handelt, fungiert Key Vault als Tresor für diese Geheimnisse, damit Sie sicher (in der Regel programmgesteuert) darauf zugreifen können. Für Key Vault-Daten gelten eigene RBAC-Richtlinien, die sich von denen für das Azure-Abonnement unterscheiden. Das bedeutet, dass selbst ein Abonnementadministrator keinen Zugriff auf Key Vault hat, sofern dieser nicht explizit erteilt wird.
SQL Server (lokal oder auf einer Azure-VM) unterstützt Azure Key Vault, um Zertifikate für Features wie Transparent Data Encryption, Sicherungsverschlüsselung oder Always Encrypted zu speichern. Während diese Konfiguration in einer lokalen Umgebung komplex ist, ist sie bei Verwendung von SQL Server auf einer Azure Virtual Machine-Instanz einfach zu verwalten, wie die folgende Abbildung zeigt.
Für die Konfiguration der Azure Key Vault-Integration müssen Sie die Key Vault-URL, den Prinzipalnamen, das Prinzipalgeheimnis und den Namen für die Anmeldeinformationen festlegen. Diese Aufgabe kann bei der Erstellung des virtuellen Computers oder auf einer bestehenden VM durchgeführt werden.
Wenn Sie SQL Server für die Verknüpfung mit Azure Key Vault konfigurieren möchten, müssen Sie zunächst einen gewöhnlichen SQL Server-Anmeldenamen innerhalb der Instanz erstellen. Als Nächstes müssen Anmeldeinformationen erstellt und dem Anmeldenamen zugeordnet werden. Für die Identität der Anmeldeinformationen sollte der Name des Schlüsseltresors verwendet werden. Für das Geheimnis der Anmeldeinformationen sollte die Anwendungs-ID aus Azure Key Vault verwendet werden.
Sobald die Anmeldeinformationen erstellt wurden, kann in Azure Key Vault ein asymmetrischer Schlüssel generiert werden. Dann kann ein asymmetrischer Schlüssel in der SQL Server-Datenbank generiert werden. Der Schlüssel der Datenbank kann dem asymmetrischen Schlüssel in Azure Key Vault zugeordnet werden, indem Sie den Befehl CREATE ASYMMETRIC KEY
mit der Syntax FROM PROVIDER
verwenden. Nachdem ein asymmetrischer Schlüssel in der Datenbank erstellt wurde, kann dieser für TDE, die Sicherungsverschlüsselung oder Always Encrypted verwendet werden.