Share via


Creación de suscripciones de MCA mediante programación en inquilinos de Microsoft Entra

Este artículo le ayuda a crear mediante programación una suscripción al Contrato de cliente de Microsoft (MCA) en inquilinos de Microsoft Entra. En algunas situaciones, es posible que tenga que crear suscripciones de MCA en inquilinos de Microsoft Entra, pero quiera tenerlas vinculadas a una sola cuenta de facturación. Algunos ejemplos de estas situaciones son los proveedores de SaaS que desean separar los servicios de cliente hospedados de los servicios de TI internos o los entornos internos que tienen requisitos estrictos de cumplimiento normativo, como el sector de tarjetas de pago (PCI).

El proceso para crear una suscripción de MCA entre inquilinos es, de hecho, un proceso de dos fases. Requiere que se realicen acciones en los inquilinos de Microsoft Entra de origen y destino. En este artículo se usa la siguiente terminología:

  • Microsoft Entra ID de origen (source.onmicrosoft.com). Representa el inquilino de origen donde existe la cuenta de facturación de MCA.
  • Microsoft Entra ID de nube de destino (destination.onmicrosoft.com). Representa el inquilino de destino donde se crean las nuevas suscripciones de MCA.

No se pueden crear planes de soporte técnico mediante programación. Puede comprar un nuevo plan de soporte técnico o actualizar uno en Azure Portal. Vaya a Ayuda y soporte técnico y, a continuación, en la parte superior de la página, seleccione Elegir el plan de soporte técnico adecuado.

Requisitos previos

Debe tener ya creados los siguientes inquilinos:

Configuración de la aplicación

Use la información de las secciones siguientes para definir y configurar las aplicaciones necesarias en los inquilinos de origen y destino.

Registro de una aplicación en el inquilino de origen

Para crear una suscripción de MCA mediante programación, se debe registrar una aplicación de Microsoft Entra y conceder el permiso de Azure RBAC adecuado. Para este paso, asegúrese de que ha iniciado sesión en el inquilino de origen (source.onmicrosoft.com) con una cuenta que tenga permisos para registrar aplicaciones de Microsoft Entra.

Siga los pasos de Inicio rápido: Registro de una aplicación en la plataforma de identidad de Microsoft.

Para la finalidad de este proceso, solo tiene que seguir las secciones Registro de una aplicación y Adición de credenciales.

Guarde la siguiente información para probar y configurar el entorno:

  • Id. de directorio (inquilino)
  • Id. de aplicación (cliente)
  • Identificador de objeto
  • Valor del secreto de la aplicación que se generó. El valor solo es visible en el momento de la creación.

Creación de una asignación de roles de facturación para la aplicación en el inquilino de origen

Revise la información de Descripción de los roles administrativos del contrato de cliente de Microsoft en Azure para determinar el ámbito y el rol de facturación adecuados para la aplicación.

Después de determinar el ámbito y el rol, use la información de Administración de roles integrados en Azure Portal para crear la asignación de roles para la aplicación. Busque la aplicación mediante el nombre que usó al registrar la aplicación en la sección anterior.

Registro de una aplicación en el inquilino de destino

Para aceptar la suscripción de MCA del inquilino de destino (destination.onmicrosoft.com), se debe registrar una aplicación de Microsoft Entra y agregarle el rol Administrador de facturación de Microsoft Entra. En este paso, asegúrese de que ha iniciado sesión en el inquilino de destino (source.onmicrosoft.com) con una cuenta que tenga permisos para registrar aplicaciones de Microsoft Entra. También debe tener permiso de rol Administrador de facturación.

Siga los mismos pasos que se han usado anteriormente para registrar una aplicación en el inquilino de origen. Guarde la siguiente información para probar y configurar el entorno:

  • Id. de directorio (inquilino)
  • Id. de aplicación (cliente)
  • Identificador de objeto
  • Valor del secreto de la aplicación que se generó. El valor solo es visible en el momento de la creación.

Incorporación de la aplicación de destino al rol Administrador de facturación de Microsoft Entra

Use la información de Asignación de roles de administrador y de no administrador a usuarios con Microsoft Entra ID para agregar a la aplicación de destino creada en la sección anterior el rol Administrador de facturación de Microsoft Entra en el inquilino de destino.

Creación de una suscripción mediante programación

Con las aplicaciones y permisos ya configurados, use la siguiente información para crear suscripciones mediante programación.

Obtención del id. de la entidad de servicio de aplicación de destino

Al crear una suscripción de MCA en el inquilino de origen, debe especificar la entidad de servicio o el SPN de la aplicación en el inquilino de destino como propietario. Use cualquiera de los métodos siguientes para obtener el id. En ambos métodos, el valor que se va a usar para el GUID vacío es el id. de aplicación (cliente) de la aplicación de inquilino de destino creada anteriormente.

