Programové vytváření předplatných MCA napříč tenanty Microsoft Entra

Tento článek vám pomůže programově vytvořit předplatné Smlouva se zákazníkem Microsoftu (MCA) napříč tenanty Microsoft Entra. V některých situacích může být potřeba vytvořit předplatná MCA napříč tenanty Microsoft Entra, ale mít je svázané s jedním fakturačním účtem. Mezi příklady takových situací patří poskytovatelé SaaS, kteří chtějí oddělit hostované zákaznické služby od interních IT služeb nebo interních prostředí, která mají přísné požadavky na dodržování právních předpisů, jako je pcI (Payment Card Industry).

Proces vytvoření předplatného MCA napříč tenanty je v podstatě dvoufázový proces. Vyžaduje, aby se akce provedly ve zdrojovém a cílovém tenantovi Microsoft Entra. Tento článek používá následující terminologii:

  • Zdrojové ID Microsoft Entra (source.onmicrosoft.com). Představuje zdrojového tenanta, ve kterém existuje fakturační účet MCA.
  • ID Cílového cloudu Microsoft Entra (destination.onmicrosoft.com). Představuje cílového tenanta, ve kterém se vytvářejí nová předplatná MCA.

Plány podpory nemůžete vytvářet programově. Nový plán podpory si můžete koupit nebo upgradovat na webu Azure Portal. Přejděte do nápovědy a podpory a pak v horní části stránky vyberte Zvolit správný plán podpory.

Požadavky

Už musíte mít vytvořené následující tenanty:

Nastavení aplikace

Informace v následujících částech slouží k nastavení a konfiguraci potřebných aplikací ve zdrojových a cílových tenantech.

Registrace aplikace ve zdrojovém tenantovi

Pokud chcete programově vytvořit předplatné MCA, musí být aplikace Microsoft Entra zaregistrovaná a udělená příslušná oprávnění Azure RBAC. V tomto kroku se ujistěte, že jste ke zdrojovému tenantovi (source.onmicrosoft.com) přihlášeni pomocí účtu, který má oprávnění k registraci aplikací Microsoft Entra.

Podle kroků v rychlém startu zaregistrujte aplikaci na platformě Microsoft Identity Platform.

Pro účely tohoto procesu stačí postupovat jenom v částech Registrace aplikace a Přidat přihlašovací údaje .

Uložte následující informace a otestujte a nakonfigurujte prostředí:

  • ID adresáře (klienta)
  • ID aplikace (klienta)
  • ID objektu
  • Hodnota tajného kódu aplikace, která byla vygenerována. Hodnota je viditelná pouze v okamžiku vytvoření.

Vytvoření přiřazení fakturační role pro aplikaci ve zdrojovém tenantovi

Projděte si informace v tématu Vysvětlení Smlouva se zákazníkem Microsoftu rolí pro správu v Azure a určete odpovídající rozsah a fakturační roli pro aplikaci.

Jakmile určíte rozsah a roli, pomocí informací v tématu Správa fakturačních rolí na webu Azure Portal vytvořte přiřazení role pro aplikaci. Vyhledejte aplikaci pomocí názvu, který jste použili při registraci aplikace v předchozí části.

Registrace aplikace v cílovém tenantovi

Pokud chcete přijmout předplatné MCA z cílového tenanta (destination.onmicrosoft.com), musí být zaregistrovaná a přidaná aplikace Microsoft Entra správce fakturace. V tomto kroku se ujistěte, že jste přihlášení k cílovému tenantovi (destination.onmicrosoft.com) pomocí účtu, který má oprávnění k registraci aplikací Microsoft Entra. Musí mít také oprávnění správce fakturace.

Stejným postupem, který jste použili výše, zaregistrujte aplikaci ve zdrojovém tenantovi. Uložte následující informace a otestujte a nakonfigurujte prostředí:

  • ID adresáře (klienta)
  • ID aplikace (klienta)
  • ID objektu
  • Hodnota tajného kódu aplikace, která byla vygenerována. Hodnota je viditelná pouze v okamžiku vytvoření.

Přidání cílové aplikace do role Správce fakturace Microsoft Entra

