Se connecter avec Azure CLISign in with Azure CLI

Il existe plusieurs types d’authentification pour l’interface Azure CLI.There are several authentication types for the Azure CLI. Le moyen le plus simple pour commencer est d’utiliser Azure Cloud Shell, qui vous connecte automatiquement.The easiest way to get started is with Azure Cloud Shell, which automatically logs you in. Localement, vous pouvez vous connecter de manière interactive via votre navigateur avec la commande az login.Locally, you can sign in interactively through your browser with the az login command. Lors de l’écriture de scripts, l’approche recommandée consiste à utiliser des principaux du service.When writing scripts, the recommended approach is to use service principals. En accordant uniquement les autorisations nécessaires à un principal du service, vous pouvez garantir la sécurité de votre automatisation.By granting just the appropriate permissions needed to a service principal, you can keep your automation secure.

Aucune de vos informations de connexion n’est stockée par l’interface CLI.None of your sign-in information is stored by the CLI. Au lieu de cela, un jeton d’actualisation d’authentification est généré par Azure, puis stocké.Instead, an authentication refresh token is generated by Azure and stored. Depuis août 2018, ce jeton est révoqué après 90 jours d’inactivité, mais cette valeur peut être modifiée par Microsoft ou votre administrateur client.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. Une fois le jeton révoqué, vous recevez un message de l’interface CLI indiquant que vous devez vous reconnecter.Once the token is revoked you get a message from the CLI saying you need to sign in again.

Une fois connecté, les commandes CLI sont exécutées sur votre abonnement par défaut.After signing in, CLI commands are run against your default subscription. Si vous possédez plusieurs abonnements, vous pouvez modifier votre abonnement par défaut.If you have multiple subscriptions, you can change your default subscription.

Connexion interactiveSign in interactively

La méthode d’authentification par défaut Azure CLI utilise un navigateur web et un jeton d’accès pour la connexion.The Azure CLI's default authentication method uses a web browser and access token to sign in.

  1. Exécutez la commande login.Run the login command.

    az login
    

    Si l’interface CLI peut ouvrir votre navigateur par défaut, elle le fait et charge une page de connexion Azure par la même occasion.If the CLI can open your default browser, it will do so and load an Azure sign-in page.

    Sinon, ouvrez une page de navigateur à l’adresse https://aka.ms/devicelogin et entrez le code d’autorisation affiché dans votre terminal.Otherwise, open a browser page at https://aka.ms/devicelogin and enter the authorization code displayed in your terminal.

  2. Dans le navigateur, connectez-vous avec les informations d’identification de votre compte.Sign in with your account credentials in the browser.

Connectez-vous à l’aide de vos informations d’identification sur la ligne de commandeSign in with credentials on the command line

Fournissez vos informations d’identification d’utilisateur Azure dans la ligne de commande.Provide your Azure user credentials on the command line.

Notes

Cette approche ne fonctionne pas avec les comptes Microsoft ou les comptes pour lesquels l’authentification à deux facteurs est activée.This approach doesn't work with Microsoft accounts or accounts that have two-factor authentication enabled.

az login -u <username> -p <password>

Important

Si vous souhaitez éviter l’affichage de votre mot de passe sur la console et que vous utilisez az login de manière interactive, utilisez la commande read -s sous 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

Sous PowerShell, utilisez la cmdlet Get-Credential.Under PowerShell, use the Get-Credential cmdlet.

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

Connexion avec un principal de serviceSign in with a service principal

Les principaux de service sont des comptes non liés à un utilisateur spécifique, qui peuvent détenir des autorisations sur ces derniers par le biais de rôles prédéfinis.Service principals are accounts not tied to any particular user, which can have permissions on them assigned through pre-defined roles. L’authentification avec un principal de service est la meilleure façon d’écrire des scripts ou des programmes sécurisés, ce qui vous permet d’appliquer des restrictions d’autorisation et des informations d’identification statiques stockées localement.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. Pour en savoir plus sur les principaux de service, consultez Créer un principal du service avec Azure CLI.To learn more about service principals, see Create an Azure service principal with the Azure CLI.

Pour vous connecter avec un principal de service, il vous faut :To sign in with a service principal, you need:

  • L’URL ou le nom associé au principal du serviceThe URL or name associated with the service principal
  • Le mot de passe du principal de service ou le certificat X509 utilisé pour créer le principal du service au format PEMThe service principal password, or the X509 certificate used to create the service principal in PEM format
  • Le locataire associé au principal du service, comme un domaine .onmicrosoft.com ou un ID d’objet AzureThe tenant associated with the service principal, as either an .onmicrosoft.com domain or Azure object ID

Important

Si votre principal du service utilise un certificat qui est stocké dans Key Vault, la clé privée de ce certificat doit être disponible sans connexion à 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. Pour récupérer une clé privée d’une utilisation hors connexion, utilisez affichage du secret du coffre de clés az.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>

Important

Si vous souhaitez éviter l’affichage de votre mot de passe sur la console et que vous utilisez az login de manière interactive, utilisez la commande read -s sous 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>

Sous PowerShell, utilisez la 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>

Connectez-vous avec un autre abonnéSign in with a different tenant

Vous pouvez sélectionner un locataire pour vous connecter avec l’argument --tenant.You can select a tenant to sign in under with the --tenant argument. La valeur de cet argument peut être un domaine .onmicrosoft.com, ou l’ID d’objet Azure du locataire.The value of this argument can either be an .onmicrosoft.com domain or the Azure object ID for the tenant. Les méthodes de connexion interactive et avec une ligne de commande fonctionnent toutes les deux avec --tenant.Both interactive and command-line sign in methods work with --tenant.

az login --tenant <tenant>

Connectez-vous avec une identité géréeSign in with a managed identity

Sur les ressources configurées pour des identités managées pour les ressources Azure, vous pouvez vous connecter avec l’identité managée.On resources configured for managed identities for Azure resources, you can sign in using the managed identity. La connexion avec l’identité de la ressource s’effectue via l’indicateur --identity.Signing in with the resource's identity is done through the --identity flag.

az login --identity

Pour en savoir plus sur les identités managées pour les ressources Azure, consultez Configurer des identités managées pour les ressources Azure et Utiliser des identités managées pour les ressources Azure pour se connecter.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.