Share via


Créer des abonnements Azure MCA programmatiquement dans des locataires Microsoft Entra

Cet article vous aide à créer programmatiquement un abonnement Contrat client Microsoft (MCA) dans des locataires Microsoft Entra. Dans certains cas, vous devrez peut-être créer des abonnements MCA dans des locataires Microsoft Entra, mais en les liant à un compte de facturation unique. Une telle situation peut se présenter, par exemple, quand des fournisseurs SaaS souhaitent séparer des services clients hébergés de services informatiques internes ou d’environnements internes qui doivent répondre à des exigences strictes en matière de conformité réglementaire, comme celles de la Payment Card Industry (PCI).

Le processus de création d’un abonnement MCA dans des locataires se déroule en deux phases. Des actions sont nécessaires dans les locataires Microsoft Entra sources et de destination. Cet article utilise les termes suivants :

  • Microsoft Entra ID source (source.onmicrosoft.com). Représente le locataire source où réside le compte de facturation MCA.
  • Microsoft Entra ID de destination sur le cloud (destination.onmicrosoft.com). Représente le locataire de destination où sont créés les nouveaux abonnements MCA.

Vous ne pouvez pas créer de plans de support par programme. Vous pouvez acheter un nouveau plan de support ou en mettre un à niveau dans le portail Azure. Accédez à Aide et support, puis, en haut de la page, sélectionnez Choisir le plan de support approprié.

Prérequis

Vous devez déjà disposer des locataires créés suivants :

Installation d’applications

Utilisez les informations des sections suivantes pour installer et configurer les applications nécessaires dans les locataires sources et de destination.

Inscrire une application dans le locataire source

Pour créer un abonnement MCA programmatiquement, une application Microsoft Entra doit être inscrite et disposer de l’autorisation RBAC Azure appropriée. Pour cette étape, assurez-vous que vous êtes connecté au locataire source (source.onmicrosoft.com) avec un compte disposant des autorisations nécessaires pour inscrire des applications Microsoft Entra.

Pour ce faire, suivez les étapes décrites dans Démarrage rapide : Inscrire une application à l’aide de la plateforme d’identités Microsoft.

Pour les besoins de ce processus, vous devez uniquement suivre les sections Inscrire une application et Ajouter des informations d’identification.

Enregistrez les informations suivantes pour tester et configurer votre environnement :

  • ID de l’annuaire (locataire)
  • ID d’application (client)
  • ID objet
  • Valeur de secret d’application générée. La valeur n’est qu’au moment de la création.

Créer une attribution de rôle de facturation pour l’application dans le locataire source

Consultez les informations fournies dans Présentation des rôles d’administrateur Azure dans le cadre des Contrats client Microsoft pour déterminer l’étendue et le rôle de facturation appropriés pour l’application.

Après avoir déterminé l’étendue et le rôle, utilisez les informations fournies dans Gérer les rôles de facturation sur le portail Azure pour créer l’attribution de rôle pour l’application. Recherchez l’application en utilisant le nom que vous avez utilisé lorsque vous l’avez inscrite dans la section précédente.

Inscrire une application dans le locataire de destination

Pour accepter l’abonnement MCA du locataire de destination (destination.onmicrosoft.com), une application Microsoft Entra doit être inscrite et ajoutée au rôle Administrateur de facturation Microsoft Entra. Pour cette étape, assurez-vous que vous êtes connecté au locataire de destination (destination.onmicrosoft.com) avec un compte disposant des autorisations nécessaires pour inscrire des applications Microsoft Entra. Il doit également disposer de l’autorisation du rôle Administrateur de facturation.

Suivez les étapes ci-dessus pour inscrire une application dans le locataire source. Enregistrez les informations suivantes pour tester et configurer votre environnement :

  • ID de l’annuaire (locataire)
  • ID d’application (client)
  • ID objet
  • Valeur de secret d’application générée. La valeur n’est visible qu’au moment de la création.

Ajouter l’application de destination au rôle Administrateur de facturation Microsoft Entra

