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, ohne dass ein Dienstprinzipal oder eine verwaltete Identität erforderlich ist, auf andere Azure-Ressourcen zugreifen können. Bei der Workloadidentitätsauthentifizierung authentifizieren sich Anwendungen selbst mit ihrer eigenen Identität, anstatt einen freigegebenen 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 der VM gespeichert werden. Mithilfe der Workloadidentitätsauthentifizierung können Sie die Notwendigkeit vermeiden, Dienstprinzipale oder verwaltete Identitäten für jede Anwendung auf jedem virtuellen Computer zu verwalten und zu rotieren. 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 mithilfe der 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.aio._credentials.client_assertion.ClientAssertionCredentialWorkloadIdentityCredentialazure.identity._credentials.workload_identity.TokenFileMixinWorkloadIdentityCredential
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 als "Verzeichnis"-ID bezeichnet.
- 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 ein WorkloadIdentityCredential-Objekt.
from azure.identity.aio 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 |
Schließen Sie die Transportsitzung der Anmeldeinformationen. |
get_token |
Fordern Sie ein Zugriffstoken für Bereiche an. Diese Methode wird von Azure SDK-Clients automatisch aufgerufen. |
close
Schließen Sie die Transportsitzung der Anmeldeinformationen.
async close() -> None
get_token
Fordern Sie ein Zugriffstoken für Bereiche an.
Diese Methode wird von Azure SDK-Clients automatisch aufgerufen.
async get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken
Parameter
- scopes
- str
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 die fortlaufende Zugriffsauswertung (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 nicht versucht werden, die Authentifizierung zu versuchen, da die erforderlichen Daten, der Status oder die Plattform nicht unterstützt werden.
Fehler bei der Authentifizierung. Das Attribut des Fehlers message
gibt einen Grund an.