Asignación de roles de Contrato Enterprise a entidades de servicio

Puede administrar su inscripción de Contrato Enterprise (EA) en Azure Portal. Puede crear roles diferentes para administrar la organización, ver los costos y crear suscripciones. Este artículo le ayuda a automatizar algunas de esas tareas mediante Azure PowerShell y las API de REST con nombres de entidad de seguridad de servicio (SPN) de Microsoft Entra ID.

Nota:

Si tiene varias cuentas de facturación de EA en su organización, debe conceder los roles de EA a entidades de servicio de Microsoft Entra ID individualmente en cada cuenta de facturación de EA.

Antes de comenzar, asegúrese de que está familiarizado con los siguientes artículos:

Creación y autenticación de la entidad de servicio

Para automatizar las acciones de EA mediante una entidad de servicio, debe crear una identidad de aplicación de Microsoft Entra, que luego se puede autenticar de forma automatizada.

Siga los pasos de estos artículos para crear y autenticarse mediante la entidad de servicio.

Este es un ejemplo de la página de registro de la aplicación.

Captura de pantalla que muestra el registro de una aplicación.

Búsqueda de identificadores de inquilino y entidad de servicio

Necesita el identificador de objeto de la entidad de servicio y el identificador de inquilino. Necesitará esta información para las operaciones de asignación de permisos más adelante en este artículo. Todas las aplicaciones se registran en Microsoft Entra ID en el inquilino. Cuando se completa el registro de la aplicación se crean dos tipos de objetos:

  • Objeto de aplicación: el identificador de aplicación es lo que ve en Aplicaciones empresariales. El identificado no se debe usar para conceder ningún rol de EA.
  • Objeto de entidad de servicio: el objeto de entidad de servicio es lo que ve en la ventana del registro de empresa de Microsoft Entra ID. El identificador de objeto se usa para conceder roles de EA a la entidad de servicio.
  1. Abra Microsoft Entra ID y seleccione Aplicaciones empresariales.

  2. Busque la aplicación en la lista.

    Captura de pantalla que muestra una aplicación empresarial de ejemplo.

  3. Seleccione la aplicación para buscar el identificador de la aplicación y el identificador del objeto:

    Captura de pantalla que muestra un identificador de aplicación y un identificador de objeto de una aplicación empresarial.

  4. Puede encontrar el identificador de inquilino en la página de información general de Microsoft Entra ID.

    Captura de pantalla que muestra el identificador de inquilino

Nota:

El valor del identificador de inquilino de Microsoft Entra es similar a un GUID con el siguiente formato: 11111111-1111-1111-1111-111111111111.

Permisos que se pueden asignar a la entidad de servicio

Más adelante en este artículo, concederá permiso a la aplicación Microsoft Entra para que actúe mediante un rol de EA. Solo puede asignar los siguientes roles a la entidad de servicio y necesita el identificador de definición de roles, exactamente como se indica.

Role Acciones permitidas Id. de definición de roles
EnrollmentReader Los lectores de inscripción pueden ver los datos en los ámbitos de inscripción, departamento y cuenta. Los datos contienen cargos para todas las suscripciones en los ámbitos, incluidos los inquilinos. Puede ver el saldo de pago por adelantado de Azure (anteriormente llamado compromiso monetario) asociado a la inscripción. 24f8edb6-1668-4659-b5e2-40bb5f3a7d7e
Comprador de EA Comprar pedidos de reserva y ver las transacciones de reserva. Tiene todos los permisos de EnrollmentReader, que a su vez tendrán todos los permisos de DepartmentReader. Puede ver el uso y los cargos en todas las cuentas y suscripciones. Puede ver el saldo de pago por adelantado de Azure (anteriormente llamado compromiso monetario) asociado a la inscripción. da6647fb-7651-49ee-be91-c43c4877f0c4
DepartmentReader Descargar los detalles de uso del departamento que administran. Puede ver el uso y los cargos asociados a su departamento. db609904-a47f-4794-9be8-9bd86fbffd8a
SubscriptionCreator Crear nuevas suscripciones en el ámbito de cuenta especificado. a0bcee42-bf30-4d1b-926a-48d21664ef71
  • Un rol EnrollmentReader solo puede asignarse a una entidad de servicio por parte de un usuario que tenga un rol de escritor de inscripción. El rol EnrollmentReader asignado a una entidad de servicio no se muestra en Azure Portal. Se crea mediante programación y solo se usa para programación.
  • Un rol DepartmentReader solo puede asignarse a una entidad de servicio por parte de un usuario que tenga un rol de escritor de inscripción o escritor de departamento.
  • Un rol SubscriptionCreator solo puede asignarse a una entidad de servicio por parte de un usuario que sea el propietario de la cuenta de inscripción (administrador de EA). El rol no se muestra en Azure Portal. Se crea mediante programación y solo se usa para programación.
  • El rol de comprador de EA no se muestra en Azure Portal. Se crea mediante programación y solo se usa para programación.

