OnBehalfOfCredential Classe

Authentifie un principal de service via le flux on-behalf-of.

Ce flux est généralement utilisé par les services de niveau intermédiaire qui autorisent les demandes adressées à d’autres services avec une identité d’utilisateur déléguée. Étant donné qu’il ne s’agit pas d’un flux d’authentification interactif, une application qui l’utilise doit avoir le consentement de l’administrateur pour toutes les autorisations déléguées avant de demander des jetons pour celles-ci. Consultez la documentation Azure Active Directory pour obtenir une description plus détaillée du flux on-behalf-of.

Héritage
azure.identity.aio._internal.AsyncContextManager
OnBehalfOfCredential
azure.identity.aio._internal.get_token_mixin.GetTokenMixin
OnBehalfOfCredential

Constructeur

OnBehalfOfCredential(tenant_id: str, client_id: str, *, client_certificate: bytes | None = None, client_secret: str | None = None, user_assertion: str, **kwargs: Any)

Paramètres

tenant_id
str
Obligatoire

ID du locataire du principal de service. Également appelé son ID « répertoire ».

client_id
str
Obligatoire

ID client du principal de service

client_secret
str

Optionnel. Clé secrète client pour authentifier le principal de service. Vous devez fournir client_secret ou client_certificate .

client_certificate
bytes

Optionnel. Octets d’un certificat au format PEM ou PKCS12, y compris la clé privée pour authentifier le principal de service. Vous devez fournir client_secret ou client_certificate .

user_assertion
str

Obligatoire. Jeton d’accès que les informations d’identification utiliseront comme assertion utilisateur lors de la demande de jetons pour le compte de l’utilisateur

authority
str

Autorité d’un point de terminaison Azure Active Directory, par exemple « login.microsoftonline.com », l’autorité pour le cloud public Azure (qui est la valeur par défaut). AzureAuthorityHosts définit les autorités pour d’autres clouds.

password
str ou bytes

Un mot de passe de certificat. Utilisé uniquement lorsque client_certificate est fourni. Si cette valeur est une chaîne unicode, elle est encodée en UTF-8. Si le certificat nécessite un encodage différent, passez les octets correctement codés à la place.

additionally_allowed_tenants
List[str]

Spécifie les locataires en plus du « tenant_id » spécifié pour lequel les informations d’identification peuvent acquérir des jetons. Ajoutez la valeur générique « * » pour permettre aux informations d’identification d’acquérir des jetons pour n’importe quel locataire auquel l’application peut accéder.

Exemples

Créez un 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>",
   )

Méthodes

close
get_token

Demandez un jeton d’accès pour les étendues.

Cette méthode est appelée automatiquement par les clients du Kit de développement logiciel (SDK) Azure.

close

async close() -> None

get_token

Demandez un jeton d’accès pour les étendues.

Cette méthode est appelée automatiquement par les clients du Kit de développement logiciel (SDK) Azure.

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

Paramètres

scopes
str
Obligatoire

étendues souhaitées pour le jeton d’accès. Cette méthode nécessite au moins une étendue. Pour plus d’informations sur les étendues, consultez https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

revendications supplémentaires requises dans le jeton, telles que celles retournées dans la contestation de revendications d’un fournisseur de ressources suite à un échec d’autorisation.

tenant_id
str

locataire facultatif à inclure dans la demande de jeton.

enable_cae
bool

indique s’il faut activer l’évaluation continue de l’accès (CAE) pour le jeton demandé. Valeur par défaut False.

Retours

Jeton d’accès avec les étendues souhaitées.

Type de retour

Exceptions

les informations d’identification ne peuvent pas tenter d’authentification, car elles ne disposent pas de la prise en charge des données, de l’état ou de la plateforme requises

échec de l’authentification. L’attribut de l’erreur message donne une raison.