Azure CLI

Inicie sesión en la CLI de Azure y use el comando az ad sp show:

az ad sp show --id 00000000-0000-0000-0000-000000000000 --query 'id'

Azure PowerShell

Inicie sesión en Azure PowerShell y use el cmdlet Get-AzADServicePrincipal:

Get-AzADServicePrincipal -ApplicationId 00000000-0000-0000-0000-000000000000 | Select-Object -Property Id

Guarde el valor Id devuelto por el comando.

Creación de la suscripción

Use la siguiente información para crear una suscripción en el inquilino de origen.

Obtención de un token de acceso a la aplicación de origen

Reemplace {{placeholders}} por el id. de inquilino real, el id. de aplicación (cliente) y los valores secretos de aplicación que guardó al crear la aplicación de inquilino de origen anteriormente.

Invoque la solicitud y guarde el valor access_token de la respuesta para su uso en el paso siguiente.

POST https://login.microsoftonline.com/{{tenant_id}}/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id={{client_id}}&client_secret={{app_secret}}&resource=https%3A%2F%2Fmanagement.azure.com%2F

Obtención de la cuenta y el perfil facturación y los id. de las secciones de factura

Use la información de Buscar cuentas de facturación a las que tiene acceso yBuscar perfiles de facturación y secciones de facturación para crear secciones de suscripciones para obtener los identificadores de la sección de facturación, perfil y factura.

Nota:

Se recomienda usar el método REST con el token de acceso obtenido anteriormente para comprobar que la asignación de roles de facturación de la aplicación se creó correctamente en la sección Configuración de la aplicación.

Creación de un alias de suscripción

Con la cuenta y el perfil facturación y los id. de las secciones de factura, tiene toda la información necesaria para crear la suscripción:

  • {{guid}}: puede ser un GUID válido.
  • {{access_token}}: token de acceso de la aplicación de inquilino de origen obtenida anteriormente.
  • {{billing_account}}: id. de la cuenta de facturación obtenida anteriormente.
  • {{billing_profile}}: id. del perfil de facturación obtenido anteriormente.
  • {{invoice_section}}: id. de la sección de factura obtenida anteriormente.
  • {{destination_tenant_id}}: id. del inquilino de destino, tal como se indicó al crear previamente la aplicación de inquilino de destino.
  • {{destination_service_principal_id}}: id. de la entidad de servicio del inquilino de destino que obtuvo en la sección Obtención del id. de la entidad de servicio de aplicación de destino anteriormente.

Envíe la solicitud y anote el valor del encabezado Location en la respuesta.

PUT https://management.azure.com/providers/Microsoft.Subscription/aliases/{{guid}}?api-version=2021-10-01
Authorization: Bearer {{access_token}}
Content-Type: application/json

{
  "properties": {
    "displayName": "{{subscription_name}}",
    "workload": "Production",
    "billingScope": "/billingAccounts/{{billing_account}}/billingProfiles/{{billing_profile}}/invoiceSections/{{invoice_section}}",
    "subscriptionId": null,
    "additionalProperties": {
      "managementGroupId": null,
      "subscriptionTenantId": "{{destination_tenant_id}}",
      "subscriptionOwnerId": "{{destination_service_principal_id}}"
    }
  }
}

Aceptación de la propiedad de la suscripción

La última fase para completar el proceso es aceptar la propiedad de la suscripción.

Obtención de un token de acceso de aplicación de destino

Reemplace {{placeholders}} por el id. de inquilino real, el id. de aplicación (cliente) y los valores secretos de aplicación que guardó al crear la aplicación de inquilino de destino anteriormente.

Invoque la solicitud y guarde el valor access_token de la respuesta para el siguiente paso.

POST https://login.microsoftonline.com/{{tenant_id}}/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id={{client_id}}&client_secret={{app_secret}}&resource=https%3A%2F%2Fmanagement.azure.com%2F

Aceptación de la propiedad

Use la siguiente información para aceptar la propiedad de la suscripción en el inquilino de destino:

  • {{subscription_id}}: id. de la suscripción creada en la sección Creación del alias de suscripción. Se encuentra en el encabezado de ubicación que anotó.
  • {{access_token}}: token de acceso creado en el paso anterior.
  • {{subscription_display_name}}: nombre para mostrar de la suscripción en el entorno de Azure.
POST https://management.azure.com/providers/Microsoft.Subscription/subscriptions/{{subscription_id}}/acceptOwnership?api-version=2021-10-01
Authorization: Bearer {{access_token}}
Content-Type: application/json

{
  "properties": {
    "displayName": "{{subscription_display_name}}",
    "managementGroupId": null
  }
}

Pasos siguientes