Conceder acesso para criar assinaturas Enterprise do Azure (legado)
Sendo um cliente do Azure no EA (Contrato Enterprise), você pode conceder a outro usuário ou entidade de serviço, permissões para criar assinaturas cobradas de sua conta. Neste artigo, você aprenderá a usar o RBAC (Controle de Acesso Baseado em Função) do Azure para compartilhar a capacidade de criar assinaturas e aprenderá a fazer auditoria das criações de assinatura. É necessário ter a função Proprietário na conta que deseja compartilhar.
Observação
- Essa API funciona apenas com as APIs legadas para a criação de assinaturas.
- A menos que tenha uma necessidade específica de usar as APIs legadas, você deve usar as informações para a versão GA mais recente sobre a versão mais recente da API. Confira Atribuições de Função da Conta de Registro – Put para conceder permissão para criar assinaturas de EA com a API mais recente.
- Se estiver fazendo a migração para usar as APIs mais recentes, você precisará conceder ao proprietário as permissões novamente usando 2019-10-01-preview. Sua configuração anterior que usa as APIs a seguir não é convertida automaticamente para uso com APIs mais recentes.
Observação
Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Conceder acesso
Para criar assinaturas em uma conta de registro, os usuários precisam ter a função de Proprietário do Azure RBAC nessa conta. Você pode conceder a um usuário ou grupo de usuários a função de Proprietário do Azure RBAC em uma conta de registro seguindo estas etapas:
Obter a ID de objeto da conta de registro à qual você deseja permitir acesso
Para conceder a outros usuários a função de Proprietário do Azure RBAC em uma conta de registro, você precisa ser o Proprietário da Conta ou um Proprietário do Azure RBAC da conta.
Solicitação para listar todas as contas de registro às quais você tem acesso:
GET https://management.azure.com/providers/Microsoft.Billing/enrollmentAccounts?api-version=2018-03-01-preview
Azure responde com uma lista de todas as contas de registro a que você 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" } } ] }
Use a propriedade
principalName
para identificar a conta à qual você deseja permitir acesso de Proprietário do Azure RBAC. Copie oname
dessa conta. Por exemplo, se você quiser permitir acesso de Proprietário do Azure RBAC à conta de registro SignUpEngineering@contoso.com, copieaaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
. Ele é a ID de objeto da conta de registro. Cole esse valor em algum lugar, de modo que possa usá-lo na próxima etapa comoenrollmentAccountObjectId
.Use a propriedade
principalName
para identificar a conta à qual você deseja permitir acesso de Proprietário do Azure RBAC. Copie oname
dessa conta. Por exemplo, se você quiser permitir acesso de Proprietário do Azure RBAC à conta de registro SignUpEngineering@contoso.com, copieaaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
. Ele é a ID de objeto da conta de registro. Cole esse valor em algum lugar, de modo que possa usá-lo na próxima etapa comoenrollmentAccountObjectId
.Obtenha a ID de objeto do usuário ou do grupo ao qual você deseja conceder a função de Proprietário do Azure RBAC
- No portal do Azure, pesquise microsoft entra ID.
- Se você quiser permitir acesso a um usuário, selecione Usuários no menu à esquerda. Para conceder acesso a um grupo, selecione Grupos.
- Selecione o Usuário ou o Grupo ao qual você deseja conceder a função de Proprietário do Azure RBAC.
- Se você selecionar um Usuário, a ID de objeto estará na página Perfil. Se você selecionar um Grupo, a ID do objeto estará na página Visão Geral. Copie o ObjectID selecionando o ícone à direita da caixa de texto. Cole-o em algum lugar, de modo que possa usá-lo na próxima etapa como
userObjectId
.
Conceder ao usuário ou ao grupo a função de Proprietário do Azure RBAC na conta de registro
Usando os valores que você coletou nas duas primeiras etapas, conceda ao usuário ou ao grupo a função de Proprietário do Azure RBAC na conta de registro.
Execute o comando a seguir, substituindo
<enrollmentAccountObjectId>
peloname
copiado na primeira etapa (aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
). Substitua<userObjectId>
pela ID de objeto que você copiou da segunda etapa.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 escopo da conta do registro, o Azure responde com informações sobre a 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>" }
Audite quem criou assinaturas usando logs de atividade
Para controlar as assinaturas criadas por meio desta API, use o API de Locatário do Log de Atividade. No momento não é possível usar o PowerShell, CLI ou o portal do Azure para controlar a criação da assinatura.
Como administrador de locatário do locatário do Microsoft Entra, eleve o acesso e atribua uma função leitor ao usuário de auditoria no escopo
/providers/microsoft.insights/eventtypes/management
. Esse acesso está disponível na função Leitor, na função Colaborador de monitoramento ou em uma função personalizada.Como o usuário de auditoria, chame o API de Locatário do Log de Atividade para ver as atividades de criação de assinatura. 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 da linha de comando, tente ARMClient.
Conteúdo relacionado
- Agora que o usuário ou entidade de serviço tem permissão para criar uma assinatura, use essa identidade para criar programaticamente as assinaturas do Azure Enterprise.
- Para obter um exemplo sobre como criar assinaturas usando .NET, consulte código de exemplo no GitHub.
- Para saber mais sobre o Azure Resource Manager, confira Visão geral do Azure Resource Manager.
- Para saber mais sobre como gerenciar grandes números de assinaturas usando grupos de gerenciamento, consulte Organizar seus recursos com grupos de gerenciamento do Azure
- Para ver uma abrangente diretriz de práticas recomendadas para grandes organizações no controle de assinatura, consulte scaffold enterprise do Azure - governança prescritivas de assinatura