Guide pratique pour gérer les abonnements Azure avec Azure CLI

Azure CLI vous aide à gérer votre abonnement Azure, à créer des groupes d’administration et à verrouiller les abonnements. Vous pouvez disposer de plusieurs abonnements dans Azure. Soit vous faites partie de plusieurs organisations, soit votre organisation divise l’accès à certaines ressources selon des groupes. Azure CLI prend en charge la sélection d’un abonnement à la fois au niveau global et par commande.

Pour plus d’informations sur les abonnements, la facturation et la gestion des coûts, consultez la documentation sur la facturation et la gestion des coûts.

Terminologie

Un locataire est une instance de Microsoft Entra ID dans laquelle résident les informations sur une seule organisation. Une organisation multilocataire est une organisation qui a plusieurs instances de Microsoft Entra ID. Un locataire a un ou plusieurs abonnements et utilisateurs.

Les utilisateurs correspondent aux comptes qui se connectent à Azure afin de configurer, de gérer et d’utiliser des ressources. Un utilisateur peut avoir accès à plusieurs locataires et souscriptions.

Les abonnements sont les contrats avec Microsoft qui permettent d’utiliser les services cloud, notamment Azure. Chaque ressource est associée à un abonnement. Les abonnements contiennent des groupes de ressources.

Un groupe de ressources Azure est un conteneur qui contient les ressources associées à une solution Azure. Pour savoir comment gérer des groupes de ressources au sein de votre abonnement, consultez Comment gérer des groupes de ressources Azure avec Azure CLI.

Obtenir le locataire actif

Utilisez az account tenant list ou az account show pour obtenir l’ID de locataire actif.

az account tenant list

az account show

Modifier le locataire actif

Pour changer de locataire, vous avez deux possibilités.

  • Modifiez l'abonnement actif.

  • Connectez-vous en tant qu'utilisateur au sein du locataire souhaité. Utilisez az login pour modifier le locataire actif et mettre à jour la liste d’abonnements à laquelle vous appartenez.

    # sign in as a different user
    az login --user <myAlias@myCompany.com> --password <myPassword>
    
    # sign in with a different tenant
    az login --tenant <myTenantID>
    

    Si votre organisation nécessite une authentification multifacteur, vous pouvez recevoir cette erreur lors de l’utilisation de az login --user :

    Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access...
    

    L’utilisation de l’invite de commandes alternatif az login --tenant vous invite à ouvrir une page HTTPS et à renseigner le code fourni. Vous pouvez ensuite utiliser l’authentification multifacteur et vous connecter avec succès. Pour en savoir plus sur les options de connexion avec Azure CLI, consultez Se connecter avec Azure CLI.

Obtenir des informations sur la souscription

La plupart des commandes Azure CLI agissent au sein d’un abonnement. Vous pouvez spécifier dans quel abonnement agir en utilisant le paramètre --subscription dans votre commande. Si vous ne spécifiez pas d’abonnement, la commande utilise votre abonnement actuel et actif.

Pour voir l’abonnement que vous êtes en train d’utiliser ou pour obtenir la liste des abonnements disponibles, exécutez la commande az account show ou az account list. Accédez à Apprendre à utiliser Bash avec Azure CLI pour voir plus d’exemples de façons d’utiliser ces commandes.

Voici des exemples montrant comment obtenir des informations sur l’abonnement :

# get the current default subscription using show
az account show --output table

# get the current default subscription using list
az account list --query "[?isDefault]"

# get a subscription that contains search words or phrases
az account list --query "[?contains(name,'search phrase')].{SubscriptionName:name, SubscriptionID:id, TenantID:tenantId}" --output table

Vous pouvez également stocker des informations d’abonnement dans une variable à utiliser dans un script.

# store the default subscription in a variable
subscriptionId="$(az account list --query "[?isDefault].id" --output tsv)"
echo $subscriptionId

# store a subscription of certain name in a variable
subscriptionId="$(az account list --query "[?name=='my case sensitive subscription full name'].id" --output tsv)"
echo $subscriptionId

Conseil

Le paramètre --output est un paramètre global, disponible pour toutes les commandes. La valeur table présente la sortie dans un format convivial. Pour plus d’informations, consultez Formats de sortie pour les commandes Azure CLI.

Modifier l’abonnement actif

Les abonnements Azure ont à la fois un nom et un ID. Vous pouvez basculer vers un autre abonnement à l’aide de la commande az account set en spécifiant l’ID ou le nom d’abonnement souhaité.

# change the active subscription using the subscription name
az account set --subscription "My Demos"

