Skapa MCA-prenumerationer programmatiskt mellan Microsoft Entra-klienter
Den här artikeln hjälper dig att programmatiskt skapa en mca-prenumeration (Microsoft-kundavtal) mellan Microsoft Entra-klienter. I vissa situationer kan du behöva skapa MCA-prenumerationer för Microsoft Entra-klienter, men koppla dem till ett enda faktureringskonto. Exempel på sådana situationer är SaaS-leverantörer som vill skilja värdbaserade kundtjänster från interna IT-tjänster eller interna miljöer som har strikta krav på regelefterlevnad, till exempel PcI (Payment Card Industry).
Processen för att skapa en MCA-prenumeration mellan klienter är i själva verket en process i två faser. Det kräver att åtgärder vidtas i Microsoft Entra-klientorganisationer för källa och mål. Den här artikeln använder följande terminologi:
- Microsoft Entra-käll-ID (source.onmicrosoft.com). Den representerar källklientorganisationen där MCA-faktureringskontot finns.
- Microsoft Entra-målmoln-ID (destination.onmicrosoft.com). Den representerar målklientorganisationen där de nya MCA-prenumerationerna skapas.
Du kan inte skapa supportplaner programmatiskt. Du kan köpa ett nytt supportprogram eller uppgradera ett supportprogram i Azure-portalen. Gå till Hjälp + support. Längst upp på sidan väljer du Välj rätt supportplan.
Kommentar
Det finns två metoder för att programmatiskt skapa MCA-prenumerationer i Microsoft Entra-klienter. Metoden som beskrivs i den här artikeln omfattar en process i två faser som ger källklientorganisationen styrning över de prenumerationer som skapats i målklientorganisationer. Den här metoden kan vara att föredra om du behöver bättre kontroll över att skapa prenumerationer i målklientorganisationer. Den andra metoden för att använda associerade klienter är en förenklad version som minimerar hanteringskostnaderna och effektiviserar processen för att skapa prenumerationer genom att överföra behörigheter för att skapa MCA-prenumerationer helt till målklientorganisationen.
Förutsättningar
Du måste redan ha skapat följande klienter:
- En Microsoft Entra-källklient med ett aktivt Microsoft-kundavtal faktureringskonto. Om du inte har en aktiv MCA kan du skapa en. Mer information finns i Azure – Registrera dig
- En Microsoft Entra-målklientorganisation som är separat från den klientorganisation där din MCA tillhör. Information om hur du skapar en ny Microsoft Entra-klientorganisation finns i Konfiguration av Microsoft Entra-klientorganisation.
Programuppsättning
Använd informationen i följande avsnitt för att konfigurera de program som behövs i käll- och målklientorganisationer.
Registrera ett program i källklientorganisationen
För att programmatiskt skapa en MCA-prenumeration måste ett Microsoft Entra-program registreras och beviljas lämplig behörighet för rollbaserad åtkomstkontroll i Azure (RBAC). I det här steget kontrollerar du att du är inloggad på källklientorganisationen (source.onmicrosoft.com) med ett konto som har behörighet att registrera Microsoft Entra-program.
Följ stegen i Snabbstart: Registrera ett program med Microsofts identitetsplattform.
I den här processen behöver du bara följa avsnitten Registrera ett program och Lägg till autentiseringsuppgifter .
Spara följande information för att testa och konfigurera din miljö:
- Katalog-ID (klientorganisation)
- App-ID (klient-ID)
- Objekt-ID
- Apphemlighetsvärde som genererades. Värdet visas bara när det skapas.
Skapa en tilldelning av faktureringsrollen för programmet i källklientorganisationen
Om du vill fastställa lämplig omfångs- och faktureringsroll för programmet läser du informationen i Förstå Microsoft-kundavtal administrativa roller i Azure.
När du har fastställt omfånget och rollen använder du informationen i Hantera faktureringsroller i Azure Portal för att skapa rolltilldelningen för programmet. Sök efter programmet med det namn som du använde när du registrerade programmet i föregående avsnitt.
Registrera ett program i målklientorganisationen
Om du vill acceptera MCA-prenumerationen från målklientorganisationen (destination.onmicrosoft.com) måste ett Microsoft Entra-program registreras och läggas till i rollen Faktureringsadministratör Microsoft Entra. I det här steget kontrollerar du att du är inloggad på målklientorganisationen (destination.onmicrosoft.com) med ett konto som har behörighet att registrera Microsoft Entra-program. Den måste också ha behörighet som faktureringsadministratör.
Följ samma steg som tidigare för att registrera ett program i källklientorganisationen. Spara följande information för att testa och konfigurera din miljö:
- Katalog-ID (klientorganisation)
- App-ID (klient-ID)
- Objekt-ID
- Apphemlighetsvärde som genererades. Värdet visas bara när det skapas.
Lägg till målprogrammet i rollen Faktureringsadministratör Microsoft Entra
Om du vill lägga till målprogrammet som skapades i föregående avsnitt i rollen Faktureringsadministratör Microsoft Entra i målklientorganisationen använder du informationen i Tilldela administratörs- och icke-administratörsroller till användare med Microsoft Entra-ID.
Skapa en prenumeration programmatiskt
Med de program och behörigheter som redan har konfigurerats använder du följande information för att programmatiskt skapa prenumerationer.
Hämta ID:t för målprogrammets tjänsthuvudnamn
När du skapar en MCA-prenumeration i källklientorganisationen måste du ange tjänstens huvudnamn eller SPN för programmet i målklientorganisationen som ägare. Använd någon av följande metoder för att hämta ID:t. I båda metoderna är värdet som ska användas för det tomma GUID:t program-ID :t (klient) för målklientprogrammet som skapades tidigare.
Azure CLI
Logga in på Azure CLI och använd kommandot az ad sp show :
az ad sp show --id aaaaaaaa-bbbb-cccc-1111-222222222222 --query 'id'
Azure PowerShell
Logga in på Azure PowerShell och använd cmdleten Get-AzADServicePrincipal :
Get-AzADServicePrincipal -ApplicationId 00001111-aaaa-2222-bbbb-3333cccc4444 | Select-Object -Property Id
Spara värdet som Id
returneras av kommandot.
Skapa prenumerationen
Använd följande information för att skapa en prenumeration i källklientorganisationen.
Hämta en åtkomsttoken för källprogram
{{placeholders}}
Ersätt med det faktiska klient-ID:t, program-ID:t (klient) och de apphemlighetsvärden som du sparade när du skapade källklientprogrammet tidigare.
Anropa begäran och spara access_token
värdet från svaret för användning i nästa steg.
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
Hämta avsnitts-ID:na för faktureringskonto, profil och faktura
Använd informationen i Hitta faktureringskonton som du har åtkomst till och Hitta faktureringsprofiler och fakturaavsnitt för att skapa prenumerationsavsnitt för att hämta faktureringskontot , profilen och fakturaavsnitts-ID:n.
Kommentar
Vi rekommenderar att du använder REST-metoden med den åtkomsttoken som erhölls tidigare för att verifiera att tilldelningen av programfaktureringsrollen har skapats i avsnittet Programinstallation .
Skapa ett prenumerationsalias
Med avsnitts-ID:na för faktureringskonto, profil och faktura har du all information som behövs för att skapa prenumerationen:
{{guid}}
: Kan vara ett giltigt GUID.{{access_token}}
: Åtkomsttoken för källklientprogrammet som hämtades tidigare.{{billing_account}}
: ID för det faktureringskonto som erhölls tidigare.{{billing_profile}}
: ID för faktureringsprofilen som erhölls tidigare.{{invoice_section}}
: ID för fakturaavsnittet som erhölls tidigare.{{destination_tenant_id}}
: ID för målklientorganisationen enligt beskrivningen när du tidigare skapade målklientprogrammet.{{destination_service_principal_id}}
: ID för målklienttjänstens huvudnamn som du fick från avsnittet Hämta ID för målprogrammets tjänsthuvudnamn tidigare.
Skicka begäran och notera värdet för Location
huvudet i svaret.
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}}"
}
}
}
Godkänn prenumerationsägarskap
Den sista fasen för att slutföra processen är att acceptera prenumerationsägarskapet.
Hämta en åtkomsttoken för målprogram
Ersätt {{placeholders}}
med det faktiska klient-ID:t, program-ID:t (klient) och de apphemlighetsvärden som du sparade när du skapade målklientprogrammet tidigare.
Anropa begäran och spara access_token
värdet från svaret för nästa steg.
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
Acceptera ägarskap
Använd följande information för att acceptera ägarskapet för prenumerationen i målklientorganisationen:
{{subscription_id}}
: ID för prenumerationen som skapades i avsnittet Skapa prenumerationsalias. Det finns i platsrubriken som du antecknade.{{access_token}}
: Åtkomsttoken som skapades i föregående steg.{{subscription_display_name}}
: Visningsnamn för prenumerationen i din Azure-miljö.
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
}
}
Nästa steg
- Nu när du har skapat en prenumeration kan du ge den möjligheten till andra användare och tjänstens huvudnamn. Mer information finns i Bevilja behörighet att skapa Azure Enterprise-prenumerationer (förhandsversion).
- Mer information om hur du hanterar ett stort antal prenumerationer med hanteringsgrupper finns i Ordna resurser med hanteringsgrupper i Azure.
- Information om hur du ändrar hanteringsgruppen för en prenumeration finns i Flytta prenumerationer.