Utilisez les informations de la section Attribuer des rôles d’administrateur et de non-administrateur à des utilisateurs avec Microsoft Entra ID pour ajouter l’application de destination créée dans la section précédente au rôle Administrateur de facturation Microsoft Entra dans le locataire de destination.

Créer un abonnement par programme

Avec les applications et autorisations configurées, utilisez les informations suivantes pour créer des abonnements par programme.

Obtenir l’ID du principal du service de l’application de destination

Lorsque vous créez un abonnement MCA dans le locataire source, vous devez spécifier le principal de service ou le SPN de l’application dans le locataire de destination en tant que propriétaire. Utilisez l’une des méthodes suivantes pour obtenir l’ID. Dans les deux méthodes, la valeur à utiliser pour le GUID vide est l’ID (client) d’application de l’application de locataire de destination créée précédemment.

Azure CLI

Connectez-vous à Azure CLI et utilisez la commande az ad sp show :

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

Azure PowerShell

Connectez-vous à Azure PowerShell et utilisez la cmdlet Get-AzADServicePrincipal :

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

Enregistrez la valeur Id retournée par la commande.

Créer l’abonnement

Utilisez les informations suivantes pour créer un abonnement dans le locataire source.

Obtenir un jeton d’accès d’application source

Remplacez {{placeholders}} par l’ID de locataire réel, l’ID (client) d’application et les valeurs de secret d’application que vous avez précédemment enregistrées lors de la création de l’application de locataire source.

Appelez la requête et enregistrez la valeur access_token de la réponse, que vous utiliserez à l’étape suivante.

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

Obtenir les ID de compte de facturation, de profil de facturation et section de facture

Utilisez les informations sur les comptes de facturation Find auxquels vous avez accès et recherchez des profils de facturation et des sections de facture pour créer des sections d’abonnements pour obtenir les ID de section de facturation, de profil et de facture.

Remarque

Nous vous recommandons d’utiliser la méthode REST avec le jeton d’accès obtenu précédemment pour vérifier que l’attribution de rôle de facturation d’application a été créée avec succès dans la section Configuration de l’application.

Créer un alias d’abonnement

Avec les ID de section de compte de facturation, de profil et de facture, vous disposez de toutes les informations nécessaires pour créer l’abonnement :

  • {{guid}} : peut être un GUID valide.
  • {{access_token}} : jeton d’accès de l’application de locataire source obtenu précédemment.
  • {{billing_account}} : ID du compte de facturation obtenu précédemment.
  • {{billing_profile}} : ID du profil de facturation obtenu précédemment.
  • {{invoice_section}} : ID de la section de facture obtenue précédemment.
  • {{destination_tenant_id}} : ID du locataire de destination noté lorsque vous avez précédemment créé l’application de locataire de destination.
  • {{destination_service_principal_id}} : ID du principal de service du locataire de destination que vous avez obtenu précédemment dans la section Obtenir l’ID du principal du service de l’application de destination.

Envoyez la demande et notez la valeur de l’en-tête Location dans la réponse.

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}}"
    }
  }
}

Accepter la propriété de l’abonnement

La dernière phase pour terminer le processus consiste à accepter la propriété de l’abonnement.

Obtenir un jeton d’accès d’application de destination

Remplacez {{placeholders}} par l’ID de locataire réel, l’ID (client) d’application et les valeurs de secret d’application que vous avez précédemment enregistrées lors de la création de l’application de locataire de destination.

Appelez la requête et enregistrez la valeur access_token de la réponse, que vous utiliserez à l’étape suivante.

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

Accepter la propriété

Utilisez les informations suivantes pour accepter la propriété de l’abonnement dans le locataire de destination :

  • {{subscription_id}}: ID de l’abonnement créé dans la section Créer un alias d’abonnement. Il est contenu dans l’en-tête d’emplacement que vous avez noté.
  • {{access_token}} : jeton d’accès créé à l’étape précédente.
  • {{subscription_display_name}} : nom d’affichage de l’abonnement dans votre environnement 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
  }
}

Étapes suivantes