identity Paquete

Credenciales para los clientes del SDK de Azure.

Paquetes

aio

Credenciales para clientes asincrónicos del SDK de Azure.

Clases

AuthenticationRecord

Información de cuenta no secreta para un usuario autenticado

Esta clase permite DeviceCodeCredential y InteractiveBrowserCredential acceder a los datos de autenticación almacenados en caché previamente. Las aplicaciones no deben construir instancias de esta clase. En su lugar, deben adquirir uno del método de autenticación de una credencial, como authenticate. Consulte el ejemplo de user_authentication para obtener más detalles.

AuthenticationRequiredError

La autenticación interactiva es necesaria para adquirir un token.

Este error solo lo generan las credenciales de usuario interactivas configuradas para no solicitar automáticamente la interacción del usuario según sea necesario. Sus propiedades proporcionan información adicional que puede ser necesaria para autenticarse. En el ejemplo de control_interactive_prompts se muestra cómo controlar este error llamando al método "authenticate" de una credencial.

AuthorizationCodeCredential

Se autentica canjeando un código de autorización obtenido previamente de Azure Active Directory.

Consulte la documentación de Azure Active Directory para más información sobre el flujo de autenticación.

AzureAuthorityHosts

Credenciales para los clientes del SDK de Azure.

AzureCliCredential

Se autentica solicitando un token desde la CLI de Azure.

Esto requiere iniciar sesión previamente en Azure a través de "az login" y usará la identidad registrada actualmente de la CLI.

AzureDeveloperCliCredential

Se autentica solicitando un token desde el Azure Developer CLI.

Azure Developer CLI es una herramienta de interfaz de línea de comandos que permite a los desarrolladores crear, administrar e implementar recursos en Azure. Se basa en la CLI de Azure y proporciona funcionalidad adicional específica para los desarrolladores de Azure. Permite a los usuarios autenticarse como un usuario o una entidad de servicio en Azure Active Directory (Azure AD). AzureDeveloperCliCredential se autentica en un entorno de desarrollo y adquiere un token en nombre del usuario o la entidad de servicio que ha iniciado sesión en Azure Developer CLI. Actúa como el Azure Developer CLI usuario o entidad de servicio que ha iniciado sesión y ejecuta un comando de la CLI de Azure debajo para autenticar la aplicación en Azure Active Directory.

Para usar esta credencial, el desarrollador debe autenticarse localmente en Azure Developer CLI mediante uno de los siguientes comandos:

  • Ejecute "azd auth login" en Azure Developer CLI para autenticarse de forma interactiva como usuario.

  • Ejecute "azd auth login –client-id 'client_id' –client-secret 'client_secret' –tenant-id 'tenant_id'" para autenticarse como entidad de servicio.

Es posible que tenga que repetir este proceso después de un determinado período de tiempo, en función de la validez del token de actualización de su organización. Por lo general, este período de validez es de unas semanas o unos meses. AzureDeveloperCliCredential le pedirá que vuelva a iniciar sesión.

AzurePowerShellCredential

Se autentica solicitando un token de Azure PowerShell.

Esto requiere iniciar sesión anteriormente en Azure a través de "Connect-AzAccount" y usará la identidad iniciada actualmente.

CertificateCredential

Se autentica como entidad de servicio mediante un certificado.

El certificado debe tener una clave privada RSA, ya que esta credencial firma las aserciones mediante RS256. Consulte la documentación de Azure Active Directory para más información sobre cómo configurar la autenticación de certificados.

ChainedTokenCredential

Secuencia de credenciales que es una credencial.

Su get_token método llama get_token a en cada credencial de la secuencia, en orden, devolviendo el primer token válido recibido.

ClientAssertionCredential

Autentica una entidad de servicio con una aserción de JWT.

Esta credencial es para escenarios avanzados. CertificateCredential tiene una API más cómoda para el escenario de aserción más común, autenticando una entidad de servicio con un certificado.

ClientSecretCredential

Se autentica como entidad de servicio mediante un secreto de cliente.

CredentialUnavailableError

La credencial no intentó autenticarse porque los datos o el estado necesarios no están disponibles.

DefaultAzureCredential

Una credencial predeterminada capaz de controlar la mayoría de los escenarios de autenticación del SDK de Azure.

