Compartir a través de


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

Este artículo le ayuda a crear mediante programación una suscripción al Contrato de cliente de Microsoft (MCA) en inquilinos de facturación asociados. 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. Entre los ejemplos de estas situaciones se incluyen los siguientes:

  • Proveedores de SaaS que quiere separar los servicios de cliente hospedados de los servicios de TI internos
  • Sociedades de cartera o de capital de riesgo con muchas empresas de cartera
  • Entornos internos que tienen estrictos requisitos de cumplimiento normativo, como el sector de tarjetas de pago (PCI)

Para el proceso para crear una suscripción de MCA en inquilinos de facturación asociados es necesario realizar acciones en los inquilinos de Microsoft Entra de origen y destino. En este artículo se usa la siguiente terminología:

  • Inquilino de Microsoft Entra de origen (source.onmicrosoft.com). Representa el inquilino de origen donde existe la cuenta de facturación de MCA.
  • Inquilino de Microsoft Entra en la 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. En la parte superior de la página, seleccione Elegir el plan de soporte técnico adecuado.

Nota:

Hay dos métodos para habilitar la creación de suscripciones de MCA mediante programación en los inquilinos de Microsoft Entra. El método descrito en este artículo es una versión simplificada que minimiza la sobrecarga de administración y simplifica el proceso de creación de suscripciones mediante la transferencia de permisos para crear suscripciones de MCA por completo al inquilino de destino. El otro método implica un proceso de dos fases que proporciona la gobernanza del inquilino de origen sobre las suscripciones creadas en los inquilinos de destino. Este método puede ser preferible si necesita un control más estricto sobre la creación de suscripciones en inquilinos de destino.

Requisitos previos

Se necesita el siguiente entorno para habilitar la creación mediante programación de suscripciones de MCA en los inquilinos de facturación asociados:

  • Un inquilino de Microsoft Entra de origen con una cuenta de facturación activa de Contrato de cliente de Microsoft. Si no tiene ningún MCA activo, puede crear uno. Para más información, consulte Azure: registro.
  • Un inquilino de Microsoft Entra de destino distinto del inquilino al que pertenece el MCA. Para crear un nuevo inquilino de Microsoft Entra, consulte Configuración de inquilinos de Microsoft Entra.
  • Agregue el inquilino de Microsoft Entra de destino como inquilino de facturación asociado inquilinos de facturación asociados dentro del inquilino de Microsoft Entra de origen y asigne roles de facturación a un usuario desde el inquilino de Microsoft Entra de destino.

Configuración de la aplicación

Use la información de las secciones siguientes para instalar y configurar la aplicación necesaria en los inquilinos de origen y destino.

Registro de una aplicación en el inquilino de destino

Para crear una suscripción de MCA mediante programación, se debe registrar una aplicación de Microsoft Entra y conceder el permiso de control de acceso basado en roles de Azure (RBAC) adecuado. En este paso, asegúrese de que ha iniciado sesión en el inquilino de destino (destination.onmicrosoft.com) con una cuenta que tenga permisos para registrar aplicaciones de Microsoft Entra. Asegúrese también de que se haya asignado un rol de facturación en el inquilino de origen (source.onmicrosoft.com) como parte de los requisitos previos.

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 destino

A fin de determinar el ámbito adecuado y el rol de facturación para la aplicación, revise la información de Descripción de los roles administrativos del Contrato de cliente de Microsoft en Azure.

Un usuario con acceso de propietario puede asignar un rol a la aplicación si inicia sesión en Azure Portal en el inquilino asociado. El acceso de propietario incluye lo siguiente:

  • Propietario de la cuenta de facturación
  • Propietario del perfil de facturación
  • Propietario de la sección de facturas

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.

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.

Creación de la suscripción

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

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 de secreto de aplicación que ha guardado al crear la aplicación de inquilino de destino antes.

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 las secciones Búsqueda de cuentas de facturación a las que tiene acceso y Búsqueda de perfiles de facturación y secciones de factura para crear suscripciones para obtener la cuenta de facturación, el perfil y los id. de las secciones de 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 destino obtenida antes.
  • {{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_object_id}}: id. de la entidad de servicio del inquilino de destino que ha obtenido antes en la sección Obtención de un token de acceso de aplicación de destino.
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_object_id}}"
    }
  }
}

Pasos siguientes