Attribuer des rôles EA à des principaux de service

Vous pouvez gérer votre inscription Contrat Entreprise (EA, Enterprise Agreement) dans le portail Azure. Vous pouvez créer différents rôles pour gérer votre organisation, afficher les coûts et créer des abonnements. Cet article vous aide à automatiser certaines de ces tâches en utilisant Azure PowerShell et les API REST avec des principaux de service Microsoft Entra ID.

Remarque

Si vous disposez de plusieurs comptes de facturation EA dans votre organisation, vous devez octroyer les rôles EA aux principaux de service Microsoft Entra ID individuellement dans chaque compte de facturation EA.

Avant de commencer, assurez-vous que vous êtes familiarisé avec les articles suivants :

Vous avez besoin d’un moyen d’appeler des API REST. Voici quelques méthodes populaires pour interroger l’API :

Créer et authentifier votre principal de service

Pour automatiser les actions EA à l’aide d’un principal de service, vous devez créer une identité d’application Microsoft Entra, qui peut ensuite s’authentifier de manière automatisée.

Suivez les étapes de ces articles pour créer et vous authentifier avec votre principal de service.

Voici un exemple de page d’inscription d’une application.

Capture d’écran montrant la page Inscrire une application.

Rechercher vos ID de principal de service et de locataire

Vous avez besoin de l’ID d’objet du principal de service et de l’ID de locataire. Vous devrez spécifier ces informations pour les opérations d’assignation d’autorisation plus loin dans cet article. Toutes les applications sont inscrites dans Microsoft Entra ID dans le locataire. Deux types d’objets sont créés lorsque l’inscription d’une application est terminée :

  • Objet Application : l’ID d’application est ce que vous voyez sous Applications d’entreprise. N’utilisez pas l’ID pour accorder des rôles Contrat Entreprise.
  • Objet de principal de service : l’objet de principal de service correspond à ce qui s’affiche dans la fenêtre Inscription d’entreprise dans Microsoft Entra ID. L’ID d’objet est utilisé pour octroyer des rôles EA au principal de service.
  1. Ouvrez Microsoft Entra ID, puis sélectionnez Applications d’entreprise.

  2. Recherchez votre application dans la liste.

    Capture d’écran montrant un exemple d’application d’entreprise.

  3. Sélectionnez l’application pour rechercher l’ID d’application et l’ID d’objet associés :

    Capture d’écran montrant un ID d’application et un ID d’objet pour une application d’entreprise.

  4. Accédez à la page Vue d’ensemble de Microsoft Entra ID pour rechercher l’ID de locataire.

    Capture d’écran montrant l’ID de locataire.

Remarque

La valeur de votre ID de locataire Microsoft Entra ressemble à un GUID au format suivant : aaaabbbb-0000-cccc-1111-dddd2222eeee.

Autorisations qui peuvent être attribuées au principal de service

Plus loin dans cet article, vous donnerez à l’application Microsoft Entra l’autorisation d’effectuer des actions en utilisant un rôle Contrat Entreprise. Vous pouvez uniquement attribuer les rôles suivants au principal de service, et vous devez avoir l’ID de définition de rôle exactement comme indiqué.

