Inicio de sesión interactivo con la CLI de Azure

El método de autenticación predeterminado de la CLI de Azure para los inicios de sesión usa un explorador web y un token de acceso para iniciar sesión.

  1. Ejecute el comando az login.

    az login
    

    Si la CLI de Azure puede abrir el explorador predeterminado, inicia el flujo de código de autorización y abre el explorador predeterminado para cargar una página de inicio de sesión de Azure.

    De lo contrario, inicie el flujo de código del dispositivo y le indica que abra una página del explorador en https://aka.ms/devicelogin. A continuación, escriba el código que se muestra en el terminal.

    Si no hay ningún explorador web disponible o no se puede abrir el explorador web, es posible que tenga que forzar el flujo de código de dispositivo con az login --use-device-code.

  2. Inicie sesión con las credenciales de su cuenta en el explorador.

Inicie sesión con sus credenciales en la línea de comandos.

Proporcione sus credenciales de usuario de Azure en la línea de comandos. Use solo este método de autenticación para aprender comandos de la CLI de Azure. Las aplicaciones de nivel de producción deben usar una entidad de servicio o una identidad administrada.

Este enfoque no es compatible con cuentas de Microsoft o cuentas que tienen habilitada la autenticación en dos fases. Recibirá un mensaje se necesita autenticación interactiva .

az login --user <username> --password <password>

Importante

Si desea evitar que se muestre la contraseña en la consola y está usando az login de forma interactiva, utilice el comando read -s en bash.

read -sp "Azure password: " AZ_PASS && echo && az login -u <username> -p $AZ_PASS

En PowerShell, use el cmdlet Get-Credential.

$AzCred = Get-Credential -UserName <username>
az login -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password

Inicio de sesión con un inquilino diferente

Puede seleccionar un inquilino para iniciar sesión con el argumento --tenant. El valor de este argumento puede ser un dominio .onmicrosoft.com o el identificador de objeto de Azure del inquilino. Tanto el método de inicio de sesión interactivo como el de línea de comandos funcionan con --tenant.

az login --tenant 00000000-0000-0000-0000-000000000000

Después de iniciar sesión, si desea cambiar el inquilino activo, consulte Cómo cambiar el inquilino activo.

Tokens de actualización

Al iniciar sesión con una cuenta de usuario, la CLI de Azure genera y almacena un token de actualización de autenticación. Dado que los tokens de acceso son válidos durante un breve período de tiempo, se emite un token de actualización al mismo tiempo que se emite el token de acceso. La aplicación cliente puede intercambiar este token de actualización por un nuevo token de acceso cuando es necesario. Para obtener más información sobre la vigencia y expiración del token, consulte Actualizar tokens en la plataforma de identidad de Microsoft.

Use el comando az account get-access-token para recuperar el token de acceso:

# get access token for the active subscription
az account get-access-token

# get access token for a specific subscription
az account get-access-token --subscription "<subscription ID or name>"

A continuación se muestra información adicional sobre las fechas de expiración del token de acceso:

  • Las fechas de expiración se actualizan en un formato compatible con la CLI de Azure basada en MSAL.
  • A partir de la CLI de Azure 2.54.0, az account get-access-token devuelve la expires_on propiedad junto con la expiresOn propiedad para la hora de expiración del token.
  • La expires_on propiedad representa una marca de tiempo de interfaz de sistema operativo portátil (POSIX) mientras que la expiresOn propiedad representa una fecha y hora local.
  • La expiresOn propiedad no expresa "plegado" cuando finaliza el horario de verano. Esto puede causar problemas en países o regiones donde se adopta el horario de verano. Para obtener más información sobre el "plegado", consulte PEP 495 – Desambiguación de hora local.
  • Se recomienda que las aplicaciones de bajada usen la expires_on propiedad , ya que usa el código de hora universal (UTC).

Ejemplo:

{
  "accessToken": "...",
  "expiresOn": "2023-10-31 21:59:10.000000",
  "expires_on": 1698760750,
  "subscription": "...",
  "tenant": "...",
  "tokenType": "Bearer"
}

Solución de problemas

Cuando su navegador predeterminado es Microsoft Edge, es posible que se encuentre con el siguiente error al intentar iniciar sesión en Azure de forma interactiva con az login: "La conexión de este sitio no es segura." Para resolver esta incidencia, visite edge://net-internals/#hsts en Microsoft Edge. Agregue localhost en "Eliminar directiva de seguridad del dominio" y seleccione Eliminar.

Consulte también