Authentifizieren bei Azure Key Vault

Abgeschlossen

Die Authentifizierung mit Key Vault funktioniert mit Microsoft Entra ID, die für die Authentifizierung der Identität eines bestimmten Sicherheitsprinzipals verantwortlich ist. Ein Sicherheitsprinzipal ist alles, was den Zugriff auf Azure-Ressourcen anfordern kann. Dazu gehören:

  • Benutzer – Echte Personen mit Konten in microsoft Entra ID.
  • Gruppen – Sammlungen von Benutzern. Berechtigungen, die der Gruppe zugewiesen werden, gelten für alle Mitglieder.
  • Dienstprinzipale – Stellen Sie Apps oder Dienste dar (nicht Personen). Stellen Sie sich dies wie ein Benutzerkonto für eine App vor.

Für Anwendungen gibt es zwei Hauptmethoden zum Abrufen eines Dienstprinzipals:

  • Verwenden Sie eine verwaltete Identität (empfohlen): Azure erstellt und verwaltet den Dienstprinzipal für Sie. Die App kann sicher auf andere Azure-Dienste zugreifen, ohne Anmeldeinformationen zu speichern. Funktioniert mit Diensten wie App Service, Azure Functions und virtuellen Computern.

  • Registrieren Sie die App manuell: Sie registrieren die App in der Microsoft Entra-ID. Dadurch wird ein Dienstprinzipal und ein App-Objekt erstellt, das die App in allen Mandanten identifiziert.

Anmerkung

Es wird empfohlen, eine vom System zugewiesene verwaltete Identität zu verwenden.

Authentifizierung bei Key Vault im Anwendungscode

Key Vault SDK verwendet die Azure Identity-Clientbibliothek, die die nahtlose Authentifizierung für Key Vault über Umgebungen mit demselben Code hinweg ermöglicht. Die folgende Tabelle enthält Informationen zu den Azure Identity-Clientbibliotheken:

.NET Python Java JavaScript
Azure Identity SDK .NET Azure Identity SDK Python Azure Identity SDK für Java Azure Identity SDK-JavaScript-

Authentifizierung zu Key Vault mit REST

Zugriffstoken müssen mithilfe des HTTP-Autorisierungsheaders an den Dienst gesendet werden:

PUT /keys/MYKEY?api-version=<api_version>  HTTP/1.1  
Authorization: Bearer <access_token>

Wenn kein Zugriffstoken bereitgestellt wird oder wenn der Dienst ein Token ablehnt, wird ein HTTP 401 Fehler an den Client zurückgegeben und enthält beispielsweise den WWW-Authenticate Header:

401 Not Authorized  
WWW-Authenticate: Bearer authorization="…", resource="…"

Die Parameter für die kopfzeile WWW-Authenticate sind:

  • Autorisierung: Die Adresse des OAuth2-Autorisierungsdiensts, der zum Abrufen eines Zugriffstokens für die Anforderung verwendet werden kann.

  • resource: Der Name der Ressource (https://vault.azure.net), die in der Autorisierungsanfrage verwendet werden soll.

Weitere Ressourcen