Rôle Actions autorisées ID de définition de rôle
EnrollmentReader Les lecteurs d’inscription peuvent afficher les données dans les étendues d’inscription, de service et de compte. Les données contiennent des frais pour tous les abonnements dans les étendues, y compris entre les locataires. Permet d’afficher le solde du paiement anticipé Azure (précédemment appelé engagement financier) associé à l’inscription. 24f8edb6-1668-4659-b5e2-40bb5f3a7d7e
Acheteur EA Acheter des ordres de réservation et afficher les transactions de réservation. Il dispose de toutes les autorisations de EnrollmentReader qui a à toutes les autorisations de DepartmentReader. Il permet d’afficher l’utilisation et les frais pour tous les comptes et abonnements. Permet d’afficher le solde du paiement anticipé Azure (précédemment appelé engagement financier) associé à l’inscription. da6647fb-7651-49ee-be91-c43c4877f0c4
DepartmentReader Télécharger les détails d’utilisation pour le service qu’il administre. Permet d’afficher l’utilisation et les frais associés à son service. db609904-a47f-4794-9be8-9bd86fbffd8a
SubscriptionCreator Créer des abonnements dans l’étendue de compte donnée. a0bcee42-bf30-4d1b-926a-48d21664ef71
  • Un rôle EnrollmentReader peut être attribué à un principal de service uniquement par un utilisateur qui a le rôle d’auteur d’inscription. Le rôle EnrollmentReader attribué à un principal de service n’est pas affiché dans le portail Azure. Il est créé par programme et ne sert qu’à des fins de programmation.
  • Un rôle DepartmentReader peut être attribué à un principal de service uniquement par un utilisateur qui a le rôle d’auteur d’inscription ou d’auteur de département.
  • Un rôle SubscriptionCreator peut être attribué à un principal de service uniquement par un utilisateur qui est propriétaire du compte d’inscription (administrateur EA). Le rôle n’apparaît pas dans le portail Azure. Il est créé par programme et ne sert qu’à des fins de programmation.
  • Le rôle Acheteur EA n’apparaît pas dans le portail Azure. Il est créé par programme et ne sert qu’à des fins de programmation.

Lorsque vous octroyez un rôle EA à un principal de service, vous devez utiliser la propriété billingRoleAssignmentName requise. Le paramètre est un GUID unique que vous devez fournir. Vous pouvez générer un GUID à l’aide de la commande PowerShell New-Guid. Vous pouvez aussi utiliser le site web Online GUID/UUID Generator pour générer un GUID unique.

Un principal de service ne peut avoir qu’un seul rôle.

Attribuer l’autorisation du rôle de compte d’inscription au principal de service

  1. Lisez l’article sur l’API REST Attributions de rôles – PUT. Pendant la lecture de l’article, sélectionnez Essayer pour commencer à utiliser le principal de service.

    Capture d’écran montrant l’option Essayer dans l’article Put.

  2. Utilisez les informations d’identification de votre compte pour vous connecter au locataire avec l’accès d’inscription que vous souhaitez attribuer.

  3. Fournissez les paramètres suivants dans le cadre de la demande d’API.

    • billingAccountName : ce paramètre est l’ID du compte de facturation. Vous le trouverez dans le portail Azure, dans la page de présentation de Cost Management + Billing.

      Capture d’écran montrant l’ID du compte de facturation.

    • billingRoleAssignmentName : ce paramètre est un GUID unique que vous devez fournir. Vous pouvez générer un GUID à l’aide de la commande PowerShell New-Guid. Vous pouvez aussi utiliser le site web Online GUID/UUID Generator pour générer un GUID unique.

    • api-version : utilisez la version 2019-10-01-preview. Utilisez l’exemple de corps de demande fourni dans la section Exemples dans Attributions de rôles – PUT.

      Le corps de la demande contient du code JSON avec trois paramètres que vous devez utiliser.

      Paramètre Comment y accéder
      properties.principalId Il s’agit de la valeur de l’ID d’objet. Consultez Rechercher vos ID de principal de service et de locataire.
      properties.principalTenantId Consultez Rechercher vos ID de principal de service et de locataire.
      properties.roleDefinitionId /providers/Microsoft.Billing/billingAccounts/{BillingAccountName}/billingRoleDefinitions/24f8edb6-1668-4659-b5e2-40bb5f3a7d7e

      Le nom du compte de facturation est le même paramètre que celui que vous avez utilisé dans les paramètres de l’API. Il s’agit de l’ID d’inscription que vous voyez dans le portail Azure.

      Notez que 24f8edb6-1668-4659-b5e2-40bb5f3a7d7e est un ID de définition de rôle de facturation pour un EnrollmentReader.

  4. Sélectionnez Exécuter pour lancer la commande.

    Capture d’écran montrant un exemple d’attribution de rôle avec des exemples d’informations prêts à être exécutés.

    Une réponse 200 OK indique que le principal de service a bien été ajouté.

