Conceder acesso para criar assinaturas do Azure Enterprise (legado)
Na qualidade de cliente do Azure com um Contrato Enterprise (EA), pode conceder a outra entidade principal de utilizador ou de serviço a permissão para criar subscrições faturadas para a sua conta. Neste artigo, aprenderá a usar o Controlo de acesso baseado em funções do Azure (RBAC do Azure) para partilhar a capacidade de criar subscrições e como auditar as criações de subscrições. Tem de ter a função de Proprietário na conta que pretende partilhar.
Nota
- Esta API só funciona com as APIs legadas para a criação de subscrições.
- A menos que tenha uma necessidade específica de usar as APIs herdadas, deve usar as informações para a versão mais recente do GA sobre a versão mais recente da API. Consulte Atribuições de função de conta de inscrição - Colocar para conceder permissão para criar assinaturas EA com a API mais recente.
- Se estiver a migrar para utilizar as APIs mais recentes, tem de conceder permissões de proprietário novamente com a versão 2019-10-01-preview. A configuração anterior que utiliza as seguintes APIs não é convertida automaticamente para utilização com APIs mais recentes.
Nota
Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.
Conceder acesso
Para criar subscrições numa conta de inscrição, os utilizadores têm de ter a função de Proprietário do RBAC do Azure nessa conta. Pode conceder a um utilizador ou a um grupo de utilizadores a função de Proprietário de RBAC do Azure numa conta de inscrição ao seguir estes passos:
Obter o ID de objeto da conta de inscrição à qual pretende conceder acesso
Para conceder a outros utilizadores a função de Proprietário de RBAC do Azure numa conta de inscrição, tem de ser o Proprietário da Conta ou um Proprietário de RBAC do Azure da conta.
Pedido para listar todas as contas de inscrição às quais tem acesso:
GET https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts?api-version=2018-03-01-preview
O Azure responde com uma lista de todas as contas de inscrição às quais tem acesso:
{ "value": [ { "id": "/providers/Microsoft.Billing/enrollmentAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "name": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "type": "Microsoft.Billing/enrollmentAccounts", "properties": { "principalName": "SignUpEngineering@contoso.com" } }, { "id": "/providers/Microsoft.Billing/enrollmentAccounts/4cd2fcf6-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "name": "4cd2fcf6-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "type": "Microsoft.Billing/enrollmentAccounts", "properties": { "principalName": "BillingPlatformTeam@contoso.com" } } ] }
Utilize a propriedade
principalName
para identificar a conta à qual pretende conceder acesso de Proprietário de RBAC do Azure. Copie oname
dessa conta. Por exemplo, se quisesse conceder aceder acesso de Proprietário de RBAC do Azure à SignUpEngineering@contoso.comconta de inscrição, teria de copiaraaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
. Trata-se do ID de objeto da conta de inscrição. Cole este valor algures para que possa utilizá-lo no próximo passo comoenrollmentAccountObjectId
.Utilize a propriedade
principalName
para identificar a conta à qual pretende conceder acesso de Proprietário de RBAC do Azure. Copie oname
dessa conta. Por exemplo, se quisesse conceder aceder acesso de Proprietário de RBAC do Azure à SignUpEngineering@contoso.comconta de inscrição, teria de copiaraaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
. Trata-se do ID de objeto da conta de inscrição. Cole este valor algures para que possa utilizá-lo no próximo passo comoenrollmentAccountObjectId
.Obtenha o ID de objeto do utilizador ou do grupo ao qual pretende conceder a função de Proprietário de RBAC do Azure
- No portal do Azure, aceda a Microsoft Entra ID.
- Se quiser conceder acesso a um utilizador, selecione Utilizadores no menu à esquerda. Para conceder acesso a um grupo, selecione Grupos.
- Selecione o Utilizador ou Grupo ao qual pretende conceder a função de Proprietário de RBAC do Azure.
- Se selecionou um Utilizador, encontrará o ID de objeto na página Perfil. Se selecionou um Grupo, o ID do objeto estará na página Descrição Geral. Copie o ObjectID ao selecionar o ícone à direita da caixa de texto. Cole-o num local em que possa utilizá-lo no próximo passo como
userObjectId
.
Conceder ao utilizador ou ao grupo a função de Proprietário de RBAC do Azure na conta de inscrição
Através dos valores que recolheu nos dois primeiros passos, conceda ao utilizador ou ao grupo a função de Proprietário de RBAC do Azure na conta de inscrição.
Execute o comando seguinte, ao substituir
<enrollmentAccountObjectId>
peloname
que copiou no primeiro passo (aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
). Substitua<userObjectId>
pelo ID de objeto que copiou no segundo passo.PUT https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts/<enrollmentAccountObjectId>/providers/Microsoft.Authorization/roleAssignments/<roleAssignmentGuid>?api-version=2015-07-01 { "properties": { "roleDefinitionId": "/providers/Microsoft.Billing/enrollmentAccounts/<enrollmentAccountObjectId>/providers/Microsoft.Authorization/roleDefinitions/<ownerRoleDefinitionId>", "principalId": "<userObjectId>" } }
Quando a função de Proprietário é atribuída com êxito no âmbito da conta de inscrição, o Azure responde com as informações da atribuição de função:
{ "properties": { "roleDefinitionId": "/providers/Microsoft.Billing/enrollmentAccounts/providers/Microsoft.Authorization/roleDefinitions/<ownerRoleDefinitionId>", "principalId": "<userObjectId>", "scope": "/providers/Microsoft.Billing/enrollmentAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "createdOn": "2018-03-05T08:36:26.4014813Z", "updatedOn": "2018-03-05T08:36:26.4014813Z", "createdBy": "<assignerObjectId>", "updatedBy": "<assignerObjectId>" }, "id": "/providers/Microsoft.Billing/enrollmentAccounts/providers/Microsoft.Authorization/roleDefinitions/<ownerRoleDefinitionId>", "type": "Microsoft.Authorization/roleAssignments", "name": "<roleAssignmentGuid>" }
Auditar quem criou subscrições através de registos de atividades
Para monitorizar as subscrições criadas através desta API, utilize a API do Registo de Atividades do Inquilino. Atualmente, não é possível utilizar o PowerShell, a CLI ou o portal do Azure para monitorizar a criação de subscrições.
Como administrador de locatário do locatário do Microsoft Entra, eleve o acesso e atribua uma função de Leitor ao usuário auditor sobre o escopo
/providers/microsoft.insights/eventtypes/management
. Esse acesso está disponível na função de Leitor, na função Contribuidor de monitorização ou numa função personalizada.Como utilizador de auditoria, chame a API do Registo de Atividades do Inquilino para ver as atividades de criação de subscrições. Exemplo:
GET "/providers/Microsoft.Insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp ge '{greaterThanTimeStamp}' and eventTimestamp le '{lessThanTimestamp}' and eventChannels eq 'Operation' and resourceProvider eq 'Microsoft.Subscription'"
Para chamar convenientemente esta API a partir da linha de comandos, experimente ARMClient.
Conteúdos relacionados
- Agora que a entidade principal de utilizador ou de serviço tem permissão para criar uma subscrição, pode usar essa identidade para Criar subscrições Enterprise do Azure através de programação.
- Para ver um exemplo de como criar subscrições com o .NET, veja código de exemplo no GitHub.
- Para saber mais sobre o Azure Resource Manager e as respetivas APIs, veja Descrição geral do Azure Resource Manager.
- Para obter mais informações sobre como gerir grandes números de subscrições com grupos de gestão, veja Organizar recursos com os grupos de gestão do Azure
- Para ver uma orientação de melhores práticas abrangente para grandes organizações sobre governação de subscrições, veja Azure enterprise scaffold - prescriptive subscription governance (Estrutura empresarial do Azure – governação de subscrição prescritiva)