Partilhar via


Criar programaticamente assinaturas MCA entre locatários do Microsoft Entra

Este artigo ajuda você a criar programaticamente uma assinatura do Microsoft Customer Agreement (MCA) entre locatários do Microsoft Entra. Em algumas situações, talvez seja necessário criar assinaturas MCA entre locatários do Microsoft Entra, mas vinculá-las a uma única conta de cobrança. Exemplos de tais situações incluem provedores de SaaS que desejam segregar os serviços ao cliente hospedados de serviços internos de TI ou ambientes internos que têm requisitos rígidos de conformidade regulamentar, como o Payment Card Industry (PCI).

O processo para criar uma assinatura MCA entre locatários é efetivamente um processo de duas fases. Ele requer ações a serem tomadas nos locatários de origem e destino do Microsoft Entra. Este artigo usa a seguinte terminologia:

  • Fonte: Microsoft Entra ID (source.onmicrosoft.com). Ele representa o locatário de origem onde a conta de faturamento MCA existe.
  • Destination Cloud Microsoft Entra ID (destination.onmicrosoft.com). Ele representa o locatário de destino onde as novas assinaturas MCA são criadas.

Não é possível criar planos de suporte programaticamente. Você pode comprar um novo plano de suporte ou atualizar um no portal do Azure. Navegue até Ajuda + suporte e, na parte superior da página, selecione Escolher o plano de suporte correto.

Pré-requisitos

Você já deve ter os seguintes locatários criados:

  • Um locatário de origem do Microsoft Entra com uma conta de cobrança ativa do Contrato de Cliente da Microsoft. Se não tiver um MCA ativo, pode criar um. Para obter mais informações, consulte Azure - Inscrever-se
  • Um locatário Microsoft Entra de destino separado do locatário ao qual seu MCA pertence. Para criar um novo locatário do Microsoft Entra, consulte Configuração do locatário do Microsoft Entra.

Configuração do aplicativo

Use as informações nas seções a seguir para instalar e configurar os aplicativos necessários nos locatários de origem e destino.

Registrar um aplicativo no locatário de origem

Para criar programaticamente uma assinatura MCA, um aplicativo Microsoft Entra deve ser registrado e receber a permissão apropriada do Azure RBAC. Para esta etapa, verifique se você está conectado ao locatário de origem (source.onmicrosoft.com) com uma conta que tenha permissões para registrar aplicativos do Microsoft Entra.

Seguindo as etapas em Guia de início rápido: registrar um aplicativo com a plataforma de identidade da Microsoft.

Para os fins deste processo, você só precisa seguir as seções Registrar um aplicativo e Adicionar credenciais .

Salve as seguintes informações para testar e configurar seu ambiente:

  • ID do Diretório (inquilino)
  • ID da aplicação (cliente)
  • ID do Objeto
  • Valor secreto do aplicativo que foi gerado. O valor só é visível no momento da criação.

Criar uma atribuição de função de cobrança para o aplicativo no locatário de origem

Analise as informações em Compreender as funções administrativas do Contrato de Cliente da Microsoft no Azure para determinar o escopo e a função de cobrança apropriados para o aplicativo.

Depois de determinar o escopo e a função, use as informações em Gerenciar funções de cobrança no portal do Azure para criar a atribuição de função para o aplicativo. Procure a aplicação utilizando o nome que utilizou quando registou a aplicação na secção anterior.

Registrar um aplicativo no locatário de destino

Para aceitar a assinatura MCA do locatário de destino (destination.onmicrosoft.com), um aplicativo Microsoft Entra deve ser registrado e adicionado à função de administrador de cobrança Microsoft Entra. Para esta etapa, verifique se você está conectado ao locatário de destino (destination.onmicrosoft.com) com uma conta que tenha permissões para registrar aplicativos do Microsoft Entra. Ele também deve ter permissão de função de administrador de cobrança.

Siga as mesmas etapas usadas acima para registrar um aplicativo no locatário de origem. Salve as seguintes informações para testar e configurar seu ambiente:

  • ID do Diretório (inquilino)
  • ID da aplicação (cliente)
  • ID do Objeto
  • Valor secreto do aplicativo que foi gerado. O valor só é visível no momento da criação.

Adicionar o aplicativo de destino à função Administrador de cobrança do Microsoft Entra

Use as informações em Atribuir funções de administrador e não administrador a usuários com ID do Microsoft Entra para adicionar o aplicativo de destino criado na seção anterior à função Administrador de cobrança do Microsoft Entra no locatário de destino.

Criar uma subscrição programaticamente

Com os aplicativos e permissões já configurados, use as informações a seguir para criar assinaturas programaticamente.

Obter a ID da entidade de serviço do aplicativo de destino

