Freigeben über


WorkloadIdentityCredential Klasse

Authentifiziert sich mithilfe einer Azure Active Directory-Workloadidentität.

Die Workloadidentitätsauthentifizierung ist ein Feature in Azure, mit dem Anwendungen, die auf virtuellen Computern (VMs) ausgeführt werden, auf andere Azure-Ressourcen zugreifen können, ohne dass ein Dienstprinzipal oder eine verwaltete Identität erforderlich ist. Bei der Workloadidentitätsauthentifizierung authentifizieren sich Anwendungen mit ihrer eigenen Identität, anstatt einen gemeinsamen Dienstprinzipal oder eine verwaltete Identität zu verwenden. Unter der Haube verwendet die Workloadidentitätsauthentifizierung das Konzept der Dienstkontoanmeldeinformationen (Service Account Credentials, SACs), die automatisch von Azure erstellt und sicher auf dem virtuellen Computer gespeichert werden. Durch die Authentifizierung der Workloadidentität können Sie vermeiden, dass Dienstprinzipale oder verwaltete Identitäten für jede Anwendung auf den einzelnen virtuellen Computern verwaltet und rotiert werden müssen. Da SACs automatisch erstellt und von Azure verwaltet werden, müssen Sie sich darüber hinaus keine Gedanken über das Speichern und Schützen vertraulicher Anmeldeinformationen selbst machen.

WorkloadIdentityCredential unterstützt die Authentifizierung der Azure-Workloadidentität in Azure Kubernetes und ruft ein Token mit den Anmeldeinformationen des Dienstkontos ab, die in der Azure Kubernetes-Umgebung verfügbar sind. Weitere Informationen finden Sie in dieser Übersicht über die Workloadidentität .

Vererbung
azure.identity._credentials.client_assertion.ClientAssertionCredential
WorkloadIdentityCredential
azure.identity._credentials.workload_identity.TokenFileMixin
WorkloadIdentityCredential

Konstruktor

WorkloadIdentityCredential(*, tenant_id: str | None = None, client_id: str | None = None, token_file_path: str | None = None, **kwargs: Any)

Parameter

tenant_id
str

ID des Azure Active Directory-Mandanten der Anwendung. Wird auch seine "Verzeichnis"-ID genannt.

client_id
str

Die Client-ID einer Azure AD-App-Registrierung.

token_file_path
str

Der Pfad zu einer Datei, die ein Kubernetes-Dienstkontotoken enthält, das die Identität authentifiziert.

Beispiele

Erstellen Sie workloadIdentityCredential.


   from azure.identity import WorkloadIdentityCredential

   credential = WorkloadIdentityCredential(
       tenant_id="<tenant_id>",
       client_id="<client_id>",
       token_file_path="<token_file_path>",
   )

   # Parameters can be omitted if the following environment variables are set:
   #   - AZURE_TENANT_ID
   #   - AZURE_CLIENT_ID
   #   - AZURE_FEDERATED_TOKEN_FILE
   credential = WorkloadIdentityCredential()

Methoden

close
get_token

Fordern Sie ein Zugriffstoken für Bereiche an.

Diese Methode wird von Azure SDK-Clients automatisch aufgerufen.

close

close() -> None

get_token

Fordern Sie ein Zugriffstoken für Bereiche an.

Diese Methode wird von Azure SDK-Clients automatisch aufgerufen.

get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken

Parameter

scopes
str
Erforderlich

gewünschte Bereiche für das Zugriffstoken. Für diese Methode ist mindestens ein Bereich erforderlich. Weitere Informationen zu Bereichen finden Sie unter https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

zusätzliche Ansprüche, die im Token erforderlich sind, z. B. die in der Anspruchsanforderung eines Ressourcenanbieters nach einem Autorisierungsfehler zurückgegeben werden.

tenant_id
str

optionaler Mandant, der in die Tokenanforderung aufgenommen werden soll.

enable_cae
bool

gibt an, ob Continuous Access Evaluation (CAE) für das angeforderte Token aktiviert werden soll. Der Standardwert lautet „False“.

Gibt zurück

Ein Zugriffstoken mit den gewünschten Bereichen.

Rückgabetyp

Ausnahmen

Die Anmeldeinformationen können keine Authentifizierungsversuche ausführen, da die erforderliche Daten-, Zustands- oder Plattformunterstützung fehlt.

Fehler bei der Authentifizierung. Das Attribut des Fehlers message gibt einen Grund an.