DefaultAzureCredential Clase
- java.
lang. Object - com.
azure. identity. ChainedTokenCredential - com.
azure. identity. DefaultAzureCredential
- com.
- com.
public final class DefaultAzureCredential
extends ChainedTokenCredential
DefaultAzureCredential es adecuado para la mayoría de los escenarios en los que la aplicación está pensada para ejecutarse en Azure en última instancia. DefaultAzureCredential combina las credenciales que se usan normalmente para autenticarse cuando se implementan, con credenciales que se usan para autenticarse en un entorno de desarrollo. DefaultAzureCredential intentará autenticarse a través de los siguientes mecanismos en orden.
! [Imagen 1] []
- EnvironmentCredential - DefaultAzureCredential leerá la información de la cuenta especificada a través de variables de entorno y la usará para autenticarse.
- WorkloadIdentityCredential - Si la aplicación se implementa en Kubernetes con variables de entorno establecidas por el webhook de identidad de carga de trabajo, DefaultAzureCredential autenticará la identidad configurada.
- ManagedIdentityCredential - Si la aplicación se implementa en un host de Azure con la identidad administrada habilitada, DefaultAzureCredential se autenticará con esa cuenta.
- IntelliJCredential - Si se ha autenticado a través de [Azure Toolkit for IntelliJ][], defaultAzureCredential se autenticará con esa cuenta.
- AzureCliCredential - Si ha autenticado una cuenta mediante el comando de la CLI
az login
de Azure, DefaultAzureCredential se autenticará con esa cuenta. - AzurePowerShellCredential - Si ha autenticado una cuenta mediante el comando [Azure Power Shell][],
Az Login
defaultAzureCredential se autenticará con esa cuenta. - Se produce un error si no se pudo crear ninguna de las credenciales anteriores.
Para más información, consulte la [documentación de autenticación de credenciales de Azure predeterminada][].
Configuración de DefaultAzureCredential
DefaultAzureCredential admite un conjunto de configuraciones a través de establecedores en las DefaultAzureCredentialBuilder variables de entorno o .
- Al establecer las variables
AZURE_CLIENT_ID
de entorno ,AZURE_CLIENT_SECRET/AZURE_CLIENT_CERTIFICATE_PATH
yAZURE_TENANT_ID
se configura DefaultAzureCredential para autenticarse como la entidad de servicio especificada por los valores. - Al establecer managedIdentityClientId(String clientId) en el generador o en la variable de entorno AZURE_CLIENT_ID se configura DefaultAzureCredential para autenticarse como una identidad administrada definida por el usuario, mientras se deja vacía, se configura para autenticarse como una identidad administrada asignada por el sistema.
- Al establecer tenantId(String tenantId) en el generador o la variable
AZURE_TENANT_ID
de entorno, se configura DefaultAzureCredential para autenticarse en un inquilino específico para Visual Studio Code e IntelliJ IDEA.
Ejemplo: Construir DefaultAzureCredential
En el ejemplo de código siguiente se muestra la creación de un objeto DefaultAzureCredential, con para DefaultAzureCredentialBuilder configurarlo. Una vez creada esta credencial, se puede pasar al generador de muchos de los generadores de cliente de Azure SDK para Java como el parámetro "credential".
TokenCredential defaultAzureCredential = new DefaultAzureCredentialBuilder()
.build();
Ejemplo: Construir DefaultAzureCredential con identidad administrada asignada por el usuario
User-Assigned identidad administrada (UAMI) en Azure es una característica que permite crear una identidad en [Azure Active Directory (Azure AD) ][Azure Active Directory Azure AD] asociado a uno o varios recursos de Azure. Después, esta identidad se puede usar para autenticar y autorizar el acceso a varios servicios y recursos de Azure. En el ejemplo de código siguiente se muestra la creación de un valor DefaultAzureCredential para tener como destino una identidad administrada asignada por el usuario, mediante para DefaultAzureCredentialBuilder configurarla. Una vez creada esta credencial, se puede pasar al generador de muchos de los generadores de cliente de Azure SDK para Java como el parámetro "credential".
TokenCredential dacWithUserAssignedManagedIdentity = new DefaultAzureCredentialBuilder()
.managedIdentityClientId("<Managed-Identity-Client-Id")
.build();
[Imagen 1]: [Kit de herramientas de Azure para IntelliJ]: [Azure Power Shell]: https://learn.microsoft.com/azure/developer/java/toolkit-for-intellij/https://learn.microsoft.com/powershell/azure/?view=azps-9.4.0 [documentación de autenticación de credenciales de Azure predeterminada]: [Azure Active Directory Azure AD]: https://aka.ms/azsdk/java/identity/defaultazurecredential/docshttps://learn.microsoft.com/azure/active-directory/fundamentals/