La identidad que usa depende del entorno. Cuando se necesita un token de acceso, solicita una mediante estas identidades a su vez, deteniendo cuando se proporciona un token:

  1. Una entidad de servicio configurada por variables de entorno. Para obtener más información, consulte EnvironmentCredential.

  2. WorkloadIdentityCredential si la configuración de la variable de entorno está establecida por el webhook de identidad de carga de trabajo de Azure.

  3. Una identidad administrada de Azure. Para obtener más información, consulte ManagedIdentityCredential.

  4. Solo en Windows: un usuario que ha iniciado sesión con una aplicación de Microsoft, como Visual Studio. Si hay varias identidades en la memoria caché, el valor de la variable AZURE_USERNAME de entorno se usa para seleccionar la identidad que se va a usar. Para obtener más información, consulte SharedTokenCacheCredential.

  5. La identidad que ha iniciado sesión actualmente en la CLI de Azure.

  6. La identidad que ha iniciado sesión actualmente en Azure PowerShell.

  7. La identidad que ha iniciado sesión actualmente en el Azure Developer CLI.

Este comportamiento predeterminado se puede configurar con argumentos de palabra clave.

DeviceCodeCredential

Autentica a los usuarios a través del flujo de código del dispositivo.

Cuando get_token se llama a , esta credencial adquiere una dirección URL de verificación y un código de Azure Active Directory. Un usuario debe ir a la dirección URL, escribir el código y autenticarse con Azure Active Directory. Si el usuario se autentica correctamente, la credencial recibe un token de acceso.

Esta credencial es principalmente útil para autenticar a un usuario en un entorno sin un explorador web, como una sesión SSH. Si hay un explorador web disponible, InteractiveBrowserCredential es más cómodo porque abre automáticamente un explorador en la página de inicio de sesión.

EnvironmentCredential

Una credencial configurada por variables de entorno.

Esta credencial es capaz de autenticarse como entidad de servicio mediante un secreto de cliente o un certificado, o como usuario con un nombre de usuario y una contraseña. La configuración se intenta en este orden mediante estas variables de entorno:

Entidad de servicio con secreto:

  • AZURE_TENANT_ID: identificador del inquilino de la entidad de servicio. También se denomina su identificador de "directorio".

  • AZURE_CLIENT_ID: identificador de cliente de la entidad de servicio

  • AZURE_CLIENT_SECRET: uno de los secretos de cliente de la entidad de servicio

  • AZURE_AUTHORITY_HOST: 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 cuando no se proporciona ningún valor.

Entidad de servicio con certificado:

  • AZURE_TENANT_ID: identificador del inquilino de la entidad de servicio. También se denomina su identificador de "directorio".

  • AZURE_CLIENT_ID: identificador de cliente de la entidad de servicio

  • AZURE_CLIENT_CERTIFICATE_PATH: ruta de acceso a un archivo de certificado PEM o PKCS12, incluida la clave privada.

  • AZURE_CLIENT_CERTIFICATE_PASSWORD: (opcional) contraseña del archivo de certificado, si existe.

  • AZURE_AUTHORITY_HOST: 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 cuando no se proporciona ningún valor.

Usuario con nombre de usuario y contraseña:

  • AZURE_CLIENT_ID: identificador de cliente de la aplicación

  • AZURE_USERNAME: un nombre de usuario (normalmente una dirección de correo electrónico)

  • AZURE_PASSWORD: la contraseña de ese usuario

  • AZURE_TENANT_ID: (opcional) identificador del inquilino de la entidad de servicio. También se denomina su identificador de "directorio". Si no se proporciona, el valor predeterminado es el inquilino de "organizaciones", que solo admite cuentas profesionales o educativas de Azure Active Directory.

  • AZURE_AUTHORITY_HOST: 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 cuando no se proporciona ningún valor.

InteractiveBrowserCredential

Abre un explorador para autenticar interactivamente a un usuario.

get_token abre un explorador en una dirección URL de inicio de sesión proporcionada por Azure Active Directory y autentica a un usuario allí con el flujo de código de autorización, mediante PKCE (clave de prueba para Intercambio de código) internamente para proteger el código.