Pomocí informací v části Přiřazení rolí správce a nesprávců uživatelům s ID Microsoft Entra přidejte cílovou aplikaci vytvořenou v předchozí části do role Správce fakturace Microsoft Entra v cílovém tenantovi.

Programové vytvoření předplatného

S aplikacemi a oprávněními, které jsou už nastavené, použijte následující informace k programovému vytvoření předplatných.

Získání ID instančního objektu cílové aplikace

Při vytváření předplatného MCA ve zdrojovém tenantovi musíte jako vlastníka zadat instanční objekt nebo hlavní název služby aplikace v cílovém tenantovi. K získání ID použijte jednu z následujících metod. V obou metodách je hodnota, která se má použít pro prázdný identifikátor GUID, ID aplikace (klienta) cílové aplikace tenanta vytvořené dříve.

Azure CLI

Přihlaste se k Azure CLI a použijte příkaz az ad sp show :

az ad sp show --id 00000000-0000-0000-0000-000000000000 --query 'id'

Azure PowerShell

Přihlaste se k Azure PowerShellu a použijte rutinu Get-AzADServicePrincipal :

Get-AzADServicePrincipal -ApplicationId 00000000-0000-0000-0000-000000000000 | Select-Object -Property Id

Id Uložte hodnotu vrácenou příkazem.

Vytvoření odběru

K vytvoření předplatného ve zdrojovém tenantovi použijte následující informace.

Získání přístupového tokenu zdrojové aplikace

{{placeholders}} Nahraďte skutečným ID tenanta, ID aplikace (klienta) a hodnotami tajných kódů aplikace, které jste si uložili při vytváření zdrojové aplikace tenanta dříve.

Vyvolejte požadavek a uložte access_token hodnotu z odpovědi pro použití v dalším kroku.

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

Získání ID fakturačního účtu, profilu a oddílu faktury

Pomocí informací v části Najít fakturační účty, ke kterým máte přístup, a najděte oddíly fakturačních profilů a faktur k vytvoření oddílů předplatných , abyste získali ID fakturačního účtu, profilu a oddílu faktury.

Poznámka:

Doporučujeme použít metodu REST s přístupovým tokenem získaným dříve k ověření úspěšného vytvoření přiřazení role fakturace aplikace v části Nastavení aplikace.

Vytvoření aliasu předplatného

Pomocí ID fakturačního účtu, profilu a oddílu faktury máte všechny informace potřebné k vytvoření předplatného:

  • {{guid}}: Může to být platný identifikátor GUID.
  • {{access_token}}: Přístupový token zdrojové aplikace tenanta získaný dříve.
  • {{billing_account}}: ID fakturačního účtu získaného dříve.
  • {{billing_profile}}: ID fakturačního profilu získaného dříve.
  • {{invoice_section}}: ID oddílu faktury získaného dříve.
  • {{destination_tenant_id}}: ID cílového tenanta, jak je uvedeno, když jste dříve vytvořili cílovou aplikaci tenanta.
  • {{destination_service_principal_id}}: ID instančního objektu cílového tenanta, který jste získali z předchozí části Získání ID instančního objektu cílové aplikace.

Odešlete požadavek a poznamenejte si hodnotu Location hlavičky v odpovědi.

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}}"
    }
  }
}

Přijetí vlastnictví předplatného

Poslední fází dokončení procesu je přijetí vlastnictví předplatného.

Získání přístupového tokenu cílové aplikace

Nahraďte {{placeholders}} skutečné ID tenanta, ID aplikace (klienta) a tajné hodnoty aplikace, které jste uložili při vytváření cílové aplikace tenanta dříve.

Vyvolejte požadavek a uložte access_token hodnotu z odpovědi pro další krok.

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

Přijetí vlastnictví

Pomocí následujících informací přijměte vlastnictví předplatného v cílovém tenantovi:

  • {{subscription_id}}: ID předplatného vytvořeného v části Vytvořit alias předplatného. Je obsažena v záhlaví umístění, které jste si poznamenali.
  • {{access_token}}: Přístupový token vytvořený v předchozím kroku.
  • {{subscription_display_name}}: Zobrazovaný název předplatného ve vašem prostředí 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
  }
}

Další kroky