Compartir a través de


OnBehalfOfCredential Clase

Autentica una entidad de servicio a través del flujo en nombre de .

Normalmente, los servicios de nivel intermedio usan este flujo que autorizan las solicitudes a otros servicios con una identidad de usuario delegada. Dado que no es un flujo de autenticación interactivo, una aplicación que lo usa debe tener el consentimiento del administrador para los permisos delegados antes de solicitar tokens para ellos. Consulte la documentación de Azure Active Directory para obtener una descripción más detallada del flujo en nombre de.

Herencia
azure.identity.aio._internal.AsyncContextManager
OnBehalfOfCredential
azure.identity.aio._internal.get_token_mixin.GetTokenMixin
OnBehalfOfCredential

Constructor

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

Parámetros

tenant_id
str
Requerido

Identificador del inquilino de la entidad de servicio. También se denomina identificador de "directorio".

client_id
str
Requerido

Identificador de cliente de la entidad de servicio

client_secret
str

Opcional. Un secreto de cliente para autenticar la entidad de servicio. Se deben proporcionar client_secret o client_certificate .

client_certificate
bytes

Opcional. Bytes de un certificado en formato PEM o PKCS12, incluida la clave privada para autenticar la entidad de servicio. Se deben proporcionar client_secret o client_certificate .

user_assertion
str

Necesario. El token de acceso que usará la credencial como aserción de usuario al solicitar tokens en nombre de

authority
str

Autoridad de un punto de conexión de Azure Active Directory, por ejemplo, "login.microsoftonline.com", la autoridad de la nube pública de Azure (que es el valor predeterminado). AzureAuthorityHosts define autoridades para otras nubes.

password
str o bytes

Una contraseña de certificado. Se usa solo cuando se proporciona client_certificate . Si este valor es una cadena unicode, se codificará como UTF-8. Si el certificado requiere una codificación diferente, pase los bytes codificados correctamente en su lugar.

additionally_allowed_tenants
List[str]

Especifica los inquilinos además del especificado "tenant_id" para el que la credencial puede adquirir tokens. Agregue el valor de carácter comodín "*" para permitir que la credencial adquiera tokens para cualquier inquilino al que pueda acceder la aplicación.

Ejemplos

Cree 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étodos

close
get_token

Solicite un token de acceso para los ámbitos.

Los clientes del SDK de Azure llaman automáticamente a este método.

close

async close() -> None

get_token

Solicite un token de acceso para los ámbitos.

Los clientes del SDK de Azure llaman automáticamente a este método.

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

Parámetros

scopes
str
Requerido

ámbitos deseados para el token de acceso. Este método requiere al menos un ámbito. Para obtener más información sobre los ámbitos, vea https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

Notificaciones adicionales necesarias en el token, como las que se devuelven en el desafío de notificaciones de un proveedor de recursos después de un error de autorización.

tenant_id
str

inquilino opcional que se va a incluir en la solicitud de token.

enable_cae
bool

indica si se va a habilitar la evaluación continua de acceso (CAE) para el token solicitado. El valor predeterminado es False.

Devoluciones

Un token de acceso con los ámbitos deseados.

Tipo de valor devuelto

Excepciones

la credencial no puede intentar la autenticación porque carece de compatibilidad con los datos, el estado o la plataforma necesarios.

error de autenticación. El atributo del message error proporciona una razón.