KnownAuthorities

Alias de AzureAuthorityHosts.

ManagedIdentityCredential

Se autentica con una identidad administrada de Azure en cualquier entorno de hospedaje que admita identidades administradas.

Esta credencial tiene como valor predeterminado usar una identidad asignada por el sistema. Para configurar una identidad asignada por el usuario, use uno de los argumentos de palabra clave. Consulte la documentación de Azure Active Directory para más información sobre cómo configurar la identidad administrada para aplicaciones.

OnBehalfOfCredential

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

Normalmente, este flujo lo usan los servicios de nivel intermedio que autorizan las solicitudes a otros servicios con una identidad de usuario delegada. Dado que no es un flujo de autenticación interactiva, 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 .

SharedTokenCacheCredential

Realiza la autenticación mediante tokens en la caché local compartida entre aplicaciones de Microsoft.

TokenCachePersistenceOptions

Opciones para el almacenamiento en caché de tokens persistentes.

La mayoría de las credenciales aceptan una instancia de esta clase para configurar el almacenamiento en caché de tokens persistente. Los valores predeterminados configuran una credencial para usar una memoria caché compartida con las herramientas de desarrollo de Microsoft y SharedTokenCacheCredential. Para aislar los datos de una credencial de otras aplicaciones, especifique un nombre para la memoria caché.

De forma predeterminada, la memoria caché se cifra con la API de protección de datos de usuario de la plataforma actual y generará un error cuando esto no esté disponible. Para configurar la memoria caché para que se revierte a un archivo sin cifrar en lugar de generar un error, especifique allow_unencrypted_storage=True.

Advertencia

La memoria caché contiene secretos de autenticación. Si la memoria caché no está cifrada, la protección es la

responsabilidad de la aplicación. Una infracción de su contenido comprometerá completamente las cuentas.

UsernamePasswordCredential

Autentica a un usuario con un nombre de usuario y una contraseña.

En general, Microsoft no recomienda este tipo de autenticación, ya que es menos seguro que otros flujos de autenticación.

La autenticación con esta credencial no es interactiva, por lo que no es compatible con ninguna forma de autenticación multifactor o solicitud de consentimiento. La aplicación ya debe tener el consentimiento del usuario o un administrador de directorios.

Esta credencial solo puede autenticar cuentas profesionales y educativas; No se admiten cuentas de Microsoft. Consulte la documentación de Azure Active Directory para obtener más información sobre los tipos de cuenta.

VisualStudioCodeCredential

Se autentica como el usuario de Azure que ha iniciado sesión en Visual Studio Code a través de la extensión "Cuenta de Azure".

Se trata de un problema conocido que esta credencial no funciona con las versiones de la extensión de la cuenta de Azure más recientes que 0.9.11. Está en curso una corrección a largo plazo de este problema. Mientras tanto, considere la posibilidad de autenticarse con AzureCliCredential.

WorkloadIdentityCredential

Se autentica mediante una identidad de carga de trabajo de Azure Active Directory.

La autenticación de identidad de carga de trabajo es una característica de Azure que permite a las aplicaciones que se ejecutan en máquinas virtuales (VM) acceder a otros recursos de Azure sin necesidad de una entidad de servicio o una identidad administrada. Con la autenticación de identidad de carga de trabajo, las aplicaciones se autentican mediante su propia identidad, en lugar de usar una entidad de servicio compartida o una identidad administrada. En segundo plano, la autenticación de identidad de carga de trabajo usa el concepto de credenciales de cuenta de servicio (SACs), que Azure crea automáticamente y almacena de forma segura en la máquina virtual. Mediante la autenticación de identidad de carga de trabajo, puede evitar la necesidad de administrar e rotar las entidades de servicio o las identidades administradas para cada aplicación de cada máquina virtual. Además, dado que Azure crea y administra automáticamente las SACs, no es necesario preocuparse por almacenar y proteger las credenciales confidenciales.

WorkloadIdentityCredential admite la autenticación de identidad de carga de trabajo de Azure en Azure Kubernetes y adquiere un token mediante las credenciales de la cuenta de servicio disponibles en el entorno de Azure Kubernetes. Consulte esta información general sobre la identidad de carga de trabajo para obtener más información.