Administración de suscripciones de Azure con la CLI de Azure

La CLI de Azure le ayuda a administrar la suscripción de Azure, crear grupos de administración y bloquear suscripciones. Es posible que tenga varias suscripciones en Azure. Puede formar parte de más de una organización o la organización podría dividir el acceso a determinados recursos entre agrupaciones. La CLI de Azure admite la selección de una suscripción global y por comando.

Para obtener información detallada sobre las suscripciones, facturación y administración de costos, consulte la documentación sobre administración de costos y facturación.

Terminología

Un inquilino es una instancia de Microsoft Entra ID en la que reside información sobre una sola organización. Una organización multiinquilino es una organización que tiene más de una instancia de Microsoft Entra ID. Un inquilino tiene una o más suscripciones y usuarios.

Los usuarios son las cuentas que inician sesión en Azure para crear, administrar y usar los recursos. Un usuario puede tener acceso a varios inquilinos y suscripciones.

Las suscripciones son los contratos con Microsoft para usar los servicios en la nube, incluido Azure. Cada recurso está asociado a una suscripción. Las suscripciones contienen grupos de recursos.

Un grupo de recursos de Azure es un contenedor que almacena los recursos relacionados con una solución de Azure. Para aprender a administrar grupos de recursos dentro de la suscripción, consulte Administración de grupos de recursos de Azure con la CLI de Azure.

Obtención del inquilino activo

Use az account tenant list o az account show para obtener el identificador del inquilino activo.

az account tenant list

az account show

Cambio del inquilino activo

Para cambiar de inquilino, tiene dos opciones.

  • Cambie la suscripción activa.

  • Inicie sesión como usuario dentro del inquilino deseado. Use az login para cambiar el inquilino activo y actualizar la lista de suscripciones a la que pertenece.

    # 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 su organización requiere la autenticación multifactor, puede recibir el siguiente error al usar 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...
    

    Si usa el comando alternativo az login --tenant, se le pide que abra una página HTTPS y escriba el código proporcionado. Después, puede usar la autenticación multifactor e iniciar sesión correctamente. Para obtener más información sobre las opciones de inicio de sesión con la CLI de Azure, consulte Inicio de sesión con la CLI de Azure.

Obtener información de la suscripción

La mayoría de los comandos de la CLI de Azure actúan dentro de una suscripción. Puede especificar la suscripción en la que se va a trabajar mediante el parámetro --subscription del comando. Si no especifica una suscripción, el comando usa la suscripción activa actual.

Para ver la suscripción que usa actualmente o para obtener una lista de las suscripciones disponibles, ejecute el comando az account show o az account list. Vaya a Aprenda a usar Bash mediante la CLI de Azure para ver más ejemplos de cómo usar estos comandos.

Estos son ejemplos que muestran cómo obtener información de suscripción:

# 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

También puede almacenar la información de suscripción en una variable para usarla en 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

Sugerencia

El parámetro --output es un parámetro global que está disponible para todos los comandos. El valor table presenta la salida en un formato descriptivo. Para más información, consulte Formatos de salida de los comandos de la CLI de Azure.

Cambio de la suscripción activa

Las suscripciones a Azure tienen un nombre y un identificador. Puede cambiar a otra suscripción mediante el comando az account set, en el que debe especificar el identificador o el nombre de la suscripción deseada.

# 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"

También puede cambiar la suscripción mediante una variable. Este es un ejemplo:

# 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 cambia a una suscripción que se encuentra en otro inquilino, también cambiará el inquilino activo. Para obtener información sobre cómo agregar una nueva suscripción a su inquilino de Microsoft Entra, consulte Asociación o incorporación de una suscripción de Azure a su inquilino de Microsoft Entra.

Si recibió el error "La suscripción de... no existe...", consulte Solución de problemas para ver las posibles soluciones.

Creación de grupos de administración de Azure

Los grupos de administración de Azure contienen suscripciones. Los grupos de administración proporcionan una manera de administrar el acceso, las directivas y el cumplimiento de esas suscripciones. Para más información, consulte ¿Qué son los grupos de administración de Azure?

Use los comandos az account management-group para crear y administrar grupos de administración de Azure.

Puede crear un grupo de administración para varias de las suscripciones mediante el comando az account management-group create:

az account management-group create --name Contoso01

Para ver todos los grupos de administración, use el comando az account management-group list:

az account management-group list

Agregue suscripciones al nuevo grupo mediante el comando 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"

Para eliminar una suscripción, use el comando az account management-group subscription remove:

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

Para eliminar un grupo de administración, ejecute el comando az account management-group delete:

az account management-group delete --name Contoso01

La eliminación de una suscripción o la eliminación de un grupo de administración no elimina ni desactiva una suscripción.

Definición de un bloqueo de suscripción de Azure

Como administrador, puede que tenga que bloquear una suscripción para evitar que los usuarios la eliminen o modifiquen. Para obtener más información, vea Bloqueo de recursos para impedir cambios inesperados.

En la CLI de Azure, use los comandos az account lock. Por ejemplo, el comando az account lock create puede impedir que los usuarios eliminen una suscripción:

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

Nota:

Debe tener contributor permisos en una suscripción para crear o cambiar bloqueos.

Para ver los bloqueos actuales de la suscripción, use el comando az account lock list:

az account lock list --output table

Si hace que una cuenta sea de solo lectura, el resultado es similar asignar permisos del rol Lector a todos los usuarios. Para obtener información sobre cómo establecer permisos para usuarios y roles individuales, consulte Incorporación o eliminación de asignaciones de roles de Azure mediante la CLI de Azure.

Para ver los detalles de un bloqueo, use el comando az account lock show:

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

Puede eliminar un bloqueo mediante el comando az account lock delete:

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

Solucionar problemas

La suscripción no existe

Además de un error tipográfico, podría recibir este error cuando hay problemas con el tiempo de los permisos. Por ejemplo, si se le han concedido permisos a una nueva suscripción mientras la ventana de terminal actual está abierta, se puede producir este error. La solución consiste en cerrar y volver a abrir la ventana del terminal, o bien, usar az logout y luego az login para actualizar la lista de suscripciones disponibles.

Este es un script para ayudarle a encontrar y cambiar una suscripción.

# 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

Consulte también