# change the active subscription using the subscription ID
az account set --subscription "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

Vous pouvez également modifier votre abonnement à l’aide d’une variable. Voici un exemple :

# change the active subscription using a variable
subscriptionId="$(az account list --query "[?name=='my case sensitive subscription full name'].id" --output tsv)"
az account set --subscription $subscriptionId

Si vous passez à un abonnement appartenant à un autre locataire, vous modifierez également le locataire actif. Pour savoir comment ajouter un nouvel abonnement à votre locataire Microsoft Entra, consultez Associer ou ajouter un abonnement Azure à votre locataire Microsoft Entra.

Si vous recevez le message d'erreur « L'abonnement de... n'existe pas... », consultez Dépannage pour connaître les solutions possibles.

Créer des groupes d’administration Azure

Les groupes d’administration Azure contiennent des abonnements. Les groupes d’administration offrent un moyen de gérer l’accès, les stratégies et la conformité de ces abonnements. Pour plus d’informations, consultez Présentation des groupes d’administration Azure.

Utilisez les commandes az account management-group pour créer et gérer des groupes d’administration Azure.

Vous pouvez créer un groupe d’administration pour plusieurs de vos abonnements à l’aide de la commande az account management-group create :

az account management-group create --name Contoso01

Pour afficher tous vos groupes d’administration, utilisez la commande az account management-group list :

az account management-group list

Ajoutez des abonnements à votre nouveau groupe en utilisant la commande az account management-group subscription add :

az account management-group subscription add --name Contoso01 --subscription "My Demos"
az account management-group subscription add --name Contoso01 --subscription "My Second Demos"

Pour supprimer un abonnement, utilisez la commande az account management-group subscription remove :

az account management-group subscription remove --name Contoso01 --subscription "My Demos"

Pour supprimer un groupe d’administration, exécutez la commande az account management-group delete :

az account management-group delete --name Contoso01

La suppression d’un abonnement ou d’un groupe d’administration n’entraîne pas la suppression définitive ni la désactivation de cet abonnement.

Définir un verrou d’abonnement Azure

En tant qu’administrateur, vous pouvez avoir besoin de verrouiller un abonnement pour empêcher des utilisateurs de le supprimer ou de le modifier. Pour plus d’informations, consultez Verrouiller les ressources pour empêcher les modifications inattendues.

Dans Azure CLI, utilisez les commandes az account lock. Par exemple, la commande az account lock create peut empêcher les utilisateurs de supprimer un abonnement :

az account lock create --name "Cannot delete subscription" --lock-type CanNotDelete

Remarque

Vous devez disposer contributor d’autorisations sur un abonnement pour créer ou modifier des verrous.

Pour afficher les verrous actuellement définis sur votre abonnement, utilisez la commande az account lock list :

az account lock list --output table

Si vous définissez un compte en tant que compte en lecture seule, cela revient à attribuer les autorisations du rôle Lecteur à tous les utilisateurs. Pour en savoir plus sur la définition d’autorisations pour des utilisateurs individuels et des rôles, consultez Ajouter ou supprimer des attributions de rôle Azure à l’aide d’Azure CLI.

Pour afficher les détails d’un verrou, utilisez la commande az account lock show :

az account lock show --name "Cannot delete subscription"

Vous pouvez supprimer un verrou à l’aide de la commande az account lock delete :

az account lock delete --name "Cannot delete subscription"

Résolution des problèmes

La souscription n'existe pas

En plus d'une erreur typographique, vous pouvez recevoir cette erreur en cas de problème de synchronisation des autorisations. Par exemple, si vous avez reçu des autorisations pour de nouveaux abonnements alors que la fenêtre de votre terminal actuelle est ouverte, cette erreur peut se produire. La solution consiste à fermer et rouvrir votre fenêtre de terminal, ou à utiliser az logout puis az login pour actualiser votre liste de souscriptions disponibles.

Voici un script pour vous aider à trouver et modifier une souscription.

# See what subscription you are currently using.
az account show

# Get a list of available subscriptions.
az account list --output table

# If the subscription you are seeking is not in the list
#   close and reopen your terminal window,
#   or logout and then sign in again.
az logout
az login

# Did your available subscription list change?
az account list --output table

# If the subscription you are seeking is still not in the list,
#    contact your system administrator. You cannot change your
#    subscription to an ID that is not in the list.

# If the subscription you are seeking is now in the list,
#   change your subscription.
az account set --subscription 00000000-0000-0000-0000-00000000000

Voir aussi