Vous pouvez maintenant utiliser le principal de service pour accéder automatiquement aux API EA. Le principal de service a le rôle EnrollmentReader.

Attribuer l’autorisation du rôle Acheteur EA au principal de service

Pour le rôle d’acheteur EA, utilisez les mêmes étapes que pour le rôle de lecteur d’inscription. Spécifiez le paramètre roleDefinitionId, comme indiqué dans l’exemple suivant :

"/providers/Microsoft.Billing/billingAccounts/1111111/billingRoleDefinitions/ da6647fb-7651-49ee-be91-c43c4877f0c4"

Attribuer le rôle de lecteur de département au principal de service

  1. Lisez cet article sur l’API REST : Attributions de rôles de service d’inscription – Put. Pendant la lecture de l’article, sélectionnez Essayer.

    Capture d’écran montrant l’option Essayer dans l’article Attributions de rôles de service d’inscription – PUT.

  2. Utilisez les informations d’identification de votre compte pour vous connecter au locataire avec l’accès d’inscription que vous souhaitez attribuer.

  3. Fournissez les paramètres suivants dans le cadre de la demande d’API.

    • billingAccountName : ce paramètre est l’ID du compte de facturation. Vous le trouverez dans le portail Azure, dans la page de présentation de Cost Management + Billing.

      Capture d’écran montrant l’ID du compte de facturation.

    • billingRoleAssignmentName : ce paramètre est un GUID unique que vous devez fournir. Vous pouvez générer un GUID à l’aide de la commande PowerShell New-Guid. Vous pouvez aussi utiliser le site web Online GUID/UUID Generator pour générer un GUID unique.

    • departmentName : ce paramètre est l’ID de service. Vous trouverez les ID de service dans le portail Azure, dans la page Cost Management + Billing>Departments.

      Pour cet exemple, nous avons utilisé le service ACE. L’ID de l’exemple est 84819.

      Capture d’écran montrant un exemple d’ID de service.

    • api-version : utilisez la version 2019-10-01-preview. Utilisez l’exemple dansAttributions de rôles de service d’inscription – PUT.

      Le corps de la demande contient du code JSON avec trois paramètres que vous devez utiliser.

      Paramètre Comment y accéder
      properties.principalId Il s’agit de la valeur de l’ID d’objet. Consultez Rechercher vos ID de principal de service et de locataire.
      properties.principalTenantId Consultez Rechercher vos ID de principal de service et de locataire.
      properties.roleDefinitionId /providers/Microsoft.Billing/billingAccounts/{BillingAccountName}/billingRoleDefinitions/db609904-a47f-4794-9be8-9bd86fbffd8a

      Le nom du compte de facturation est le même paramètre que celui que vous avez utilisé dans les paramètres de l’API. Il s’agit de l’ID d’inscription que vous voyez dans le portail Azure.

      L’ID de définition de rôle de facturation db609904-a47f-4794-9be8-9bd86fbffd8a est destiné à un lecteur de service.

  4. Sélectionnez Exécuter pour lancer la commande.

    Capture d’écran montrant un exemple d’API REST Attributions de rôles de service d’inscription – PUT, avec le bouton Essayer mis en évidence et des exemples d’informations, prêt à être exécuté.

    Une réponse 200 OK indique que le principal de service a bien été ajouté.

Vous pouvez maintenant utiliser le principal de service pour accéder automatiquement aux API EA. Le principal de service a le rôle DepartmentReader.

