Freigeben über


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.AsyncContextManager
OnBehalfOfCredential
azure.identity.aio._internal.get_token_mixin.GetTokenMixin
OnBehalfOfCredential

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
Erforderlich

ID des Mandanten des Dienstprinzipals. Wird auch seine "Verzeichnis"-ID genannt.

client_id
str
Erforderlich

Client-ID des Dienstprinzipals

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.

password
str oder bytes

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.

additionally_allowed_tenants
List[str]

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
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.