Was ist Azure Key Vault?

Abgeschlossen

Azure Key Vault ist ein Geheimnisspeicher: ein zentralisierter Clouddienst zum Speichern von Anwendungsgeheimnissen, also Konfigurationswerten wie Kennwörter und Verbindungszeichenfolgen, die jederzeit geschützt werden müssen. Key Vault hilft Ihnen, die Geheimnisse Ihrer Anwendungen zu kontrollieren, indem Sie sie an einem einzigen zentralen Ort aufbewahren. Es bietet sicheren Zugriff, Berechtigungskontrolle und Zugriffsprotokollierung.

Folgende Hauptvorteile ergeben sich aus der Nutzung von Key Vault:

  • Trennung der sensiblen Anwendungsdaten von anderen Konfigurationen und Codes, was das Risiko von versehentlichen Verlusten verringert
  • Eingeschränkter Zugriff auf Geheimnisse durch individuelle Zugriffsrichtlinien für Apps und deren Benutzer
  • Zentralisierter Geheimnisspeicher, d. h., erforderliche Änderungen müssen nur an einem Ort vorgenommen werden.
  • Zugriffsprotokollierung und -überwachung, mit der Sie nachvollziehen können, wie und wann auf Geheimnisse zugegriffen wurde

Geheimnisse werden in einzelnen Tresoren gespeichert. Dabei handelt es sich um Azure-Ressourcen, die zum Gruppieren von Geheimnissen dienen. Der Zugriff auf Geheimnisse und die Verwaltung des Tresors erfolgt über eine REST-API. Alle Azure-Verwaltungstools und Clientbibliotheken, die für viele gängige Sprachen verfügbar sind, unterstützen diese API ebenfalls. Jeder Tresor verfügt über eine eindeutige URL, unter der seine API gehostet wird.

Wichtig

Key Vault dient zum Speichern von Konfigurationsgeheimnissen für Server-Apps. Es ist nicht dafür gedacht, Daten der Benutzer*innen Ihrer App zu speichern. Es sollte nicht im clientseitigen Teil einer Anwendung verwendet werden. Dieses Verhalten spiegelt sich in seinen Leistungsmerkmalen, der API und dem Kostenmodell wider.

Benutzerdaten sollten an anderer Stelle gespeichert werden, z.B. in einer Azure SQL-Datenbank mit Transparent Data Encryption, oder auf einem Speicherkonto mit Speicherdienstverschlüsselung. Geheimnisse, die von Ihrer App verwendet werden, um auf diese Datenspeicher zuzugreifen, können in Key Vault gespeichert werden.

Was ist ein Geheimnis in Key Vault?

In Key Vault ist ein Geheimnis ein Name/Wert-Paar von Zeichenfolgen. Geheimnisnamen müssen 1-127 Zeichen lang sein, dürfen nur alphanumerische Zeichen und Bindestriche enthalten und müssen in einem Tresor eindeutig sein. Ein geheimer Wert kann jede bis zu 25 KB große UTF-8-Zeichenfolge sein.

Tipp

Geheimnisnamen müssen nicht an sich als Geheimnis behandelt werden. Sie können sie in der Konfiguration Ihrer App speichern, wenn Ihre Implementierung dies erfordert. Dasselbe gilt für Tresornamen und URLs.

Hinweis

Key Vault unterstützt neben Zeichenketten zwei weitere Arten von Geheimnissen: Schlüssel und Zertifikate. Key Vault bietet nützliche Funktionen, die speziell auf ihre Anwendungsfälle zugeschnitten sind. Dieses Modul behandelt diese Funktionen nicht und konzentriert sich auf die geheimen Zeichenfolgen wie Kennwörter und Verbindungszeichenfolgen.

Tresorauthentifizierung und -berechtigungen

Die Key Vault-API verwendet Microsoft Entra-ID zum Authentifizieren von Benutzer*innen und Apps. Tresorzugriffsrichtlinien basieren auf Aktionen und gelten für einen gesamten Tresor. So kann beispielsweise eine Anwendung mit den Berechtigungen Get (geheime Werte lesen), List (Namen aller Geheimnisse auflisten) und Set (geheime Werte erstellen oder aktualisieren) für einen Tresor Geheimnisse erstellen, alle Namen von Geheimnissen auflisten und alle geheimen Werte in diesem Tresor abrufen und festlegen.

Alle Aktionen, die für einen Tresor ausgeführt werden, erfordern Authentifizierung und Autorisierung. Es gibt keine Möglichkeit, anonymen Zugriff zu gewähren.

Tipp

Wenn Sie Entwickler*innen und Anwendungen Zugriff auf den Tresor gewähren, sollten Sie nur das Minimum an Berechtigungen gewähren. Berechtigungsbeschränkungen helfen, Unregelmäßigkeiten durch Codefehler zu vermeiden und die Auswirkungen von gestohlenen Anmeldeinformationen oder bösartigem Code in Ihrer Anwendung zu reduzieren.

Entwickler*innen benötigen für einen Entwicklungsumgebungstresor nur die Berechtigungen Get und List. Einige Entwickler*innen benötigen Vollzugriff, um bei Bedarf Geheimnisse zu ändern und hinzuzufügen.

Für Apps sind oft nur Get-Berechtigungen erforderlich. Einige Apps können List erfordern, je nachdem, wie sie implementiert sind. Die App, die Sie in der Übung dieses Moduls implementieren werden, benötigt aufgrund des Verfahrens, mit dem sie Geheimnisse aus dem Tresor liest, die Berechtigung List.