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 :
- Locataire Microsoft Entra source avec un compte de facturation Contrat client Microsoft (MCA) actif. Si vous n’en avez pas, vous pouvez en créer un. Pour plus d’informations, consultez Azure - S’inscrire.
- Un locataire Microsoft Entra de destination autre que le locataire de votre MCA. Pour créer un locataire Microsoft Entra, consultez Configuration du locataire Microsoft Entra.
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 aaaaaaaa-bbbb-cccc-1111-222222222222 --query 'id'
Azure PowerShell
Connectez-vous à Azure PowerShell et utilisez la cmdlet Get-AzADServicePrincipal :
Get-AzADServicePrincipal -ApplicationId 00001111-aaaa-2222-bbbb-3333cccc4444 | 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 fournies dans les sections Rechercher les comptes de facturation auxquels vous avez accès et Rechercher les profils de facturation et les sections de facture pour créer des abonnements pour obtenir les ID des sections compte de facturation, profil et 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
- Maintenant que vous avez créé un abonnement, vous pouvez accorder cette capacité à d’autres utilisateurs et principaux de service. Pour plus d’informations, consultez Accorder l’accès pour créer des abonnements Azure Enterprise (préversion).
- Pour plus d’informations sur la gestion d’un grand nombre d’abonnements à l’aide de groupes d’administration, consultez Organiser vos ressources avec des groupes d’administration Azure.
- Pour changer le groupe d’administration d’un abonnement, consultez Déplacer des abonnements.