OnBehalfOfCredential Klasse
Authentifiziert einen Dienstprinzipal über den Im-Auftrag-of-Flow.
Dieser Flow wird in der Regel von Diensten der mittleren Ebene verwendet, die Anforderungen für andere Dienste mit einer delegierten Benutzeridentität autorisieren. Da es sich hierbei nicht um einen interaktiven Authentifizierungsfluss handelt, muss eine Anwendung, die sie verwendet, über administratorrechte Zustimmung für alle delegierten Berechtigungen verfügen, bevor sie Token für sie anfordert. Eine ausführlichere Beschreibung des Flusses im Auftrag von finden Sie in der Azure Active Directory-Dokumentation .
- Vererbung
-
azure.identity.aio._internal.AsyncContextManagerOnBehalfOfCredentialazure.identity.aio._internal.get_token_mixin.GetTokenMixinOnBehalfOfCredential
Konstruktor
OnBehalfOfCredential(tenant_id: str, client_id: str, *, client_certificate: bytes | None = None, client_secret: str | None = None, user_assertion: str, **kwargs: Any)
Parameter
- tenant_id
- str
ID des Mandanten des Dienstprinzipals. Wird auch seine "Verzeichnis"-ID genannt.
- client_secret
- str
Optional. Ein geheimer Clientschlüssel zum Authentifizieren des Dienstprinzipals. Es müssen client_secret oder client_certificate bereitgestellt werden.
- client_certificate
- bytes
Optional. Die Bytes eines Zertifikats im PEM- oder PKCS12-Format, einschließlich des privaten Schlüssels zum Authentifizieren des Dienstprinzipals. Es müssen client_secret oder client_certificate bereitgestellt werden.
- user_assertion
- str
Erforderlich. Das Zugriffstoken, das die Anmeldeinformationen als Benutzerassertion verwenden, wenn token im Auftrag angefordert werden
- authority
- str
Autorität eines Azure Active Directory-Endpunkts, z. B. "login.microsoftonline.com", der Autorität für azure Public Cloud (standard). AzureAuthorityHosts definiert Autoritäten für andere Clouds.
Ein Zertifikatkennwort. Wird nur verwendet, wenn client_certificate bereitgestellt wird. Wenn es sich bei diesem Wert um eine Unicode-Zeichenfolge handelt, wird er als UTF-8 codiert. Wenn das Zertifikat eine andere Codierung erfordert, übergeben Sie stattdessen entsprechend codierte Bytes.
Gibt Mandanten zusätzlich zum angegebenen "tenant_id" an, für den die Anmeldeinformationen Token abrufen können. Fügen Sie den Platzhalterwert "*" hinzu, damit die Anmeldeinformationen Token für jeden Mandanten abrufen können, auf den die Anwendung zugreifen kann.
Beispiele
Erstellen Sie onBehalfOfCredential.
from azure.identity.aio import OnBehalfOfCredential
credential = OnBehalfOfCredential(
tenant_id="<tenant_id>",
client_id="<client_id>",
client_secret="<client_secret>",
user_assertion="<access_token>",
)
Methoden
close | |
get_token |
Fordern Sie ein Zugriffstoken für Bereiche an. Diese Methode wird von Azure SDK-Clients automatisch aufgerufen. |
close
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 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.