Al conceder un rol de EA a una entidad de servicio, debe usar la propiedad billingRoleAssignmentName requerida. El parámetro es un GUID único que debe proporcionar. Puede generar un GUID mediante el comando de PowerShell New-Guid. También puede usar el sitio web Generador en línea de GUID y UUID para generar un GUID único.

Una entidad de servicio solo puede tener un rol.

Asignación del permiso de rol de cuenta de inscripción a la entidad de servicio

  1. Consulte el artículo de la API REST Asignaciones de roles: Put. Mientras lee el artículo, seleccione Pruébelo para empezar a usar la entidad de servicio.

    Captura de pantalla que muestra la opción Pruébelo en el artículo sobre Put.

  2. Use las credenciales de la cuenta para iniciar sesión en el inquilino con el acceso de inscripción que desea asignar.

  3. Proporcione los parámetros siguientes como parte de la solicitud de API.

    • billingAccountName: Este parámetro es el identificador de la cuenta de facturación. Puede encontrarlo en Azure Portal en la página de información general de Cost Management + Billing.

      Captura de pantalla que muestra el identificador de la cuenta de facturación.

    • billingRoleAssignmentName: Este parámetro es un GUID único que debe proporcionar. Puede generar un GUID mediante el comando de PowerShell New-Guid. También puede usar el sitio web Generador en línea de GUID y UUID para generar un GUID único.

    • api-version: Use la versión 2019-10-01-preview. Use el cuerpo de la solicitud de ejemplo de Asignaciones de roles: ejemplos de Put.

      El cuerpo de la solicitud tiene código JSON con tres parámetros que debe usar.

      Parámetro Dónde encontrarla
      properties.principalId Es el valor de id. de objeto. Consulte Búsqueda de identificadores de inquilino y entidad de servicio.
      properties.principalTenantId Consulte Búsqueda de identificadores de inquilino y entidad de servicio.
      properties.roleDefinitionId /providers/Microsoft.Billing/billingAccounts/{BillingAccountName}/billingRoleDefinitions/24f8edb6-1668-4659-b5e2-40bb5f3a7d7e

      El nombre de la cuenta de facturación es el mismo parámetro que usó en los parámetros de la API. Es el identificador de inscripción que ve en Azure Portal.

      Tenga en cuenta que 24f8edb6-1668-4659-b5e2-40bb5f3a7d7e es un identificador de definición de rol de facturación de un rol EnrollmentReader.

  4. Seleccione Ejecutar para iniciar el comando.

    Captura de pantalla que muestra una asignación de roles de ejemplo con información de ejemplo que está lista para ejecutarse.

    Una respuesta 200 OK muestra que la entidad de servicio se agregó correctamente.

Ahora puede usar la entidad de servicio para acceder automáticamente a las API de EA. La entidad de servicio tiene el rol EnrollmentReader.

Asignación del permiso de rol de comprador de EA a la entidad de servicio

Para el rol de comprador de EA, siga los mismos pasos que para el de lector de inscripciones. Especifique el identificador roleDefinitionId, mediante el ejemplo siguiente:

"/providers/Microsoft.Billing/billingAccounts/1111111/billingRoleDefinitions/ da6647fb-7651-49ee-be91-c43c4877f0c4"

Asignación del rol de lector de departamento a la entidad de servicio

  1. Consulte el artículo de la API REST Asignaciones de roles del departamento de inscripción: Put. Mientras lee el artículo, seleccione ¡Pruébelo! .

    Captura de pantalla que muestra la opción Pruébelo en el artículo Asignaciones de roles del departamento de inscripción: Put

  2. Use las credenciales de la cuenta para iniciar sesión en el inquilino con el acceso de inscripción que desea asignar.

  3. Proporcione los parámetros siguientes como parte de la solicitud de API.

    • billingAccountName: Este parámetro es el identificador de la cuenta de facturación. Puede encontrarlo en Azure Portal en la página de información general de Cost Management + Billing.

      Captura de pantalla que muestra el identificador de la cuenta de facturación.

    • billingRoleAssignmentName: Este parámetro es un GUID único que debe proporcionar. Puede generar un GUID mediante el comando de PowerShell New-Guid. También puede usar el sitio web Generador en línea de GUID y UUID para generar un GUID único.

    • departmentName: Este parámetro es el identificador de departamento. Puede ver los identificadores de departamento en Azure Portal en la página Cost Management + Billing>Departamentos.

      En este ejemplo, usamos el departamento ACE. El identificador del ejemplo es 84819.

      Captura de pantalla que muestra un identificador de departamento de ejemplo.

    • api-version: Use la versión 2019-10-01-preview. Use el ejemplo de Asignaciones de roles del departamento de inscripción: Put.

      El cuerpo de la solicitud tiene código JSON con tres parámetros que debe usar.

      Parámetro Dónde encontrarla
      properties.principalId Es el valor de id. de objeto. Consulte Búsqueda de identificadores de inquilino y entidad de servicio.
      properties.principalTenantId Consulte Búsqueda de identificadores de inquilino y entidad de servicio.
      properties.roleDefinitionId /providers/Microsoft.Billing/billingAccounts/{BillingAccountName}/billingRoleDefinitions/db609904-a47f-4794-9be8-9bd86fbffd8a

      El nombre de la cuenta de facturación es el mismo parámetro que usó en los parámetros de la API. Es el identificador de inscripción que ve en Azure Portal.

      El identificador de la definición de rol de facturación de db609904-a47f-4794-9be8-9bd86fbffd8a es para un lector de departamento.

  4. Seleccione Ejecutar para iniciar el comando.

    Captura de pantalla en la que se muestra una asignación de roles del departamento de inscripción de ejemplo con el botón Pruébelo con información de ejemplo lista para ejecutarse.

    Una respuesta 200 OK muestra que la entidad de servicio se agregó correctamente.

