Atribuir funções do Enterprise Agreement a entidades de serviço

Você pode gerenciar sua inscrição no Enterprise Agreement (EA) no portal do Azure. Você pode criar diferentes funções para gerenciar sua organização, exibir custos e criar assinaturas. Este artigo ajuda você a automatizar algumas dessas tarefas usando o Azure PowerShell e APIs REST com entidades de serviço do Microsoft Entra ID.

Nota

Se tiver várias contas de faturação EA na sua organização, tem de conceder as funções EA às entidades de serviço Microsoft Entra ID individualmente em cada conta de faturação EA.

Antes de começar, certifique-se de que está familiarizado com os seguintes artigos:

Criar e autenticar sua entidade de serviço

Para automatizar as ações do EA usando uma entidade de serviço, você precisa criar uma identidade de aplicativo Microsoft Entra, que pode ser autenticada de maneira automatizada.

Siga as etapas nestes artigos para criar e autenticar usando sua entidade de serviço.

Aqui está um exemplo da página de registro do aplicativo.

Captura de ecrã a mostrar Registar uma aplicação.

Encontre sua entidade de serviço e IDs de locatário

Você precisa do ID do objeto da entidade de serviço e do ID do locatário. Você precisa dessas informações para operações de atribuição de permissão mais adiante neste artigo. Todos os aplicativos são registrados no Microsoft Entra ID no locatário. Dois tipos de objetos são criados quando o registro do aplicativo é concluído:

  • Objeto de aplicativo - A ID do aplicativo é o que você vê em Aplicativos Corporativos. O ID não deve ser usado para conceder quaisquer funções EA.
  • Objeto da entidade de serviço - O objeto da entidade de serviço é o que você vê na janela Registro da empresa na ID do Microsoft Entra. O ID do objeto é usado para conceder funções EA à entidade de serviço.
  1. Abra o Microsoft Entra ID e selecione Aplicativos corporativos.

  2. Encontre seu aplicativo na lista.

    Captura de ecrã a mostrar um exemplo de aplicação empresarial.

  3. Selecione o aplicativo para encontrar o ID do aplicativo e o ID do objeto:

    Captura de tela mostrando um ID de aplicativo e ID de objeto para um aplicativo empresarial.

  4. Vá para a página Visão Geral do ID do Microsoft Entra para encontrar a ID do locatário.

    Captura de ecrã a mostrar o ID do inquilino.

Nota

O valor do seu ID de locatário do Microsoft Entra se parece com um GUID com o seguinte formato: 11111111-1111-1111-1111-111111111111.

Permissões que podem ser atribuídas à entidade de serviço

Mais adiante neste artigo, você dará permissão ao aplicativo Microsoft Entra para agir usando uma função EA. Você pode atribuir apenas as seguintes funções à entidade de serviço e precisa da ID de definição de função, exatamente como mostrado.

Função Ações permitidas ID de definição de função
EnrollmentReader Os leitores de inscrição podem visualizar os dados nos escopos de inscrição, departamento e conta. Os dados contêm cobranças para todas as assinaturas sob os escopos, inclusive entre locatários. Pode exibir o saldo de Pré-pagamento do Azure (anteriormente chamado de compromisso monetário) associado à inscrição. 24F8EDB6-1668-4659-B5E2-40BB5F3A7D7E
Comprador EA Compre ordens de reserva e visualize transações de reserva. Ele tem todas as permissões de EnrollmentReader, que por sua vez terá todas as permissões de DepartmentReader. Pode ver a utilização e os encargos em todas as contas e subscrições. Pode exibir o saldo de Pré-pagamento do Azure (anteriormente chamado de compromisso monetário) associado à inscrição. da6647fb-7651-49ee-be91-c43c4877f0c4
DepartmentReader Transfira os detalhes de utilização do departamento que administram. Pode ver a utilização e os encargos associados ao seu departamento. db609904-a47f-4794-9be8-9bd86fbffd8a
SubscriptionCreator Crie novas subscrições no âmbito determinado da Conta. A0BCEE42-BF30-4D1B-926A-48D21664EF71
  • Uma função EnrollmentReader pode ser atribuída a uma entidade de serviço somente por um usuário que tenha uma função de gravador de registro. A função EnrollmentReader atribuída a uma entidade de serviço não é mostrada no portal do Azure. É criado por meios programáticos e é apenas para uso programático.
  • Uma função DepartmentReader pode ser atribuída a uma entidade de serviço somente por um usuário que tenha uma função de gravador de registro ou de departamento.
  • Uma função SubscriptionCreator pode ser atribuída a uma entidade de serviço somente por um usuário que seja o proprietário da conta de inscrição (administrador da EA). A função não é mostrada no portal do Azure. É criado por meios programáticos e é apenas para uso programático.
  • A função de comprador do EA não é mostrada no portal do Azure. É criado por meios programáticos e é apenas para uso programático.

