Inicio de sesión con la CLI de Azure

Hay varios tipos de autenticación para la interfaz de la línea de comandos de Azure (CLI), así que ¿cómo se inicia sesión? La manera más fácil de empezar a trabajar es Azure Cloud Shell, que inicia sesión automáticamente. De forma local, puede iniciar sesión interactivamente en el explorador con el comando az login. Al escribir scripts, el enfoque recomendado es usar entidades de servicio. Para proteger la automatización, conceda los permisos adecuados necesarios a una entidad de servicio.

La CLI de Azure no almacena nada de la información de inicio de sesión. En su lugar, Azure genera y almacena un token de autenticación. A partir de agosto de 2018, este token se revoca después de 90 días de inactividad, pero este valor lo puede cambiar Microsoft o el administrador de inquilinos. Una vez revocado el token, recibirá un mensaje desde la CLI en el que se le indica que debe volver a iniciar sesión.

Después de iniciar sesión, los comandos de la CLI se ejecutan en su suscripción predeterminada. Si tiene varias suscripciones, puede cambiar la suscripción predeterminada.

Inicio sesión interactivo

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 login.

    az login
    

    Si la CLI puede abrir el explorador predeterminado, lo hará y cargará una página de inicio de sesión de Azure.

    En caso contrario, abra una página del explorador en https://aka.ms/devicelogin y escriba el código de autorización que se muestra en el terminal.

    Si no hay ningún explorador web disponible o no se puede abrir el explorador web, use el flujo de código del 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.

Nota

Este enfoque no es compatible con cuentas de Microsoft o cuentas que tienen habilitada la autenticación en dos fases.

az login -u <username> -p <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 una entidad de servicio

Las entidades de servicio son cuentas no asociadas a un usuario concreto, las cuales pueden tener permisos asignados mediante roles predefinidos. La autenticación con una entidad de servicio es la mejor manera de escribir scripts o programas seguros, lo que le permite aplicar las restricciones de permisos y la información de credenciales estáticas almacenadas de modo local. Para más información sobre las entidades de servicio, consulte Creación de una entidad de servicio de Azure con la CLI de Azure.

Para iniciar sesión con una entidad de servicio, necesita:

  • La dirección URL o el nombre asociado a la entidad de servicio.
  • La contraseña de la entidad de servicio o el certificado X509 utilizado para crear la entidad de servicio con el formato PEM.
  • El inquilino asociado con la entidad de servicio, como un dominio de .onmicrosoft.com o un identificador de objeto de Azure.

Nota

Se debe anexar un valor de CERTIFICATE a PRIVATE KEY en un archivo PEM. Para obtener un ejemplo de un formato de archivo PEM, consulte Autenticación basada en certificados.

Importante

Si la entidad de servicio utiliza un certificado que se almacena en Key Vault, la clave privada del certificado debe estar disponible sin iniciar sesión en Azure. Para recuperar el certificado de az login, consulte Recuperación del certificado de Key Vault.

az login --service-principal -u <app-id> -p <password-or-cert> --tenant <tenant>

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 --service-principal -u <app-id> -p $AZ_PASS --tenant <tenant>

En PowerShell, use el cmdlet Get-Credential.

$AzCred = Get-Credential -UserName <app-id>
az login --service-principal -u $AzCred.UserName -p $AzCred.GetNetworkCredential().Password --tenant <tenant>

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 <tenant>

Inicio de sesión con una identidad administrada

En los recursos configurados para las identidades administradas para los recursos de Azure, puede iniciar sesión con la identidad administrada. El inicio de sesión con la identidad del recurso se realiza mediante la marca --identity.

az login --identity

Si el recurso tiene varias identidades administradas asignadas por el usuario y ninguna identidad asignada por el sistema, debe especificar el identificador de cliente, el identificador de objeto o el identificador de recurso de la identidad administrada asignada por el usuario con --username para el inicio de sesión.

az login --identity --username <client_id|object_id|resource_id>

Para más información acerca de las identidades administradas para los recursos de Azure, consulte Configuración de identidades administradas para recursos de Azure y Uso de identidades administradas para recursos de Azure para el inicio de sesión.