Tilldela företagsavtal roller till tjänstens huvudnamn
Du kan hantera din företagsavtal-registrering (EA) i Azure Portal. Du kan skapa olika roller för att hantera din organisation, visa kostnader och skapa prenumerationer. Den här artikeln hjälper dig att automatisera vissa av dessa uppgifter med hjälp av Azure PowerShell- och REST-API:er med Microsoft Entra ID-tjänstens huvudnamn.
Kommentar
Om du har flera EA-faktureringskonton i organisationen måste du bevilja EA-rollerna till Microsoft Entra ID-tjänstens huvudnamn individuellt i varje EA-faktureringskonto.
Kontrollera att du är bekant med följande artiklar innan du börjar:
Du behöver ett sätt att anropa REST-API:er. Några populära sätt att köra frågor mot API:et är:
- Visual Studio
- Sömnlöshet
- Bruno
- PowerShells Invoke-RestMethod
- Hårlock
Skapa och autentisera tjänstens huvudnamn
För att automatisera EA-åtgärder med hjälp av ett huvudnamn för tjänsten måste du skapa en Microsoft Entra-appidentitet som sedan kan autentiseras automatiskt.
Följ stegen i de här artiklarna för att skapa och autentisera med tjänstens huvudnamn.
Här är ett exempel på programregistreringssidan.
Hitta tjänstens huvudnamn och klient-ID:t
Du behöver tjänstens huvudnamns objekt-ID och klientorganisations-ID. Du behöver den här informationen för behörighetstilldelningsåtgärder senare i den här artikeln. Alla program är registrerade i Microsoft Entra-ID i klientorganisationen. Två typer av objekt skapas när appregistreringen har slutförts:
- Programobjekt – Program-ID:t är det du ser under Företagsprogram. Använd inte ID:t för att bevilja några EA-roller.
- Objekt för tjänstens huvudnamn – Objektet Tjänstens huvudnamn är det du ser i fönstret Företagsregistrering i Microsoft Entra-ID. Objekt-ID:t används för att bevilja EA-roller till tjänstens huvudnamn.
Öppna Microsoft Entra-ID och välj sedan Företagsprogram.
Hitta din app i listan.
Välj appen för att hitta program-ID:t och objekt-ID:t:
Gå till sidan Översikt över Microsoft Entra-ID för att hitta klientorganisations-ID:t.
Kommentar
Värdet för ditt Klient-ID för Microsoft Entra ser ut som ett GUID med följande format: aaaabbbb-0000-cccc-1111-dddd2222eeee
.
Behörigheter som kan tilldelas tjänstens huvudnamn
Senare i den här artikeln ger du behörighet till Microsoft Entra-appen att agera med hjälp av en EA-roll. Du kan bara tilldela följande roller till tjänstens huvudnamn och du behöver rolldefinitions-ID:t, precis som det visas.
Roll | Tillåtna åtgärder | Rolldefinitions-ID |
---|---|---|
EnrollmentReader | Registreringsläsare kan visa data i omfången för registrering, avdelning och konto. Data innehåller avgifter för alla prenumerationer under omfången, inklusive mellan klienter. Kan visa saldot för Azure-förskottsbetalningar (kallades tidigare ekonomiskt åtagande) som är associerat med registreringen. | 24f8edb6-1668-4659-b5e2-40bb5f3a7d7e |
EA-inköpare | Köp reservationsbeställningar och visa reservationstransaktioner. Den har alla behörigheter för EnrollmentReader, som har alla behörigheter för DepartmentReader. Den kan visa användning och avgifter för alla konton och prenumerationer. Kan visa saldot för Azure-förskottsbetalningar (kallades tidigare ekonomiskt åtagande) som är associerat med registreringen. | da6647fb-7651-49ee-be91-c43c4877f0c4 |
DepartmentReader | Ladda ned användningsinformationen för den avdelning som de administrerar. Kan visa användning och avgifter som är associerade med deras avdelning. | db609904-a47f-4794-9be8-9bd86fbffd8a |
PrenumerationSkapare | Skapa nya prenumerationer i det angivna omfånget för kontot. | a0bcee42-bf30-4d1b-926a-48d21664ef71 |
- En EnrollmentReader-roll kan endast tilldelas till tjänstens huvudnamn av en användare som har en roll som registreringsskrivare. Rollen EnrollmentReader som tilldelats tjänstens huvudnamn visas inte i Azure Portal. Den skapas på programmatiska sätt och är endast avsedd för programmatisk användning.
- En DepartmentReader-roll kan endast tilldelas till tjänstens huvudnamn av en användare som har rollen som registreringsförfattare eller avdelningsförfattare.
- En PrenumerationSkaparroll kan endast tilldelas till tjänstens huvudnamn av en användare som är ägare till registreringskontot (EA-administratör). Rollen visas inte i Azure Portal. Den skapas på programmatiska sätt och är endast avsedd för programmatisk användning.
- EA-inköparens roll visas inte i Azure Portal. Den skapas på programmatiska sätt och är endast avsedd för programmatisk användning.
När du beviljar en EA-roll till ett huvudnamn för tjänsten måste du använda den billingRoleAssignmentName
egenskap som krävs. Parametern är ett unikt GUID som du måste ange. Du kan generera ett GUID med kommandot New-Guid PowerShell. Du kan också använda webbplatsen online-GUID /UUID Generator för att generera ett unikt GUID.
Ett huvudnamn för tjänsten kan bara ha en roll.
Tilldela rollbehörighet för registreringskonto till tjänstens huvudnamn
Läs artikeln Rolltilldelningar – Placera REST API. När du läser artikeln väljer du Prova för att komma igång med tjänstens huvudnamn.
Använd dina kontoautentiseringsuppgifter för att logga in på klientorganisationen med den registreringsåtkomst som du vill tilldela.
Ange följande parametrar som en del av API-begäran.
billingAccountName
: Den här parametern är faktureringskontots ID. Du hittar den i Azure Portal på översiktssidan kostnadshantering + fakturering.billingRoleAssignmentName
: Den här parametern är ett unikt GUID som du behöver ange. Du kan generera ett GUID med kommandot New-Guid PowerShell. Du kan också använda webbplatsen online-GUID /UUID Generator för att generera ett unikt GUID.api-version
: Använd förhandsversionen 2019-10-01. Använd brödtexten för exempelbegäran i Rolltilldelningar – Put – Exempel.Begärandetexten har JSON-kod med tre parametrar som du behöver använda.
Parameter Var du hittar den properties.principalId
Det är värdet för objekt-ID. Se Hitta tjänstens huvudnamn och klient-ID:t. properties.principalTenantId
Se Hitta tjänstens huvudnamn och klient-ID:t. properties.roleDefinitionId
/providers/Microsoft.Billing/billingAccounts/{BillingAccountName}/billingRoleDefinitions/24f8edb6-1668-4659-b5e2-40bb5f3a7d7e
Faktureringskontonamnet är samma parameter som du använde i API-parametrarna. Det är registrerings-ID:t som visas i Azure Portal.
Observera att det
24f8edb6-1668-4659-b5e2-40bb5f3a7d7e
är ett definitions-ID för faktureringsrollen för en EnrollmentReader.
Välj Kör för att starta kommandot.
Ett
200 OK
svar visar att tjänstens huvudnamn har lagts till.
Nu kan du använda tjänstens huvudnamn för att automatiskt komma åt EA-API:er. Tjänstens huvudnamn har rollen EnrollmentReader.
Tilldela ea-inköparens rollbehörighet till tjänstens huvudnamn
För EA-inköpsrollen använder du samma steg för registreringsläsaren. roleDefinitionId
Ange , med hjälp av följande exempel:
"/providers/Microsoft.Billing/billingAccounts/1111111/billingRoleDefinitions/ da6647fb-7651-49ee-be91-c43c4877f0c4"
Tilldela rollen avdelningsläsare till tjänstens huvudnamn
Läs artikeln Rolltilldelningar för registreringsavdelningen – Placera REST API. När du läser artikeln väljer du Prova.
Använd dina kontoautentiseringsuppgifter för att logga in på klientorganisationen med den registreringsåtkomst som du vill tilldela.
Ange följande parametrar som en del av API-begäran.
billingAccountName
: Den här parametern är faktureringskontots ID. Du hittar den i Azure Portal på översiktssidan kostnadshantering + fakturering.billingRoleAssignmentName
: Den här parametern är ett unikt GUID som du behöver ange. Du kan generera ett GUID med kommandot New-Guid PowerShell. Du kan också använda webbplatsen online-GUID /UUID Generator för att generera ett unikt GUID.departmentName
: Den här parametern är avdelnings-ID:t. Du kan se avdelnings-ID:t i Azure Portal på sidan Kostnadshantering + faktureringsavdelningar>.I det här exemplet använde vi ACE-avdelningen. ID:t för exemplet är
84819
.api-version
: Använd förhandsversionen 2019-10-01. Använd exemplet på Rolltilldelningar för registreringsavdelningen – Placera.Begärandetexten har JSON-kod med tre parametrar som du behöver använda.
Parameter Var du hittar den properties.principalId
Det är värdet för objekt-ID. Se Hitta tjänstens huvudnamn och klient-ID:t. properties.principalTenantId
Se Hitta tjänstens huvudnamn och klient-ID:t. properties.roleDefinitionId
/providers/Microsoft.Billing/billingAccounts/{BillingAccountName}/billingRoleDefinitions/db609904-a47f-4794-9be8-9bd86fbffd8a
Faktureringskontonamnet är samma parameter som du använde i API-parametrarna. Det är registrerings-ID:t som visas i Azure Portal.
Definitions-ID
db609904-a47f-4794-9be8-9bd86fbffd8a
för faktureringsrollen för är för en avdelningsläsare.
Välj Kör för att starta kommandot.
Ett
200 OK
svar visar att tjänstens huvudnamn har lagts till.
Nu kan du använda tjänstens huvudnamn för att automatiskt komma åt EA-API:er. Tjänstens huvudnamn har rollen DepartmentReader.
Tilldela rollen som prenumerationsskapare till tjänstens huvudnamn
Läs artikeln Rolltilldelningar för registreringskonto – Placera. När du läser den väljer du Prova för att tilldela rollen som prenumerationsskapare till tjänstens huvudnamn.
Använd dina kontoautentiseringsuppgifter för att logga in på klientorganisationen med den registreringsåtkomst som du vill tilldela.
Ange följande parametrar som en del av API-begäran. Läs artikeln i Rolltilldelningar för registreringskonto – Placera – URI-parametrar.
billingAccountName
: Den här parametern är faktureringskontots ID. Du hittar den i Azure Portal på översiktssidan kostnadshantering + fakturering.billingRoleAssignmentName
: Den här parametern är ett unikt GUID som du behöver ange. Du kan generera ett GUID med kommandot New-Guid PowerShell. Du kan också använda webbplatsen online-GUID /UUID Generator för att generera ett unikt GUID.enrollmentAccountName
: Den här parametern är konto-ID. Leta reda på konto-ID:t för kontonamnet i Azure Portal på sidan Kostnadshantering + fakturering.I det här exemplet använde
GTM Test Account
vi . ID:t är196987
.api-version
: Använd förhandsversionen 2019-10-01. Använd exemplet på Rolltilldelningar för registreringsavdelningen – Put – Examples .Begärandetexten har JSON-kod med tre parametrar som du behöver använda.
Parameter Var du hittar den properties.principalId
Det är värdet för objekt-ID. Se Hitta tjänstens huvudnamn och klient-ID:t. properties.principalTenantId
Se Hitta tjänstens huvudnamn och klient-ID:t. properties.roleDefinitionId
/providers/Microsoft.Billing/billingAccounts/{BillingAccountID}/enrollmentAccounts/{enrollmentAccountID}/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71
Faktureringskontonamnet är samma parameter som du använde i API-parametrarna. Det är registrerings-ID:t som visas i Azure Portal.
Definitions-ID
a0bcee42-bf30-4d1b-926a-48d21664ef71
för faktureringsrollen är för rollen som prenumerationsskapare.
Välj Kör för att starta kommandot.
Ett
200 OK
svar visar att tjänstens huvudnamn har lagts till.
Nu kan du använda tjänstens huvudnamn för att automatiskt komma åt EA-API:er. Tjänstens huvudnamn har rollen SubscriptionCreator.
Verifiera rolltilldelningar för tjänstens huvudnamn
Rolltilldelningar för tjänstens huvudnamn visas inte i Azure Portal. Du kan visa rolltilldelningar för registreringskonto, inklusive rollen som prenumerationsskapare, med API:et Faktureringsrolltilldelningar – Lista efter registreringskonto – REST API (Azure Billing). Använd API:et för att kontrollera att rolltilldelningen lyckades.
Felsöka
Du måste identifiera och använda objekt-ID:t för Enterprise-programmet där du beviljade EA-rollen. Om du använder objekt-ID:t från något annat program misslyckas API-anrop. Kontrollera att du använder rätt objekt-ID för Företagsprogram.
Om du får följande fel när du gör ditt API-anrop kan du felaktigt använda objekt-ID-värdet för tjänstens huvudnamn som finns i Appregistreringar. Lös det här felet genom att se till att du använder objekt-ID:t för tjänstens huvudnamn från Företagsprogram, inte appregistreringar.
The provided principal Tenant Id = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx and principal Object Id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx are not valid