Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können Ihre EA-Registrierung (Enterprise Agreement, Konzernvertrag) im Azure-Portal verwalten. Sie können verschiedene Rollen erstellen, um Ihre Organisation zu verwalten, Kosten anzuzeigen und Abonnements zu erstellen. Dieser Artikel hilft Ihnen, einige dieser Aufgaben zu automatisieren, indem Sie Azure PowerShell und REST-APIs mit Microsoft Entra ID-Dienstprinzipalen verwenden.
Hinweis
Wenn Sie in Ihrer Organisation über mehrere EA-Abrechnungskonten verfügen, müssen Sie die EA-Rollen den Microsoft Entra ID-Dienstprinzipalen in jedem EA-Abrechnungskonto einzeln zuweisen.
Bevor Sie beginnen, stellen Sie sicher, dass Sie den Inhalt der folgenden Artikel kennen:
Sie benötigen eine Möglichkeit, REST-APIs aufzurufen. Einige gängige Methoden zum Abfragen der API sind:
- Visual Studio
- Schlaflosigkeit
- Bruno
- Invoke-RestMethod von PowerShell
- Locke
Erstellen und Authentifizieren des Dienstprinzipals
Um EA-Aktionen mithilfe eines Dienstprinzipals zu automatisieren, müssen Sie eine Microsoft Entra-Anwendungsidentität erstellen, die sich dann automatisiert authentifizieren kann.
Folgen Sie den Schritten in diesen Artikeln, um Ihren Dienstprinzipal zu erstellen und zu authentifizieren.
Hier sehen Sie ein Beispiel für die Seite für die Anwendungsregistrierung.
Suchen des Dienstprinzipals und der Mandanten-IDs
Sie benötigen die Objekt-ID des Dienstprinzipals und die Mandanten-ID. Sie benötigen diese Informationen für Berechtigungszuweisungen weiter unten in diesem Artikel. Alle Anwendungen werden in Microsoft Entra ID im Mandanten registriert. Zwei Arten von Objekten werden erstellt, wenn die App-Registrierung abgeschlossen ist:
- Anwendungsobjekt: Die Anwendungs-ID wird unter „Unternehmensanwendungen“ angezeigt. Verwenden Sie die ID nicht, um EA-Rollen zuzuweisen.
- Dienstprinzipalobjekt: Das Dienstprinzipalobjekt wird im Fenster „Unternehmensregistrierung“ in Microsoft Entra ID angezeigt. Die Objekt-ID wird verwendet, um dem Dienstprinzipal EA-Rollen zuzuweisen.
Öffnen Sie Microsoft Entra ID, und wählen Sie dann Unternehmensanwendungen aus.
Suchen Sie Ihre App in der Liste.
Wählen Sie die App aus, um die Anwendungs-ID und die Objekt-ID zu ermitteln:
Die Mandanten-ID finden Sie auf der Seite Übersicht von Microsoft Entra ID.
Hinweis
Der Wert der Microsoft Entra-Mandanten-ID ähnelt einer GUID mit dem folgenden Format: aaaabbbb-0000-cccc-1111-dddd2222eeee
.
Berechtigungen, die dem Dienstprinzipal zugewiesen werden können
Weiter unten in diesem Artikel erteilen Sie der Microsoft Entra-App die Berechtigung zum Ausführen von Aktionen mit einer EA-Rolle. Sie können dem Dienstprinzipal nur die folgenden Rollen zuweisen, und Sie benötigen die ID der Rollendefinition, genau wie angezeigt.
Rolle | Zulässige Aktionen | ID der Rollendefinition |
---|---|---|
EnrollmentReader | Betrachten Sie die Daten in den Bereichen „Registrierung“, „Abteilung“ und „Konto“. Die Daten enthalten Gebühren für alle Abonnements in den Bereichen, einschließlich aller Mandanten. Kann den Saldo der Azure-Vorauszahlung (früher als Mindestverbrauch bezeichnet) für die Registrierung anzeigen. | 24f8edb6-1668-4659-b5e2-40bb5f3a7d7e |
Für EA-Einkauf zuständige Person | Kann Reservierungsaufträge erwerben und Reservierungstransaktionen anzeigen. Diese Rolle hat alle Berechtigungen von EnrollmentReader und dadurch wiederum alle Berechtigungen von DepartmentReader. Sie kann Nutzung und Gebühren für alle Konten und Abonnements anzeigen. Kann den Saldo der Azure-Vorauszahlung (früher als Mindestverbrauch bezeichnet) für die Registrierung anzeigen. | da6647fb-7651-49ee-be91-c43c4877f0c4 |
DepartmentReader | Herunterladen der Nutzungsdetails für die verwaltete Abteilung. Kann die Nutzung und die Gebühren für die Abteilung anzeigen. | db609904-a47f-4794-9be8-9bd86fbffd8a |
Abonnement-Ersteller | Erstellen neuer Abonnements im angegebenen Kontobereich. | a0bcee42-bf30-4d1b-926a-48d21664ef71 |
Leserolle für Partner-Administrationsfachkraft | Zeigen Sie Daten für alle Registrierungen unter der Partnerorganisation an. Diese Rolle ist nur für die folgenden APIs verfügbar: - Salden - Exports V2 (nur API-Version 2025-03-01) - Kostendetails-Bericht generieren - Marktplätze - Verbrauchspreisblatt - Kostenmanagement Preisblatt Herunterladen - Bericht „Reservierungsdetails generieren“ - Reservierungszusammenfassungen - Reservierungsempfehlungen - Reservierungstransaktionen |
4f6144c0-a809-4c55-b3c8-7f9b7b15a1bf |
- Die folgenden Benutzerrollen sind erforderlich, um jede Dienstprinzipalrolle zuzuweisen:
- EnrollmentReader: Die zuweisende Person muss die Schreibrolle für die Registrierung haben.
- DepartmentReader: Die zuweisende Person muss die Schreibrolle für die Registrierung oder die Schreibrolle für die Abteilung haben.
- SubscriptionCreator: Die zuweisende Person muss der Kontobesitzer für die Registrierung (EA-Administrationsfachkraft) sein.
- Für EA-Kauf zuständige Person: Die zuweisende Person muss die Schreibrolle für die Registrierung haben.
- Leserolle für Partner-Administrationsfachkraft: Die zuweisende Person muss die Rolle als Partner-Administrationsfachkraft haben.
Alle diese Rollen werden programmgesteuert erstellt, nicht im Azure-Portal angezeigt und dienen nur zur programmgesteuerten Verwendung.
Wenn Sie einem Dienstprinzipal eine EA-Rolle zuweisen, müssen Sie die erforderliche billingRoleAssignmentName
-Eigenschaft verwenden. Der Parameter ist ein eindeutiger Bezeichner (GUID), den Sie angeben müssen. Eine GUID kann mit dem PowerShell-Befehl New-Guid erstellt werden. Sie können eine eindeutige GUID auch über die Website Onlinegenerator für GUIDs/UUIDs generieren.
Ein Dienstprinzipal kann nur eine Rolle haben.
Zuweisen der Berechtigungsrolle für das Registrierungskonto zum Dienstprinzipal
Lesen Sie den REST-API-Artikel Rollenzuweisungen – PUT. Während Sie den Artikel lesen, wählen Sie Ausprobieren aus, um den Dienstprinzipal zu nutzen.
Melden Sie sich mit Ihren Kontoanmeldeinformationen beim Mandanten mit dem Registrierungszugriff an, den Sie zuweisen möchten.
Geben Sie in der API-Anforderung die folgenden Parameter an.
billingAccountName
: Dieser Parameter ist die Abrechnungskonto-ID. Sie finden ihn im Azure-Portal auf der Übersichtsseite Kostenverwaltung + Abrechnung.- Verwenden Sie für die Rolle " Partneradministratorleser " das Format
pcn.{PCN}
für den Namen des Abrechnungskontos, wobei{PCN}
es sich um die Partnerkundennummer Ihrer Partnerorganisation handelt. - Verwenden Sie für alle anderen Rollen die standardmäßige Abrechnungskonto-ID, wie im Azure-Portal dargestellt.
- Verwenden Sie für die Rolle " Partneradministratorleser " das Format
billingRoleAssignmentName
: Dieser Parameter ist eine eindeutige GUID, die Sie angeben müssen. Eine GUID kann mit dem PowerShell-Befehl New-Guid erstellt werden. Sie können eine eindeutige GUID auch über die Website Onlinegenerator für GUIDs/UUIDs generieren.api-version
: Verwenden Sie die Version 2019-10-01-preview. Verwenden Sie den Beispielanforderungstext in Rollenzuweisungen – PUT – Beispiele.Der Anforderungstext enthält JSON-Code mit drei Parametern, die Sie verwenden müssen.
Parameter Ort properties.principalId
Dies ist der Wert der Objekt-ID. Weitere Informationen finden Sie unter Suchen des Dienstprinzipals und der Mandanten-IDs. properties.principalTenantId
Weitere Informationen finden Sie unter Suchen des Dienstprinzipals und der Mandanten-IDs. properties.roleDefinitionId
/providers/Microsoft.Billing/billingAccounts/{BillingAccountName}/billingRoleDefinitions/24f8edb6-1668-4659-b5e2-40bb5f3a7d7e
Der Name des Abrechnungskontos ist der Parameter, den Sie in den API-Parametern verwendet haben. Es handelt sich um die Registrierungs-ID, die Sie im Azure-Portal sehen.
Beachten Sie, dass
24f8edb6-1668-4659-b5e2-40bb5f3a7d7e
die ID der Abrechnungsrollendefinition für eine Person mit der Rolle „EnrollmentReader“ ist.
Klicken Sie auf Ausführen, um den Befehl zu starten.
Eine
200 OK
-Antwort zeigt, dass der Dienstprinzipal erfolgreich hinzugefügt wurde.
Jetzt können Sie den Dienstprinzipal verwenden, um automatisch auf EA-APIs zuzugreifen. Der Dienstprinzipal verfügt über die EnrollmentReader-Rolle.
Zuweisen der Rollenberechtigung für EA-Käufer zum Dienstprinzipal
Führen Sie für die Rolle „Für EA-Einkauf zuständige Person“ die gleichen Schritte aus wie für „EnrollmentReader. Geben Sie die roleDefinitionId
an, indem Sie das folgende Beispiel verwenden:
"/providers/Microsoft.Billing/billingAccounts/1111111/billingRoleDefinitions/ da6647fb-7651-49ee-be91-c43c4877f0c4"
Zuweisen der Rolle „DepartmentReader“ zum Dienstprinzipal
Lesen Sie den REST-API-Artikel Zuweisungen von Abteilungsrollen für die Registrierung – PUT. Klicken Sie im Artikel auf Ausprobieren.
Melden Sie sich mit Ihren Kontoanmeldeinformationen beim Mandanten mit dem Registrierungszugriff an, den Sie zuweisen möchten.
Geben Sie in der API-Anforderung die folgenden Parameter an.
billingAccountName
: Dieser Parameter ist die Abrechnungskonto-ID. Sie finden ihn im Azure-Portal auf der Übersichtsseite Kostenverwaltung + Abrechnung.billingRoleAssignmentName
: Dieser Parameter ist eine eindeutige GUID, die Sie angeben müssen. Eine GUID kann mit dem PowerShell-Befehl New-Guid erstellt werden. Sie können eine eindeutige GUID auch über die Website Onlinegenerator für GUIDs/UUIDs generieren.departmentName
: Dieser Parameter ist die Abteilungs-ID. Abteilungs-IDs werden im Azure-Portal auf der Seite Kostenverwaltung + Abrechnung>Abteilungen angezeigt.In diesem Beispiel wurde die Abteilung „ACE“ verwendet. Die ID im Beispiel lautet
84819
.api-version
: Verwenden Sie die Version 2019-10-01-preview. Verwenden Sie das Beispiel in Zuweisungen von Abteilungsrollen für die Registrierung – PUT.Der Anforderungstext enthält JSON-Code mit drei Parametern, die Sie verwenden müssen.
Parameter Ort properties.principalId
Dies ist der Wert der Objekt-ID. Weitere Informationen finden Sie unter Suchen des Dienstprinzipals und der Mandanten-IDs. properties.principalTenantId
Weitere Informationen finden Sie unter Suchen des Dienstprinzipals und der Mandanten-IDs. properties.roleDefinitionId
/providers/Microsoft.Billing/billingAccounts/{BillingAccountName}/billingRoleDefinitions/db609904-a47f-4794-9be8-9bd86fbffd8a
Der Name des Abrechnungskontos ist der Parameter, den Sie in den API-Parametern verwendet haben. Es handelt sich um die Registrierungs-ID, die Sie im Azure-Portal sehen.
Die Definitions-ID
db609904-a47f-4794-9be8-9bd86fbffd8a
der Abrechnungsrolle gilt für „DepartmentReader“.
Klicken Sie auf Ausführen, um den Befehl zu starten.
Eine
200 OK
-Antwort zeigt, dass der Dienstprinzipal erfolgreich hinzugefügt wurde.
Jetzt können Sie den Dienstprinzipal verwenden, um automatisch auf EA-APIs zuzugreifen. Der Dienstprinzipal verfügt über die Rolle „DepartmentReader“.
Zuweisen der Rolle für das Erstellen des Abonnements zum Dienstprinzipal
Lesen Sie den Artikel Zuweisungen von Kontenrollen für die Registrierung – PUT. Während Sie den Artikel lesen, wählen Sie Ausprobieren aus, um dem Dienstprinzipal die Rolle zum Erstellen des Abonnements zuzuweisen.
Melden Sie sich mit Ihren Kontoanmeldeinformationen beim Mandanten mit dem Registrierungszugriff an, den Sie zuweisen möchten.
Geben Sie in der API-Anforderung die folgenden Parameter an. Lesen Sie den Artikel Zuweisungen von Kontenrollen für die Registrierung – PUT – URI-Parameter.
billingAccountName
: Dieser Parameter ist die Abrechnungskonto-ID. Sie finden ihn im Azure-Portal auf der Übersichtsseite Kostenverwaltung + Abrechnung.billingRoleAssignmentName
: Dieser Parameter ist eine eindeutige GUID, die Sie angeben müssen. Eine GUID kann mit dem PowerShell-Befehl New-Guid erstellt werden. Sie können eine eindeutige GUID auch über die Website Onlinegenerator für GUIDs/UUIDs generieren.enrollmentAccountName
: Dieser Parameter ist die Konto-ID. Suchen Sie im Azure-Portal auf der Seite Kostenverwaltung + Abrechnung die Konto-ID für den Kontonamen.In diesem Beispiel wurde
GTM Test Account
verwendet. Die ID lautet196987
.api-version
: Verwenden Sie die Version 2019-10-01-preview. Verwenden Sie das Beispiel in Zuweisungen von Abteilungsrollen für die Registrierung – PUT – Beispiele.Der Anforderungstext enthält JSON-Code mit drei Parametern, die Sie verwenden müssen.
Parameter Ort properties.principalId
Dies ist der Wert der Objekt-ID. Weitere Informationen finden Sie unter Suchen des Dienstprinzipals und der Mandanten-IDs. properties.principalTenantId
Weitere Informationen finden Sie unter Suchen des Dienstprinzipals und der Mandanten-IDs. properties.roleDefinitionId
/providers/Microsoft.Billing/billingAccounts/{BillingAccountID}/enrollmentAccounts/{enrollmentAccountID}/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71
Der Name des Abrechnungskontos ist der Parameter, den Sie in den API-Parametern verwendet haben. Es handelt sich um die Registrierungs-ID, die Sie im Azure-Portal sehen.
Die Definitions-ID
a0bcee42-bf30-4d1b-926a-48d21664ef71
der Abrechnungsrolle gilt für die Rolle zum Erstellen von Abonnements.
Klicken Sie auf Ausführen, um den Befehl zu starten.
Eine
200 OK
-Antwort zeigt, dass der Dienstprinzipal erfolgreich hinzugefügt wurde.
Jetzt können Sie den Dienstprinzipal verwenden, um automatisch auf EA-APIs zuzugreifen. Der Dienstprinzipal verfügt über die SubscriptionCreator-Rolle.
Überprüfen der Rollenzuweisungen für Dienstprinzipale
Die Rollenzuweisungen von Dienstprinzipalen sind im Azure-Portal nicht sichtbar. Sie können die Rollenzuweisungen für Registrierungskonten, einschließlich der Rolle des Erstellers von Abonnements, mit der API Abrechnungsrollenzuweisungen – Auflistung nach Registrierungskonten – REST-API (Azure-Abrechnung) einsehen. Verwenden Sie die API, um zu überprüfen, ob die Rollenzuweisung erfolgreich war.
Problembehandlung
Sie müssen die Objekt-ID der Unternehmensanwendung identifizieren und verwenden, in der Sie die EA-Rolle zugewiesen haben. Wenn Sie die Objekt-ID einer anderen Anwendung verwenden, treten bei API-Aufrufen Fehler auf. Vergewissern Sie sich, dass Sie die richtige Objekt-ID der Unternehmensanwendung verwenden.
Wenn Sie bei Ihrem API-Aufruf die folgende Fehlermeldung erhalten, verwenden Sie möglicherweise fälschlicherweise den Wert für die Objekt-ID des Dienstprinzipals unter „Anwendungsregistrierungen“. Um diesen Fehler zu beheben, stellen Sie sicher, dass Sie die Objekt-ID des Dienstprinzipals von den Unternehmensanwendungen und nicht von Anwendungsregistrierungen verwenden.
The provided principal Tenant Id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx and principal Object Id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx are not valid
Nächste Schritte
Erste Schritte mit Ihrem Abrechnungskonto für Enterprise Agreement.