Ao conceder uma função EA a uma entidade de serviço, você deve usar a billingRoleAssignmentName propriedade necessária. O parâmetro é um GUID exclusivo que você deve fornecer. Você pode gerar um GUID usando o comando New-Guid PowerShell. Você também pode usar o site Online GUID / UUID Generator para gerar um GUID exclusivo.

Uma entidade de serviço só pode ter uma função.

Atribuir permissão de função de conta de inscrição à entidade de serviço

  1. Leia o artigo Atribuições de função - Colocar API REST. Enquanto lê o artigo, selecione Experimentar para começar a utilizar a entidade de serviço.

    Captura de ecrã a mostrar a opção Experimentar no artigo Colocar.

  2. Utilize as credenciais da sua conta para iniciar sessão no inquilino com o acesso de inscrição que pretende atribuir.

  3. Forneça os seguintes parâmetros como parte da solicitação de API.

    • billingAccountName: Este parâmetro é o ID da conta de faturamento. Você pode encontrá-lo no portal do Azure na página de visão geral do Gerenciamento de Custos + Cobrança .

      Captura de ecrã a mostrar o ID da conta de faturação.

    • billingRoleAssignmentName: Este parâmetro é um GUID exclusivo que você precisa fornecer. Você pode gerar um GUID usando o comando New-Guid PowerShell. Você também pode usar o site Online GUID / UUID Generator para gerar um GUID exclusivo.

    • api-version: Use a versão 2019-10-01-preview . Use o corpo da solicitação de exemplo em Atribuições de Função - Colocar - Exemplos.

      O corpo da solicitação tem código JSON com três parâmetros que você precisa usar.

      Parâmetro Onde encontrar
      properties.principalId É o valor de Object ID. Consulte Localizar a entidade de serviço e os IDs de inquilino.
      properties.principalTenantId Consulte Localizar a entidade de serviço e os IDs de inquilino.
      properties.roleDefinitionId /providers/Microsoft.Billing/billingAccounts/{BillingAccountName}/billingRoleDefinitions/24f8edb6-1668-4659-b5e2-40bb5f3a7d7e

      O nome da conta de cobrança é o mesmo parâmetro que você usou nos parâmetros da API. É a ID de inscrição que você vê no portal do Azure.

      Observe que 24f8edb6-1668-4659-b5e2-40bb5f3a7d7e é uma ID de definição de função de cobrança para um EnrollmentReader.

  4. Selecione Executar para iniciar o comando.

    Captura de tela mostrando uma atribuição de função de exemplo com informações de exemplo que estão prontas para serem executadas.

    Uma 200 OK resposta mostra que a entidade de serviço foi adicionada com êxito.

Agora você pode usar a entidade de serviço para acessar automaticamente as APIs do EA. A entidade de serviço tem a função EnrollmentReader.

Atribuir permissão de função de Comprador EA à entidade de serviço

Para a função de comprador do EA, use as mesmas etapas para o leitor de registro. Especifique o roleDefinitionId, usando o seguinte exemplo:

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

Atribuir a função de leitor de departamento à entidade de serviço

  1. Leia o artigo Atribuições de função do departamento de inscrição - Colocar API REST. Enquanto lê o artigo, selecione Experimentar.

    Captura de tela mostrando a opção Experimentar no artigo Colocar atribuições de função do departamento de inscrição.

  2. Utilize as credenciais da sua conta para iniciar sessão no inquilino com o acesso de inscrição que pretende atribuir.

  3. Forneça os seguintes parâmetros como parte da solicitação de API.

    • billingAccountName: Este parâmetro é o ID da conta de faturamento. Você pode encontrá-lo no portal do Azure na página de visão geral do Gerenciamento de Custos + Cobrança .

      Captura de ecrã a mostrar o ID da conta de faturação.

    • billingRoleAssignmentName: Este parâmetro é um GUID exclusivo que você precisa fornecer. Você pode gerar um GUID usando o comando New-Guid PowerShell. Você também pode usar o site Online GUID / UUID Generator para gerar um GUID exclusivo.

    • departmentName: Este parâmetro é o ID do departamento. Pode ver IDs de departamento no portal do Azure na página Gestão de Custos + Departamentos de Faturação>.

      Para este exemplo, usamos o departamento ACE. O ID do exemplo é 84819.

      Captura de ecrã a mostrar um exemplo de ID de departamento.

    • api-version: Use a versão 2019-10-01-preview . Use o exemplo em Enrollment Department Role Assignments - Put.

      O corpo da solicitação tem código JSON com três parâmetros que você precisa usar.

      Parâmetro Onde encontrar
      properties.principalId É o valor de Object ID. Consulte Localizar a entidade de serviço e os IDs de inquilino.
      properties.principalTenantId Consulte Localizar a entidade de serviço e os IDs de inquilino.
      properties.roleDefinitionId /providers/Microsoft.Billing/billingAccounts/{BillingAccountName}/billingRoleDefinitions/db609904-a47f-4794-9be8-9bd86fbffd8a

      O nome da conta de cobrança é o mesmo parâmetro que você usou nos parâmetros da API. É a ID de inscrição que você vê no portal do Azure.

      O ID de definição da função de faturamento é para um leitor de db609904-a47f-4794-9be8-9bd86fbffd8a departamento.

  4. Selecione Executar para iniciar o comando.

    Captura de tela mostrando um exemplo de Atribuições de Função do Departamento de Inscrição – Coloque REST Experimente com informações de exemplo prontas para serem executadas.

    Uma 200 OK resposta mostra que a entidade de serviço foi adicionada com êxito.

