Creación de suscripciones de Azure Enterprise mediante programación (versión preliminar)Programmatically create Azure Enterprise subscriptions (preview)

Como cliente de Azure sujeto a Contrato Enterprise (EA), puede crear suscripciones de EA (MS-AZR-0017P) y de Desarrollo/pruebas de EA (MS-AZR-0148P) mediante programación.As an Azure customer on Enterprise Agreement (EA), you can create EA (MS-AZR-0017P) and EA Dev/Test (MS-AZR-0148P) subscriptions programmatically. En este artículo, se ofrece información sobre cómo crear suscripciones mediante programación con Azure Resource Manager.In this article, you learn how to create subscriptions programmatically using Azure Resource Manager.

Al crear una suscripción a Azure a partir de esta API, dicha suscripción se rige por el contrato en cuyo marco ha obtenido los servicios de Microsoft Azure de Microsoft o de un distribuidor autorizado.When you create an Azure subscription from this API, that subscription is governed by the agreement under which you obtained Microsoft Azure services from Microsoft or an authorized reseller. Para obtener más información, vea Información legal de Microsoft Azure.To learn more, see Microsoft Azure Legal Information.

Nota

Este artículo se ha actualizado para usar el nuevo módulo Az de Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Aún puede usar el módulo de AzureRM que continuará recibiendo correcciones de errores hasta diciembre de 2020 como mínimo.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Para más información acerca del nuevo módulo Az y la compatibilidad con AzureRM, consulte Introducing the new Azure PowerShell Az module (Presentación del nuevo módulo Az de Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Para obtener instrucciones sobre la instalación del módulo Az, consulte Instalación de Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Requisitos previosPrerequisites

Debe tener un rol Propietario en la cuenta de inscripción en la que quiere crear suscripciones.You must have an Owner role on the Enrollment Account you wish to create subscriptions under. Existen dos formas de obtener estos roles:There are two ways to get these roles:

  • El administrador de inscripciones puede convertirle en propietario de una cuenta (inicio de sesión requerido), lo que le hace propietario de la cuenta de inscripción.Your Enrollment Administrator can make you an Account Owner (sign in required) which makes you an Owner of the Enrollment Account. Siga las instrucciones del correo electrónico de invitación que reciba para crear manualmente una suscripción inicial.Follow the instructions in the invitation email you receive to manually create an initial subscription. Confirme la propiedad de cuenta y cree manualmente una suscripción inicial de Contrato Enterprise antes de continuar con el paso siguiente.Confirm account ownership and manually create an initial EA subscription before proceeding to the next step. No basta con limitarse a agregar la cuenta a la inscripción.Just adding the account to the enrollment isn't enough.

  • Un propietario existente de la cuenta de inscripción puede concederle acceso.An existing Owner of the Enrollment Account can grant you access. De forma similar, si desea usar una entidad de servicio para crear la suscripción a Contrato Enterprise, debe conceder a dicha entidad de servicio la capacidad de crear suscripciones.Similarly, if you want to use a service principal to create the EA subscription, you must grant that service principal the ability to create subscriptions.

Búsqueda de cuentas a las que tiene accesoFind accounts you have access to

Cuando haya sido agregado a una inscripción de Azure EA como propietario de cuenta, Azure usa la relación cuenta-inscripción para determinar dónde se cobra la suscripción.After you're added to an Azure EA enrollment as an Account Owner, Azure uses the account-to-enrollment relationship to determine where to bill the subscription charges. Todas las suscripciones creadas en la cuenta se facturan a la inscripción de EA en la que se encuentra la cuenta.All subscriptions created under the account are billed towards the EA enrollment that the account is in. Para crear suscripciones, debe pasar valores sobre la cuenta de inscripción y las entidades de seguridad de usuario al propietario de la suscripción.To create subscriptions, you must pass in values about the enrollment account and the user principals to own the subscription.

Para ejecutar los comandos siguientes, debe iniciar sesión en el directorio particular del propietario de cuenta, que es el directorio en el que las suscripciones se crean de manera predeterminada.To run the following commands, you must be logged in to the Account Owner's home directory, which is the directory that subscriptions are created in by default.

Solicite mostrar todas las cuentas de inscripción a las que tiene acceso:Request to list all enrollment accounts you have access to:

GET https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts?api-version=2018-03-01-preview

Azure responde con una lista de todas las cuentas de inscripción a las que tiene acceso:Azure responds with a list of all enrollment accounts you have access to:

{
  "value": [
    {
      "id": "/providers/Microsoft.Billing/enrollmentAccounts/747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "name": "747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type": "Microsoft.Billing/enrollmentAccounts",
      "properties": {
        "principalName": "SignUpEngineering@contoso.com"
      }
    },
    {
      "id": "/providers/Microsoft.Billing/enrollmentAccounts/4cd2fcf6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "name": "4cd2fcf6-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
      "type": "Microsoft.Billing/enrollmentAccounts",
      "properties": {
        "principalName": "BillingPlatformTeam@contoso.com"
      }
    }
  ]
}

Use la propiedad principalName para identificar la cuenta a la que quiere que se facturen las suscripciones.Use the principalName property to identify the account that you want subscriptions to be billed to. Copie el elemento name de esa cuenta.Copy the name of that account. Por ejemplo, si quisiera crear suscripciones en la cuenta de inscripción SignUpEngineering@contoso.com, copiaría 747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx.For example, if you wanted to create subscriptions under the SignUpEngineering@contoso.com enrollment account, you'd copy 747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Este es el identificador de objeto de la cuenta de inscripción.This identifier is the object ID of the enrollment account. Pegue este valor en algún lugar para poder usarlo en el paso siguiente como enrollmentAccountObjectId.Paste this value somewhere so that you can use it in the next step as enrollmentAccountObjectId.

Creación de suscripciones con una cuenta de inscripción concretaCreate subscriptions under a specific enrollment account

En el ejemplo siguiente se crea una suscripción denominada Dev Team Subscription en la cuenta de inscripción seleccionada en el paso anterior.The following example creates a subscription named Dev Team Subscription in the enrollment account selected in the previous step. La oferta de suscripción es MS-AZR-0017P (Contrato Enterprise de Microsoft normal).The subscription offer is MS-AZR-0017P (regular Microsoft Enterprise Agreement). Opcionalmente, también agrega dos usuarios como propietarios de RBAC a la suscripción.It also optionally adds two users as RBAC Owners for the subscription.

Realice la siguiente solicitud; para ello, reemplace <enrollmentAccountObjectId> por el elemento name copiado en el primer paso (747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx).Make the following request, replacing <enrollmentAccountObjectId> with the name copied from the first step (747ddfe5-xxxx-xxxx-xxxx-xxxxxxxxxxxx). Si quiere especificar propietarios, obtenga información sobre cómo obtener identificadores de objeto de usuario.If you'd like to specify owners, learn how to get user object IDs.

POST https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts/<enrollmentAccountObjectId>/providers/Microsoft.Subscription/createSubscription?api-version=2018-03-01-preview

{
  "displayName": "Dev Team Subscription",
  "offerType": "MS-AZR-0017P",
  "owners": [
    {
      "objectId": "<userObjectId>"
    },
    {
      "objectId": "<servicePrincipalObjectId>"
    }
  ]
}
Nombre del elementoElement Name ObligatorioRequired typeType DESCRIPCIÓNDescription
displayName SinNo CadenaString Nombre para mostrar de la suscripción.The display name of the subscription. Si no se especifica, se establece en el nombre de la oferta, por ejemplo, "Microsoft Azure Enterprise".If not specified, it's set to the name of the offer, like "Microsoft Azure Enterprise."
offerType Yes CadenaString Oferta de la suscripción.The offer of the subscription. Las dos opciones para EA son MS-AZR-0017P (uso en producción) y MS-AZR-0148P (desarrollo y pruebas, tiene que activarse mediante el portal de EA).The two options for EA are MS-AZR-0017P (production use) and MS-AZR-0148P (dev/test, needs to be turned on using the EA portal).
owners SinNo CadenaString Identificador de objeto de cualquier usuario que quiera agregarse como propietario de RBAC en la suscripción al crearla.The Object ID of any user that you'd like to add as an RBAC Owner on the subscription when it's created.

En la respuesta, se recupera un objeto subscriptionOperation para la supervisión.In the response, you get back a subscriptionOperation object for monitoring. Cuando haya finalizado la creación de la suscripción, el objeto subscriptionOperation devolvería un objeto subscriptionLink, que tiene el identificador de suscripción.When the subscription creation is finished, the subscriptionOperation object would return a subscriptionLink object, which has the subscription ID.

Limitaciones de la API de creación de suscripciones de Azure EnterpriseLimitations of Azure Enterprise subscription creation API

  • Con esta API solo pueden crearse suscripciones de Azure Enterprise.Only Azure Enterprise subscriptions can be created using this API.
  • Hay un límite de 200 suscripciones por cuenta de inscripción.There's a limit of 200 subscriptions per enrollment account. Después, solo se pueden crear más suscripciones para la cuenta mediante el centro de cuentas.After that, more subscriptions for the account can only be created through the Account Center. Si quiere crear más suscripciones a través de la API, cree otra cuenta de inscripción.If you want to create more subscriptions through the API, create another enrollment account.
  • Los usuarios que no son propietarios de cuenta, pero se han agregado a una cuenta de inscripción a través de RBAC, no pueden crear suscripciones mediante el Centro de cuentas.Users who aren't Account Owners, but were added to an enrollment account via RBAC, can't create subscriptions using the Account Center.
  • No puede seleccionar el inquilino para la suscripción en que se va a crear.You can't select the tenant for the subscription to be created in. La suscripción siempre se crea en el inquilino principal del propietario de cuenta.The subscription is always created in the home tenant of the Account Owner. Para mover la suscripción a otro inquilino, vea cómo cambiar un inquilino de la suscripción.To move the subscription to a different tenant, see change subscription tenant.

Pasos siguientesNext steps