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:
Você precisa de uma maneira de chamar APIs REST. Algumas maneiras populares de consultar a API são:
- Estúdio Visual
- Insónia
- Adriano
- Invoke-RestMethod do PowerShell
- Cachos
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.
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. Não use o ID para conceder nenhuma função 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.
Abra o Microsoft Entra ID e selecione Aplicativos corporativos.
Encontre seu aplicativo na lista.
Selecione o aplicativo para encontrar o ID do aplicativo e o ID do objeto:
Vá para a página Visão Geral do ID do Microsoft Entra para encontrar a ID do locatário.
Nota
O valor do seu ID de locatário do Microsoft Entra se parece com um GUID com o seguinte formato: aaaabbbb-0000-cccc-1111-dddd2222eeee
.
Permissões que podem ser atribuídas à entidade de serviço
Mais adiante neste artigo, você dá 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.
Role | 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 têm 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. Ele é 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. Ele é 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. Ele é 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
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.
Utilize as credenciais da sua conta para iniciar sessão no inquilino com o acesso de inscrição que pretende atribuir.
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 .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.
Selecione Executar para iniciar o comando.
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
Leia o artigo Atribuições de função do departamento de inscrição - Colocar API REST. Enquanto lê o artigo, selecione Experimentar.
Utilize as credenciais da sua conta para iniciar sessão no inquilino com o acesso de inscrição que pretende atribuir.
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 .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
.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.
Selecione Executar para iniciar o comando.
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
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.
Utilize as credenciais da sua conta para iniciar sessão no inquilino com o acesso de inscrição que pretende atribuir.
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.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 o
GTM Test Account
. O ID é196987
.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.
Selecione Executar para iniciar o comando.
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 o 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, talvez esteja 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.