Agora você pode usar a entidade de serviço para acessar automaticamente as APIs do EA. A entidade de serviço tem a função DepartmentReader.

Atribuir a função de criador da subscrição à entidade de serviço

  1. Leia o artigo Atribuições de função da conta de inscrição - Colocar . Enquanto o lê, selecione Experimentar para atribuir a função de criador de subscrição à entidade de serviço.

    Captura de tela mostrando a opção Experimentar no artigo Colocar atribuições de função de conta de inscrição.

  2. Utilize as credenciais da sua conta para iniciar sessão no inquilino com o acesso de inscrição que pretende atribuir.

  3. Forneça os seguintes parâmetros como parte da solicitação de API. Leia o artigo em Atribuições de função de conta de inscrição - Colocar - Parâmetros de URI.

    • billingAccountName: Este parâmetro é o ID da conta de faturamento. Você pode encontrá-lo no portal do Azure na página de visão geral do Gerenciamento de Custos + Cobrança.

      Captura de ecrã a mostrar o ID da conta de faturação.

    • billingRoleAssignmentName: Este parâmetro é um GUID exclusivo que você precisa fornecer. Você pode gerar um GUID usando o comando New-Guid PowerShell. Você também pode usar o site Online GUID/UUID Generator para gerar um GUID exclusivo.

    • enrollmentAccountName: Este parâmetro é o ID da conta. Encontre a ID da conta para o nome da conta no portal do Azure na página Gerenciamento de custos + Cobrança .

      Para este exemplo, usamos a Conta de Teste GTM. O ID é 196987.

      Captura de ecrã a mostrar o ID da conta.

    • api-version: Use a versão 2019-10-01-preview . Use o exemplo em Atribuições de Função do Departamento de Inscrição - Colocar - Exemplos.

      O corpo da solicitação tem código JSON com três parâmetros que você precisa usar.

      Parâmetro Onde encontrar
      properties.principalId É o valor de Object ID. Consulte Localizar a entidade de serviço e os IDs de inquilino.
      properties.principalTenantId Consulte Localizar a entidade de serviço e os IDs de inquilino.
      properties.roleDefinitionId /providers/Microsoft.Billing/billingAccounts/{BillingAccountID}/enrollmentAccounts/{enrollmentAccountID}/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71

      O nome da conta de cobrança é o mesmo parâmetro que você usou nos parâmetros da API. É a ID de inscrição que você vê no portal do Azure.

      A ID de definição da função de cobrança é para a função de criador da a0bcee42-bf30-4d1b-926a-48d21664ef71 assinatura.

  4. Selecione Executar para iniciar o comando.

    Captura de ecrã a mostrar a opção Experimentar no artigo Atribuições de Função da Conta de Inscrição - Colocar.

    Uma 200 OK resposta mostra que a entidade de serviço foi adicionada com êxito.

Agora você pode usar a entidade de serviço para acessar automaticamente as APIs do EA. A entidade de serviço tem a função SubscriptionCreator.

Verificar atribuições de função principal de serviço

As atribuições de função principal de serviço não são visíveis no portal do Azure. Você pode exibir atribuições de função de conta de inscrição, incluindo a função de criador de assinatura, com a API Atribuições de Função de Cobrança - Lista por Conta de Inscrição - API REST (Cobrança do Azure). Use a API para verificar se a atribuição de função foi bem-sucedida.

Resolver problemas

Você deve identificar e usar a ID do objeto do aplicativo Enterprise onde concedeu a função EA. Se você usar a ID do objeto de algum outro aplicativo, as chamadas de API falharão. Verifique se você está usando a ID de objeto do aplicativo Enterprise correta.

Se você receber o seguinte erro ao fazer sua chamada de API, poderá estar usando incorretamente o valor de ID do objeto principal de serviço localizado em Registros de aplicativo. Para resolver esse erro, verifique se você está usando a ID do objeto principal de serviço de Aplicativos Corporativos, não Registros de Aplicativos.

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

Próximos passos

Comece a utilizar a sua conta de faturação do Enterprise Agreement.