Criar assinaturas do MCA programaticamente entre locatários associados do Microsoft Entra
Este artigo ajuda você a criar programaticamente uma assinatura do Contrato de Cliente da Microsoft (MCA) entre locatários de cobrança associados. Em algumas situações, talvez seja necessário criar assinaturas do MCA entre locatários do Microsoft Entra, mas vinculá-las a uma única conta de cobrança. Alguns exemplos dessas situações:
- Provedores de SaaS que desejam separar os serviços de cliente hospedados de serviços de TI internos
- Holdings ou empresas de capital de risco com muitas empresas de portfólio
- Ambientes internos com requisitos rígidos de conformidade regulatória, como a Indústria de Cartões de Pagamento (PCI)
O processo para criar uma assinatura do MCA em locatários de cobrança associados requer que as ações sejam executadas nos locatários de origem e destino do Microsoft Entra. Este artigo usa a seguinte terminologia:
- Locatário do Microsoft Entra de origem (source.onmicrosoft.com). Representa o locatário de origem em que existe a conta de cobrança de MCA.
- Locatário do Microsoft Entra na nuvem de destino (destination.onmicrosoft.com). Representa o locatário de destino em que as novas assinaturas de MCA são criadas.
Você não pode criar planos de suporte programaticamente. Você pode comprar um novo ou atualizar um plano de suporte no portal do Azure. Navegue até Ajuda + suporte. Na parte superior da página, selecione Escolher o plano de suporte correto.
Observação
Há dois métodos para habilitar a criação programática de assinaturas do MCA entre locatários do Microsoft Entra. O método descrito neste artigo é uma versão simplificada que minimiza a sobrecarga de gerenciamento e simplifica o processo de criação da assinatura transferindo as permissões para criar assinaturas do MCA inteiramente para o locatário de destino. O outro método envolve um processo de duas fases que fornece a governança do locatário de origem sobre as assinaturas criadas em locatários de destino. Este método pode ser preferencial se você precisar ter um controle mais rígido sobre a criação de assinaturas em locatários de destino.
Pré-requisitos
O ambiente a seguir é necessário para habilitar a criação programática de assinaturas do MCA entre locatários de cobrança associados:
- Um locatário do Microsoft Entra de origem com uma conta de cobrança do Contrato de Cliente da Microsoft ativa. Se você não tiver um MCA ativo, poderá criar um. Para obter mais informações, consulte Azure − Inscrever-se
- Um locatário do Microsoft Entra de destino separado do locatário ao qual o MCA pertence. Para criar um novo locatário do Microsoft Entra, consulte Configuração de locatário do Microsoft Entra.
- Adicione o locatário do Microsoft Entra de destino como locatário de cobrança associado locatários de cobrança associados dentro do locatário do Microsoft Entra de origem e atribua funções de cobrança a um usuário do locatário do Microsoft Entra de destino.
Instalação do aplicativo
Use as informações nas seções a seguir para instalar e configurar o aplicativo necessário no locatário de destino.
Registrar um aplicativo no locatário de destino
Para criar programaticamente uma assinatura do MCA, um aplicativo do Microsoft Entra deve ser registrado e ter recebido a permissão de controle de acesso baseado em função (RBAC) do Azure apropriada. Para esta etapa, certifique-se de que você esteja conectado ao locatário de destino (destination.onmicrosoft.com) com uma conta que tenha permissões para registrar aplicativos do Microsoft Entra. Certifique-se também de que tenha sido atribuída uma função de cobrança no locatário de origem (source.onmicrosoft.com) como parte dos pré-requisitos.
Siga as etapas em Início rápido: Registrar um aplicativo na plataforma de identidade da Microsoft.
Para esse processo, siga as seções Registrar um aplicativo e Adicionar credenciais.
Salve as seguintes informações para testar e configurar o ambiente:
- ID do diretório (locatário)
- ID do aplicativo (cliente)
- ID de objeto
- Valor secreto do aplicativo que foi gerado. O valor ficará visível somente no momento da criação.
Criar uma atribuição de função de cobrança para o aplicativo no locatário de destino
Para determinar o escopo e a função de cobrança apropriados para o aplicativo, examine as informações em Noções básicas sobre as funções administrativas do Contrato de Cliente da Microsoft no Azure.
Um usuário com acesso de proprietário pode atribuir uma função ao aplicativo entrando no portal do Azure no locatário associado. O acesso de proprietário inclui:
- Proprietário da conta de cobrança
- Proprietário do perfil de cobrança
- Proprietário da seção da fatura
Após 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 o aplicativo usando o nome que você usou quando registrou o aplicativo na seção anterior.
Criar uma assinatura programaticamente
Com os aplicativos e as permissões já configurados, use as informações a seguir para criar assinaturas programaticamente.
Criar a assinatura
Use as informações a seguir para criar uma assinatura no locatário de destino.
Obter um token de acesso do aplicativo de destino
Substitua {{placeholders}}
pela ID real do locatário, a ID do aplicativo (cliente) e os valores de segredo do aplicativo que você salvou quando criou o aplicativo de locatário de destino anteriormente.
Invoque a solicitação e salve o valor access_token
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 as IDs da seção de fatura, perfil e conta de cobrança
Use as informações em Encontrar contas de cobrança às quais você tem acesso e Encontrar perfis de cobrança e seções de fatura para criar assinaturas para obter os IDs da conta de cobrança, do perfil e da seção de fatura.
Observação
É recomendável 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 assinatura
Com as IDs da seção de fatura, perfil e conta de cobrança você terá todas as informações necessárias para criar a assinatura:
{{guid}}
: pode ser um GUID válido.{{access_token}}
: token de acesso do aplicativo de locatário de destino obtido anteriormente.{{billing_account}}
: ID da conta de cobrança obtida anteriormente.{{billing_profile}}
: ID do perfil de cobrança obtida anteriormente.{{invoice_section}}
: ID da seção de fatura obtida anteriormente.{{destination_tenant_id}}
: ID do locatário de destino conforme observado quando você criou anteriormente o aplicativo locatário de destino.{{destination_service_principal_object_id}}
: ID da entidade de serviço de locatário de destino que você obteve da seção Obter um token de acesso de aplicativo de destino anteriormente.
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_object_id}}"
}
}
}
Próximas etapas
- Agora que você criou uma assinatura, conceda essa capacidade a outros usuários e entidades de serviço. Para saber mais, veja Conceder acesso para criar assinaturas do Azure Enterprise (versão prévia).
- Para obter mais informações sobre como gerenciar um grande número de assinaturas usando grupos de gerenciamento, confira como Organizar seus recursos com os grupos de gerenciamento do Azure.
- Para alterar o grupo de gerenciamento de uma assinatura, confira Mover assinaturas.