Entwicklerleitfaden zu Azure Key Vault
Azure Key Vault ermöglicht den sicheren Zugriff auf vertrauliche Daten in Ihren Anwendungen:
- Schlüssel, Geheimnisse und Zertifikate werden geschützt, ohne dass Sie den Code selbst schreiben müssen, und können auf einfache Weise in Ihren Anwendungen verwendet werden.
- Sie gestatten Kunden, dass sie ihre eigenen Schlüssel, Geheimnisse und Zertifikate verwalten, sodass Sie sich auf die Bereitstellung der Hauptfunktionen der Software konzentrieren können. Auf diese Weise müssen Ihre Anwendungen weder die Verantwortung noch eine mögliche Haftung für die Mandantenschlüssel, Geheimnisse und Zertifikate Ihrer Kunden übernehmen.
- Ihre Anwendungen können Signatur- und Verschlüsselungsschlüssel verwenden, und die Schlüssel werden außerhalb der Anwendung verwaltet. Weitere Informationen finden Sie unter Informationen zu Azure Key Vault-Schlüsseln.
- Sie können Anmeldeinformationen wie Kennwörter, Zugriffsschlüssel und SAS-Token verwalten, indem Sie diese in Key Vault als Geheimnisse speichern. Weitere Informationen finden Sie unter Informationen zu Azure Key Vault-Geheimnissen.
- Verwalten Sie Zertifikate. Weitere Informationen finden Sie unter Informationen zu Azure Key Vault-Zertifikaten.
Allgemeine Informationen zu Azure Key Vault finden Sie unter Informationen zu Azure Key Vault.
Öffentliche Vorschauversionen
Wir veröffentlichen in regelmäßigen Abständen eine öffentliche Vorschau des neuen Key Vault-Features. Testen Sie die Funktionen der öffentlichen Vorschau, und teilen Sie uns Ihre Meinung über die folgende E-Mail-Adresse für Feedback mit: azurekeyvault@microsoft.com.
Erstellen und Verwalten von Key Vault-Instanzen
Wie andere Azure-Dienste auch wird Key Vault über Azure Resource Manager verwaltet. Azure Resource Manager ist der Bereitstellungs- und Verwaltungsdienst für Azure. Sie können den Dienst zum Erstellen, Aktualisieren und Löschen von Ressourcen in Ihrem Azure-Konto verwenden.
Die rollenbasierte Zugriffssteuerung in Azure (Role-Based Access Control, RBAC) steuert den Zugriff auf die Verwaltungsschicht, die auch als Verwaltungsebene bezeichnet wird. Sie verwenden die Verwaltungsebene in Key Vault zum Erstellen und Verwalten von Key Vault-Instanzen und deren Attributen, einschließlich Zugriffsrichtlinien. Sie verwenden die Datenebene zum Verwalten von Schlüsseln, Zertifikaten und Geheimnissen.
Sie können die vordefinierte Rolle „Key Vault-Mitwirkender“ verwenden, um Verwaltungszugriff auf Key Vault zu gewähren.
APIs und SDKs für die Key Vault-Verwaltung
Azure CLI | PowerShell | REST-API | Ressourcen-Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Verweis Schnellstart |
Referenz Schnellstart |
Referenz | Referenz Schnellstart |
Referenz | Referenz | Referenz | Referenz |
Installationspakete und Quellcode finden Sie unter Clientbibliotheken.
Authentifizieren bei Key Vault mit Code
Key Vault verwendet die Microsoft Entra-Authentifizierung, die einen Microsoft Entra-Sicherheitsprinzipal erfordert, um Zugriff zu gewähren. Ein Microsoft Entra-Sicherheitsprinzipal kann ein Benutzer, ein Anwendungsdienstprinzipal, eine verwaltete Identität für Azure-Ressourcen oder eine Gruppe dieser Typen sein.
Bewährte Methoden für die Authentifizierung
Es empfiehlt sich, eine verwaltete Identität für in Azure bereitgestellte Anwendungen zu verwenden. Wenn Sie Azure-Dienste verwenden, die keine verwaltete Identitäten unterstützen, oder wenn Anwendungen lokal bereitgestellt werden, ist ein Dienstprinzipal mit einem Zertifikat eine mögliche Alternative. In diesem Szenario sollte das Zertifikat in Key Vault gespeichert und regelmäßig rotiert werden.
Verwenden Sie einen Dienstprinzipal mit einem Geheimnis für Entwicklungs- und Testumgebungen. Verwenden Sie einen Benutzerprinzipal für die lokale Entwicklung und Azure Cloud Shell.
Die folgenden Sicherheitsprinzipale werden für die jeweilige Umgebung empfohlen:
- Produktionsumgebung: verwaltete Identität oder Dienstprinzipal mit Zertifikat
- Test- und Entwicklungsumgebungen: verwaltete Identität, Dienstprinzipal mit Zertifikat oder Dienstprinzipal mit Geheimnis
- Lokale Entwicklung: Benutzerprinzipal oder Dienstprinzipal mit Geheimnis
Azure Identity-Clientbibliotheken
Die oben beschriebenen Authentifizierungsszenarien werden von der Azure Identity-Clientbibliothek unterstützt und sind in Key Vault SDKs integriert. Sie können die Azure Identity-Clientbibliothek umgebungs- und plattformübergreifend verwenden, ohne den Code ändern zu müssen. Die Bibliothek ruft automatisch Authentifizierungstoken von Benutzern ab, die über die Azure CLI, Visual Studio, Visual Studio Code oder auf anderem Weg als Azure-Benutzer angemeldet sind.
Weitere Informationen zur Azure Identity-Clientbibliothek finden Sie hier:
.NET | Python | Java | JavaScript |
---|---|---|---|
Azure Identity SDK .NET | Azure Identity SDK Python | Azure Identity SDK Java | Azure Identity SDK JavaScript |
Hinweis
Wir haben die App Authentication-Bibliothek für Key Vault .NET SDK, Version 3, empfohlen, aber diese ist jetzt als veraltet markiert. Befolgen Sie die Anweisungen im Leitfaden zur Migration von AppAuthentication zu Azure.Identity, um zu Key Vault .NET SDK, Version 4, zu migrieren.
Tutorials zum Authentifizieren bei Key Vault in Anwendungen finden Sie unter:
- Verwenden von Azure Key Vault mit einem virtuellen Windows in .NET
- Verwenden von Azure Key Vault mit einem virtuellen Windows in Python
- Verwenden einer verwalteten Identität für die Verbindungsherstellung zwischen Key Vault und einer Azure-Web-App in .NET
Verwalten von Schlüsseln, Zertifikaten und Geheimnissen
Hinweis
SDKs für .NET, Python, Java, JavaScript, PowerShell und die Azure CLI sind Teil des Prozesses für Key Vault-Featurereleases über Public Preview und allgemeine Verfügbarkeit (GA) mit Unterstützung des Key Vault-Dienstteams. Andere SDK-Clients für Key Vault sind verfügbar, aber sie werden von einzelnen SDK-Teams über GitHub erstellt und unterstützt und im Zeitplan ihrer Teams-Zeitplan veröffentlicht.
Die Datenebene steuert den Zugriff auf Schlüssel, Zertifikate und Geheimnisse. Sie können lokale Tresorzugriffsrichtlinien oder Azure RBAC für die Zugriffssteuerung über die Datenebene verwenden.
APIs und SDKs für Schlüssel
Azure CLI | PowerShell | REST-API | Ressourcen-Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Verweis Schnellstart |
Referenz Schnellstart |
Referenz | Referenz Schnellstart |
Referenz Schnellstart |
Referenz Schnellstart |
Referenz Schnellstart |
Referenz Schnellstart |
Weitere Bibliotheken
Kryptografieclient für Key Vault und verwaltetes HSM
Dieses Modul stellt einen Kryptografieclient für das Azure Key Vault Keys-Clientmodul für Go bereit.
Hinweis
Dieses Projekt wird nicht vom Azure SDK-Team unterstützt, sondern entspricht den Kryptografieclients in anderen unterstützten Sprachen.
Sprache | Referenz |
---|---|
Go | Referenz |
APIs und SDKs für Zertifikate
Azure CLI | PowerShell | REST-API | Ressourcen-Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Verweis Schnellstart |
Referenz Schnellstart |
Verweis | – | Referenz Schnellstart |
Referenz Schnellstart |
Referenz Schnellstart |
Referenz Schnellstart |
APIs und SDKs für Geheimnisse
Azure CLI | PowerShell | REST-API | Ressourcen-Manager | .NET | Python | Java | JavaScript |
---|---|---|---|---|---|---|---|
Verweis Schnellstart |
Referenz Schnellstart |
Referenz | Referenz Schnellstart |
Referenz Schnellstart |
Referenz Schnellstart |
Referenz Schnellstart |
Referenz Schnellstart |
Verwendung von Geheimnissen
Speichern Sie nur Geheimnisse für Ihre Anwendung in Azure Key Vault. Beispiele für Geheimnisse, die in Key Vault gespeichert werden sollten:
- Geheimnisse der Clientanwendung
- Verbindungszeichenfolgen
- Kennwörter
- Freigegebene Zugriffsschlüssel
- SSH-Schlüssel
Jegliche geheimnisbezogenen Informationen wie Benutzernamen oder Anwendungs-IDs können als Tag in einem Geheimnis gespeichert werden. Für alle anderen vertraulichen Konfigurationseinstellungen sollten Sie Azure App Configuration verwenden.
Referenzen
Installationspakete und Quellcode finden Sie unter Clientbibliotheken.
Weitere Informationen zur Datenebenensicherheit in Key Vault finden Sie unter Azure Key Vault – Sicherheit.
Verwenden von Key Vault in Anwendungen
Um von den neuesten Features in Key Vault zu profitieren, empfiehlt es sich, die verfügbaren Key Vault SDKs für die Verwendung von Geheimnissen, Zertifikaten und Schlüsseln in Ihrer Anwendung zu nutzen. Die Key Vault SDKs und die REST-API werden aktualisiert, wenn neue Features für das Produkt veröffentlicht werden, und beide folgen Best Practices und Richtlinien.
Für einfache Szenarien gibt es auch andere Bibliotheken und Integrationslösungen, die sich einfacher nutzen lassen. Der Support erfolgt hierbei durch Microsoft-Partner oder Open-Source-Communitys.
Für Zertifikate können Sie Folgendes verwenden:
- Eine Key Vault-VM-Erweiterung. Diese ermöglicht eine automatische Aktualisierung von Zertifikaten, die in einer Azure Key Vault-Instanz gespeichert sind. Weitere Informationen finden Sie unter
- Eine Azure App Service-Integration, die Zertifikate aus Key Vault importieren und automatisch aktualisieren kann. Weitere Informationen finden Sie unter Importieren eines Zertifikats aus Key Vault.
Für Geheimnisse können Sie Folgendes verwenden:
- Key Vault-Geheimnisse mit App Service-Anwendungseinstellungen. Weitere Informationen erhalten Sie unter Verwenden von Key Vault-Verweisen in App Service und Azure Functions.
- Key Vault-Verweise mit Azure App-Konfiguration, um den Zugriff Ihrer Anwendung auf Konfiguration und geheime Schlüssel zu optimieren. Weitere Informationen finden Sie unter Verwenden von Key Vault-Verweisen in Azure App Configuration.
Codebeispiele
Vollständige Beispiele für die Verwendung von Key Vault mit Anwendungen finden Sie in den Codebeispielen für Azure Key Vault.
Aufgabenspezifischer Leitfaden
Die folgenden Artikel und Szenarien bieten aufgabenspezifische Anleitungen für die Arbeit mit Azure Key Vault:
- Für den Zugriff auf eine Key Vault-Instanz muss Ihre Clientanwendung für unterschiedliche Funktionalitäten auf mehrere Endpunkte zugreifen können. Weitere Informationen finden Sie unter Zugreifen auf Azure Key Vault hinter einer Firewall.
- Eine Cloudanwendung, die auf einer Azure-VM ausgeführt wird, benötigt ein Zertifikat. Wie stellen Sie dieses Zertifikat für eine solche VM bereit? Informationen finden Sie unter Key Vault-VM-Erweiterung für Windows und Key Vault-VM-Erweiterung für Linux.
- Informationen zum Zuweisen einer Zugriffsrichtlinie über die Azure CLI, PowerShell oder das Azure-Portal finden Sie unter Zuweisen einer Key Vault-Zugriffsrichtlinie.
- Anleitungen zur Verwendung und zum Lebenszyklus einer Key Vault-Instanz und verschiedener Key Vault-Objekte mit aktiviertem vorläufigem Löschen finden Sie unter Azure Key Vault-Wiederherstellungsverwaltung mit Schutz durch vorläufiges Löschen und Bereinigungsschutz.
- Wenn Sie während der Bereitstellung einen sicheren Wert (z. B. ein Kennwort) als Parameter übergeben müssen, können Sie diesen Wert als Geheimnis in einer Key Vault-Instanz speichern und in anderen Resource Manager-Vorlagen auf den Wert verweisen. Weitere Informationen finden Sie unter Verwenden von Azure Key Vault zum Übergeben eines sicheren Parameterwerts während der Bereitstellung.
Integration in Key Vault
Die folgenden Dienste und Szenarien verwenden oder integrieren Key Vault:
- Die Verschlüsselung ruhender Daten ermöglicht die Codierung (Verschlüsselung) von Daten, wenn diese dauerhaft gespeichert werden. Datenverschlüsselungsschlüssel werden häufig mit einem Schlüssel für die Schlüsselverschlüsselung in Azure Key Vault verschlüsselt, um den Zugriff weiter einzuschränken.
- Azure Information Protection ermöglicht Ihnen, Ihren eigenen Mandantenschlüssel zu verwalten. Anstatt z.B. Ihren Mandantenschlüssel von Microsoft verwalten zu lassen (Standard), können Sie Ihren eigenen Mandantenschlüssel verwalten, um bestimmte Vorschriften zu erfüllen, die in Ihrer Organisation gelten. Die Verwaltung des eigenen Mandantenschlüssels wird auch als Bring Your Own Key (BYOK) bezeichnet.
- Mit Azure Private Link können Sie über einen privaten Endpunkt in Ihrem virtuellen Netzwerk auf Azure-Dienste wie Azure Key Vault, Azure Storage und Azure Cosmos DB sowie auf in Azure gehostete Kunden-/Partnerdienste zugreifen.
- Durch die Integration von Key Vault in Azure Event Grid können Benutzer benachrichtigt werden, wenn sich der Status eines in Key Vault gespeicherten Geheimnisses geändert hat. Sie können neue Versionen von Geheimnissen an Anwendungen verteilen oder Geheimnisse rotieren, die bald ablaufen, um Ausfälle zu verhindern.
- Schützen Sie Ihre Azure DevOps-Geheimnisse vor unerwünschtem Zugriff in Key Vault.
- Verwenden Sie in Key Vault gespeicherte Geheimnisse, um eine Verbindung mit Azure Storage aus Azure Databricks herzustellen.
- Sie können den Azure Key Vault-Anbieter für den Secrets Store CSI-Treiber in Kubernetes konfigurieren und ausführen.
Key Vault-Übersichten und -Konzepte
Sie erhalten Informationen zu folgenden Themen:
- Die Übersicht über die Azure Key Vault-Funktion für vorläufiges Löschen beschreibt ein Feature, dass die Wiederherstellung gelöschter Objekte unabhängig davon ermöglicht, ob die Löschung versehentlich oder absichtlich erfolgte.
- Informationen zu den grundlegenden Konzepten der Drosselung und einen Ansatz für Ihre App finden Sie in der Anleitung zur Drosselung von Azure Key Vault.
- Informationen zu den Beziehungen zwischen Regionen und Sicherheitsbereichen finden Sie unter Sicherheitsumgebungen und geografische Grenzen von Azure Key Vault.