Attribuer le rôle de créateur d’abonnement au principal de service

  1. Lisez l’article Attributions de rôles de compte d’inscription – PUT. Pendant la lecture, sélectionnez Essayer pour attribuer le rôle de créateur d’abonnement au principal de service.

    Capture d’écran montrant l’option Essayer dans l’article Attributions de rôles de compte d’inscription – PUT.

  2. Utilisez les informations d’identification de votre compte pour vous connecter au locataire avec l’accès d’inscription que vous souhaitez attribuer.

  3. Fournissez les paramètres suivants dans le cadre de la demande d’API. Lisez la section Paramètres URI dans Attributions de rôles de compte d’inscription – PUT.

    • billingAccountName : ce paramètre est l’ID du compte de facturation. Vous le trouverez dans le portail Azure, dans la page de présentation de Cost Management + Billing.

      Capture d’écran montrant l’ID du compte de facturation.

    • billingRoleAssignmentName : ce paramètre est un GUID unique que vous devez fournir. Vous pouvez générer un GUID à l’aide de la commande PowerShell New-Guid. Vous pouvez aussi utiliser le site web Online GUID/UUID Generator pour générer un GUID unique.

    • enrollmentAccountName : ce paramètre est l’ID de compte. Vous trouverez l’ID de compte associé au nom de compte dans le portail Azure, dans la page Cost Management + Billing.

      Pour cet exemple, nous utilisons le GTM Test Account. L’ID est 196987.

      Capture d’écran montrant l’ID de compte.

    • api-version : utilisez la version 2019-10-01-preview. Utilisez l’exemple fourni la section Exemples dans Attributions de rôles de service d’inscription – PUT.

      Le corps de la demande contient du code JSON avec trois paramètres que vous devez utiliser.

      Paramètre Comment y accéder
      properties.principalId Il s’agit de la valeur de l’ID d’objet. Consultez Rechercher vos ID de principal de service et de locataire.
      properties.principalTenantId Consultez Rechercher vos ID de principal de service et de locataire.
      properties.roleDefinitionId /providers/Microsoft.Billing/billingAccounts/{BillingAccountID}/enrollmentAccounts/{enrollmentAccountID}/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71

      Le nom du compte de facturation est le même paramètre que celui que vous avez utilisé dans les paramètres de l’API. Il s’agit de l’ID d’inscription que vous voyez dans le portail Azure.

      L’ID de définition de rôle de facturation a0bcee42-bf30-4d1b-926a-48d21664ef71 est destiné au rôle de créateur d’abonnement.

  4. Sélectionnez Exécuter pour lancer la commande.

    Capture d’écran montrant l’option Essayer dans l’article Attributions de rôles de compte d’inscription – PUT.

    Une réponse 200 OK indique que le principal de service a bien été ajouté.

Vous pouvez maintenant utiliser le principal de service pour accéder automatiquement aux API EA. Le principal de service a le rôle SubscriptionCreator.

Vérifier les attributions de rôles des principaux de service

Les attributions de rôles des principaux de service ne sont pas visibles dans le Portail Azure. Vous pouvez afficher les attributions de rôle du compte d’inscription, notamment le rôle créateur d’abonnement, avec l’API Attribution de rôle Facturation - Liste par Compte d’inscription - API REST (Azure Billing). Utilisez l’API pour vous assurer de la réussite de l’attribution de rôle.

Dépanner

Vous devez identifier et utiliser l’ID d’objet d’application Enterprise auquel vous avez accordé le rôle EA. Si vous utilisez l’ID d’objet d’une autre application, les appels d’API échouent. Vérifiez que vous utilisez le ID d’objet d’application Enterprise correct.

Si vous recevez l’erreur suivante lors de votre appel d’API, vous n’utilisez peut-être pas correctement la valeur de l’ID d’objet du principal de service situé dans les inscriptions d’applications. Pour résoudre cette erreur, veillez à utiliser l’ID d’objet du principal de service qui se trouve dans Applications d’entreprise, et non dans Inscriptions d’applications.

The provided principal Tenant Id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx and principal Object Id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx are not valid

Étapes suivantes

Bien démarrer avec votre compte de facturation Contrat Entreprise.