Ahora puede usar la entidad de servicio para acceder automáticamente a las API de EA. La entidad de servicio tiene el rol DepartmentReader.

Asignación del rol creador de la suscripción a la entidad de servicio

  1. Consulte el artículo Asignaciones de roles de la cuenta de inscripción: Put. Mientras lo lee, seleccione Pruébelo para asignar el rol creador de la suscripción a la entidad de servicio.

    Captura de pantalla que muestra la opción Pruébelo en el artículo Asignaciones de roles de la cuenta de inscripción: Put

  2. Use las credenciales de la cuenta para iniciar sesión en el inquilino con el acceso de inscripción que desea asignar.

  3. Proporcione los parámetros siguientes como parte de la solicitud de API. Consulte el artículo Asignaciones de roles de la cuenta de inscripción: Put (Sección Parámetros del identificador URI).

    • billingAccountName: Este parámetro es el identificador de la cuenta de facturación. Puede encontrarlo en Azure Portal en la página de información general de Cost Management + Billing.

      Captura de pantalla que muestra el identificador de la cuenta de facturación.

    • billingRoleAssignmentName: Este parámetro es un GUID único que debe proporcionar. Puede generar un GUID mediante el comando de PowerShell New-Guid. También puede usar el sitio web Generador en línea de GUID y UUID para generar un GUID único.

    • enrollmentAccountName: Este parámetro es el identificador de la cuenta. Busque el identificador de cuenta del nombre de la cuenta en Azure Portal en la página Cost Management + Billing.

      En este ejemplo, se utiliza la cuenta de prueba GTM. El identificador es 196987.

      Captura de pantalla que muestra el identificador de cuenta.

    • api-version: Use la versión 2019-10-01-preview. Use el ejemplo de Asignaciones de roles del departamento de inscripción: Put (Ejemplos).

      El cuerpo de la solicitud tiene código JSON con tres parámetros que debe usar.

      Parámetro Dónde encontrarla
      properties.principalId Es el valor de id. de objeto. Consulte Búsqueda de identificadores de inquilino y entidad de servicio.
      properties.principalTenantId Consulte Búsqueda de identificadores de inquilino y entidad de servicio.
      properties.roleDefinitionId /providers/Microsoft.Billing/billingAccounts/{BillingAccountID}/enrollmentAccounts/{enrollmentAccountID}/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71

      El nombre de la cuenta de facturación es el mismo parámetro que usó en los parámetros de la API. Es el identificador de inscripción que ve en Azure Portal.

      El identificador de la definición de rol de facturación a0bcee42-bf30-4d1b-926a-48d21664ef71 es para el rol de creador de suscripciones.

  4. Seleccione Ejecutar para iniciar el comando.

    Captura de pantalla que muestra la opción Pruébelo en el artículo Asignaciones de roles de la cuenta de inscripción: Put.

    Una respuesta 200 OK muestra que la entidad de servicio se ha agregado correctamente.

Ahora puede usar la entidad de servicio para acceder automáticamente a las API de EA. La entidad de servicio tiene el rol SubscriptionCreator.

Comprobación de las asignaciones de roles de entidad de servicio

Las asignaciones de roles de entidad de servicio no están visibles en Azure Portal. Puede ver las asignaciones de roles de la cuenta de inscripción, incluido el rol creador de la suscripción, con la API Billing Role Assignments - List By Enrollment Account - REST API (Azure Billing). Use la API para comprobar que la asignación de roles se hizo correctamente.

Solución de problemas

Debe identificar y usar el identificador de objeto de aplicación empresarial en el que concedió el rol de EA. Si usa el identificador de objeto de otra aplicación, se producirá un error en las llamadas API. Compruebe que usa el identificador de objeto de aplicación empresarial correcto.

Si recibe el siguiente error al realizar la llamada API, es posible que esté usando incorrectamente el valor del identificador de objeto de la entidad de servicio ubicado en Registros de aplicaciones. Para resolver este error, asegúrese de que usa el identificador de objeto de entidad de servicio de Aplicaciones empresariales, no registros de aplicaciones.

The provided principal Tenant Id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx and principal Object Id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx are not valid

Pasos siguientes

Introducción a la cuenta de facturación para un Contrato Enterprise.