Inicio de sesión con la CLI de AzureSign in with Azure CLI

Hay varios tipos de autenticación para la CLI de Azure.There are several authentication types for the Azure CLI. La manera más fácil de empezar a trabajar es Azure Cloud Shell, que inicia sesión automáticamente.The easiest way to get started is with Azure Cloud Shell, which automatically logs you in. De forma local, puede iniciar sesión interactivamente en el explorador con el comando az login.Locally, you can sign in interactively through your browser with the az login command. Al escribir scripts, el enfoque recomendado es usar entidades de servicio.When writing scripts, the recommended approach is to use service principals. Para proteger la automatización, conceda los permisos adecuados necesarios a una entidad de servicio.By granting just the appropriate permissions needed to a service principal, you can keep your automation secure.

La CLI no almacena ninguna de la información de inicio de sesión.None of your sign-in information is stored by the CLI. En su lugar, Azure genera y almacena un token de autenticación.Instead, an authentication refresh token is generated by Azure and stored. 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.As of August 2018 this token is revoked after 90 days of inactivity, but this value can be changed by Microsoft or your tenant administrator. Una vez revocado el token, recibirá un mensaje desde la CLI indicando que debe volver a iniciar sesión.Once the token is revoked you get a message from the CLI saying you need to sign in again.

Después de iniciar sesión, los comandos de la CLI se ejecutan en su suscripción predeterminada.After signing in, CLI commands are run against your default subscription. Si tiene varias suscripciones, puede cambiar la suscripción predeterminada.If you have multiple subscriptions, you can change your default subscription.

Inicio sesión interactivoSign in interactively

El método de autenticación predeterminado de la CLI de Azure usa un explorador web y un token de acceso para iniciar sesión.The Azure CLI's default authentication method uses a web browser and access token to sign in.

  1. Ejecute el comando login.Run the login command.

    az login
    

    Si la CLI puede abrir el explorador predeterminado, lo hará y cargará una página de inicio de sesión.If the CLI can open your default browser, it will do so and load a sign-in page.

    En caso contrario, deberá abrir una página del explorador y seguir las instrucciones de la línea de comandos para especificar un código de autorización después de ir a https://aka.ms/devicelogin en el explorador.Otherwise, you need to open a browser page and follow the instructions on the command line to enter an authorization code after navigating to https://aka.ms/devicelogin in your browser.

  2. Inicie sesión con las credenciales de su cuenta en el explorador.Sign in with your account credentials in the browser.

Inicie sesión con sus credenciales en la línea de comandos.Sign in with credentials on the command line

Proporcione sus credenciales de usuario de Azure en la línea de comandos.Provide your Azure user credentials on the command line.

Nota

Este enfoque no es compatible con cuentas de Microsoft o cuentas que tienen habilitada la autenticación en dos fases.This approach doesn't work with Microsoft accounts or accounts that have two-factor authentication enabled.

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.If you want to avoid displaying your password on console and are using az login interactively, use the read -s command under bash.

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

En PowerShell, use el cmdlet Get-Credential.Under PowerShell, use the Get-Credential cmdlet.

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

Inicio de sesión con una entidad de servicioSign in with a service principal

Las entidades de servicio son cuentas no asociadas a un usuario concreto, las cuales pueden tener permisos asignados mediante roles predefinidos.Service principals are accounts not tied to any particular user, which can have permissions on them assigned through pre-defined roles. 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.Authenticating with a service principal is the best way to write secure scripts or programs, allowing you to apply both permissions restrictions and locally stored static credential information. 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.To learn more about service principals, see Create an Azure service principal with the Azure CLI.

Para iniciar sesión con una entidad de servicio, necesita:To sign in with a service principal, you need:

  • La dirección URL o el nombre asociado a la entidad de servicio.The URL or name associated with the service principal
  • La contraseña de la entidad de servicio o el certificado X509 utilizado para crear la entidad de servicio con el formato PEM.The service principal password, or the X509 certificate used to create the service principal in PEM format
  • El inquilino asociado con la entidad de servicio, como un dominio de .onmicrosoft.com o un identificador de objeto de Azure.The tenant associated with the service principal, as either an .onmicrosoft.com domain or Azure object ID

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.If your service principal uses a certificate that is stored in Key Vault, that certificate's private key must be available without signing in to Azure. Para recuperar una clave privada para su uso sin conexión, use az keyvault secret show.To retrieve a private key for use offline, use az keyvault secret show.

az login --service-principal -u <app-url> -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.If you want to avoid displaying your password on console and are using az login interactively, use the read -s command under bash.

read -sp "Azure password: " AZ_PASS && echo && az login --service-principal -u <app-url> -p $AZ_PASS --tenant <tenant>

En PowerShell, use el cmdlet Get-Credential.Under PowerShell, use the Get-Credential cmdlet.

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

Inicio de sesión con un inquilino diferenteSign in with a different tenant

Puede seleccionar un inquilino para iniciar sesión con el argumento --tenant.You can select a tenant to sign in under with the --tenant argument. El valor de este argumento puede ser un dominio .onmicrosoft.com o el identificador de objeto de Azure del inquilino.The value of this argument can either be an .onmicrosoft.com domain or the Azure object ID for the tenant. Tanto el método de inicio de sesión interactivo como el de línea de comandos funcionan con --tenant.Both interactive and command-line sign in methods work with --tenant.

az login --tenant <tenant>

Inicio de sesión con una identidad administradaSign in with a managed identity

En los recursos configurados para las identidades administradas para los recursos de Azure, puede iniciar sesión con la identidad administrada.On resources configured for managed identities for Azure resources, you can sign in using the managed identity. El inicio de sesión con la identidad del recurso se realiza mediante la marca --identity.Signing in with the resource's identity is done through the --identity flag.

az login --identity

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.To learn more about managed identities for Azure resources, see Configure managed identities for Azure resources and Use managed identities for Azure resources for sign in.