Ao criar uma assinatura MCA no locatário de origem, você deve especificar a entidade de serviço ou SPN do aplicativo no locatário de destino como proprietário. Use um dos seguintes métodos para obter a ID. Em ambos os métodos, o valor a ser usado para o GUID vazio é a ID do aplicativo (cliente) do aplicativo locatário de destino criado anteriormente.

CLI do Azure

Entre na CLI do Azure e use o comando az ad sp show :

az ad sp show --id 00000000-0000-0000-0000-000000000000 --query 'id'

Azure PowerShell

Entre no Azure PowerShell e use o cmdlet Get-AzADServicePrincipal :

Get-AzADServicePrincipal -ApplicationId 00000000-0000-0000-0000-000000000000 | Select-Object -Property Id

Salve o Id valor retornado pelo comando.

Criar a subscrição

Use as informações a seguir para criar uma assinatura no locatário de origem.

Obter um token de acesso ao aplicativo de origem

Substitua o pelo ID real do locatário, ID do aplicativo (cliente) e os valores secretos do aplicativo que você salvou quando criou o {{placeholders}} aplicativo locatário de origem anteriormente.

Invoque a solicitação e salve o access_token valor da resposta para uso na próxima etapa.

POST https://login.microsoftonline.com/{{tenant_id}}/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id={{client_id}}&client_secret={{app_secret}}&resource=https%3A%2F%2Fmanagement.azure.com%2F

Obter os IDs da conta de cobrança, do perfil e da seção de fatura

Use as informações em Localizar contas de faturamento às quais você tem acesso e Localizar perfis de faturamento e seções de fatura para criar seções de assinaturas para obter os IDs da conta de faturamento, perfil e seção de fatura.

Nota

Recomendamos usar o método REST com o token de acesso obtido anteriormente para verificar se a atribuição de função de cobrança do aplicativo foi criada com êxito na seção Configuração do aplicativo.

Criar um alias de subscrição

Com os IDs da conta de cobrança, do perfil e da seção de fatura, você tem todas as informações necessárias para criar a assinatura:

  • {{guid}}: Pode ser um GUID válido.
  • {{access_token}}: Token de acesso do aplicativo locatário de origem obtido anteriormente.
  • {{billing_account}}: ID da conta de faturação obtida anteriormente.
  • {{billing_profile}}: ID do perfil de faturação obtido anteriormente.
  • {{invoice_section}}: ID da secção da fatura obtida anteriormente.
  • {{destination_tenant_id}}: ID do locatário de destino, conforme observado quando você criou anteriormente o aplicativo de locatário de destino.
  • {{destination_service_principal_id}}: ID da entidade de serviço do locatário de destino que você obteve da seção Obter a ID da entidade de serviço do aplicativo de destino anteriormente.

Envie a solicitação e anote o Location valor do cabeçalho na resposta.

PUT https://management.azure.com/providers/Microsoft.Subscription/aliases/{{guid}}?api-version=2021-10-01
Authorization: Bearer {{access_token}}
Content-Type: application/json

{
  "properties": {
    "displayName": "{{subscription_name}}",
    "workload": "Production",
    "billingScope": "/billingAccounts/{{billing_account}}/billingProfiles/{{billing_profile}}/invoiceSections/{{invoice_section}}",
    "subscriptionId": null,
    "additionalProperties": {
      "managementGroupId": null,
      "subscriptionTenantId": "{{destination_tenant_id}}",
      "subscriptionOwnerId": "{{destination_service_principal_id}}"
    }
  }
}

Aceitar a propriedade da subscrição

A última fase para concluir o processo é aceitar a propriedade da assinatura.

Obter um token de acesso ao aplicativo de destino

Substitua {{placeholders}} pelo ID real do locatário, ID do aplicativo (cliente) e valores secretos do aplicativo que você salvou quando criou o aplicativo locatário de destino anteriormente.

Invoque a solicitação e salve o access_token valor da resposta para a próxima etapa.

POST https://login.microsoftonline.com/{{tenant_id}}/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id={{client_id}}&client_secret={{app_secret}}&resource=https%3A%2F%2Fmanagement.azure.com%2F

Aceitar propriedade

Use as seguintes informações para aceitar a propriedade da assinatura no locatário de destino:

  • {{subscription_id}}: ID da assinatura criada na seção Criar alias de assinatura. Ele está contido no cabeçalho do local que você anotou.
  • {{access_token}}: Token de acesso criado na etapa anterior.
  • {{subscription_display_name}}: Nome para exibição da assinatura em seu ambiente do Azure.
POST https://management.azure.com/providers/Microsoft.Subscription/subscriptions/{{subscription_id}}/acceptOwnership?api-version=2021-10-01
Authorization: Bearer {{access_token}}
Content-Type: application/json

{
  "properties": {
    "displayName": "{{subscription_display_name}}",
    "managementGroupId": null
  }
}

Próximos passos