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

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:

  1. 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 o name dessa conta. Por exemplo, se você quiser permitir acesso de Proprietário do Azure RBAC à conta de registro SignUpEngineering@contoso.com, copie aaaaaaaa-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 como enrollmentAccountObjectId.

    Use a propriedade principalName para identificar a conta à qual você deseja permitir acesso de Proprietário do Azure RBAC. Copie o name dessa conta. Por exemplo, se você quiser permitir acesso de Proprietário do Azure RBAC à conta de registro SignUpEngineering@contoso.com, copie aaaaaaaa-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 como enrollmentAccountObjectId.

  2. 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

    1. No portal do Azure, pesquise microsoft entra ID.
    2. Se você quiser permitir acesso a um usuário, selecione Usuários no menu à esquerda. Para conceder acesso a um grupo, selecione Grupos.
    3. Selecione o Usuário ou o Grupo ao qual você deseja conceder a função de Proprietário do Azure RBAC.
    4. 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.
  3. 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> pelo name 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.

  1. 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.

  2. 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.