Creare sottoscrizioni MCA a livello di codice nei tenant di Microsoft Entra

Questo articolo illustra come creare sottoscrizioni a livello di codice per un Contratto del cliente Microsoft (MCA) nei tenant di Microsoft Entra. In alcune situazioni, potrebbe essere necessario creare sottoscrizioni MCA nei tenant di Microsoft Entra associandole a un singolo account di fatturazione. Tipici esempi di queste situazioni sono i provider SaaS che vogliono separare i servizi dei clienti ospitati da servizi IT interni o ambienti interni con requisiti di conformità normativa rigorosi, ad esempio Payment Card Industry (PCI).

Il processo di creazione di una sottoscrizione MCA tra tenant prevede due fasi e richiede di intraprendere azioni nei tenant di Microsoft Entra di origine e destinazione. In questo articolo viene usata la terminologia seguente:

  • Microsoft Entra ID di origine (source.onmicrosoft.com). Rappresenta il tenant di origine in cui è presente l'account di fatturazione MCA.
  • Microsoft Entra ID Cloud di destinazione (destination.onmicrosoft.com). Rappresenta il tenant di destinazione in cui vengono create le nuove sottoscrizioni MCA.

Non è possibile creare piani di supporto a livello di codice. È possibile invece acquistare un nuovo piano di supporto o aggiornarne uno già esistente nel portale di Azure. Passare a Guida e supporto e nella parte superiore della pagina selezionare Scegliere il piano di supporto adatto.

Prerequisiti

È necessario avere già creato i tenant seguenti:

Configurazione dell'applicazione

Usare le informazioni nelle sezioni seguenti per impostare e configurare le applicazioni necessarie nei tenant di origine e di destinazione.

Registrare un'applicazione nel tenant di origine

Per creare una sottoscrizione MCA a livello di codice, è necessario registrare un'applicazione Microsoft Entra e concedere l'autorizzazione di controllo degli accessi in base al ruolo di Azure appropriata. Per questo passaggio, assicurarsi di aver eseguito l'accesso al tenant di origine (source.onmicrosoft.com) con un account con le autorizzazioni per registrare le applicazioni Microsoft Entra.

A tale scopo, seguire la procedura illustrata in Avvio rapido: Registrare un'applicazione con Microsoft Identity Platform.

Ai fini di questo processo, è sufficiente seguire le istruzioni nelle sezioni Registrare un'applicazione e Aggiungere credenziali.

Salvare le informazioni seguenti per testare e configurare l'ambiente:

  • ID della directory (tenant)
  • ID applicazione (client)
  • ID dell'oggetto.
  • Valore del segreto dell'app generato. Il valore è visibile solo al momento della creazione.

Creare un'assegnazione di ruolo di fatturazione per l'applicazione nel tenant di origine

Rivedere il contenuto in Informazioni Contratto del cliente Microsoft ruoli amministrativi in Azure per determinare l'ambito e il ruolo di fatturazione appropriati per l'applicazione.

Dopo aver determinato l'ambito e il ruolo, usare le informazioni in Gestire i ruoli di fatturazione nel portale di Azure per creare l'assegnazione di ruolo per l'applicazione. Cercare l'applicazione con il nome utilizzato durante la registrazione dell'applicazione nella sezione precedente.

Registrare un'applicazione nel tenant di destinazione

Per accettare la sottoscrizione MCA dal tenant di destinazione (destination.onmicrosoft.com), un'applicazione Microsoft Entra deve essere registrata e aggiunta al ruolo di amministratore fatturazione di Microsoft Entra. Per questo passaggio, assicurarsi di aver eseguito l'accesso al tenant di destinazione (destination.onmicrosoft.com) con un account con le autorizzazioni per registrare le applicazioni Microsoft Entra. L'account deve disporre anche dell'autorizzazione del ruolo di amministratore fatturazione.

Seguire la stessa procedura usata in precedenza per registrare un'applicazione nel tenant di origine. Salvare le informazioni seguenti per testare e configurare l'ambiente:

  • ID della directory (tenant)
  • ID applicazione (client)
  • ID dell'oggetto.
  • Valore del segreto dell'app generato. Il valore è visibile solo al momento della creazione.

Aggiungere l'applicazione di destinazione al ruolo di amministratore fatturazione di Microsoft Entra

Usare le informazioni in Assegnare ruoli di amministratore e non amministratore agli utenti con MICROSOFT Entra ID per aggiungere l'applicazione di destinazione creata nella sezione precedente al ruolo di amministratore fatturazione di Microsoft Entra nel tenant di destinazione.

Creare una sottoscrizione a livello di codice

Con le applicazioni e le autorizzazioni già configurate, usare le informazioni seguenti per creare sottoscrizioni a livello di codice.

Ottenere l'ID dell'entità servizio dell'applicazione di destinazione

Quando si crea una sottoscrizione MCA nel tenant di origine, è necessario specificare l'entità servizio o il nome SPN dell'applicazione nel tenant di destinazione come proprietario. Usare uno dei metodi seguenti per ottenere l'ID. In entrambi i metodi, il valore da usare per il GUID vuoto è l'ID applicazione (client) dell'applicazione tenant di destinazione creata in precedenza.

Interfaccia della riga di comando di Azure

Accedere all'interfaccia della riga di comando di Azure e usare il comando az ad sp show:

az ad sp show --id aaaaaaaa-bbbb-cccc-1111-222222222222 --query 'id'

Azure PowerShell

Accedere ad Azure PowerShell e usare il cmdlet Get-AzADServicePrincipal:

Get-AzADServicePrincipal -ApplicationId aaaaaaaa-bbbb-cccc-1111-222222222222 | Select-Object -Property Id

Salvare il valore Id restituito dal comando.

Creare la sottoscrizione

Usare le informazioni seguenti per creare una sottoscrizione nel tenant di origine.

Ottenere un token di accesso all'applicazione di origine

Sostituire {{placeholders}} con l'ID tenant effettivo, l'ID applicazione (client) e i valori dei segreti dell'app salvati durante la creazione dell'applicazione tenant di origine in precedenza.

Richiamare la richiesta e salvare il valore access_token della risposta da usare nel passaggio successivo.

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

Ottenere gli ID dell'account di fatturazione, del profilo di fatturazione e della sezione della fattura

Usare le informazioni disponibili nelle sezioni Trova account di fatturazione a cui si ha accesso e Trovare profili di fatturazione e sezioni della fattura per creare sottoscrizioni per ottenere gli ID dell'account di fatturazione, del profilo di fatturazione e della sezione della fattura.

Nota

È consigliabile usare il metodo REST con il token di accesso ottenuto in precedenza per verificare che l'assegnazione del ruolo di fatturazione dell'applicazione sia stata creata correttamente nella sezione Configurazione dell'applicazione.

Creare un alias di sottoscrizione

Con gli ID dell'account di fatturazione, del profilo di fatturazione e della sezione della fattura sono disponibili tutte le informazioni necessarie per creare la sottoscrizione:

  • {{guid}}: può essere un GUID valido.
  • {{access_token}}: token di accesso dell'applicazione tenant di origine ottenuto in precedenza.
  • {{billing_account}}: ID dell'account di fatturazione ottenuto in precedenza.
  • {{billing_profile}}: ID del profilo di fatturazione ottenuto in precedenza.
  • {{invoice_section}}: ID della sezione della fattura ottenuto in precedenza.
  • {{destination_tenant_id}}: ID del tenant di destinazione come indicato al momento della creazione dell'applicazione tenant di destinazione.
  • {{destination_service_principal_id}}: ID dell'entità servizio tenant di destinazione ottenuto in precedenza dalla sezione Ottenere l'ID dell'entità servizio dell'applicazione di destinazione.

Inviare la richiesta e prendere nota del valore dell'intestazione Location nella risposta.

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

Accettare la proprietà della sottoscrizione

L'ultima fase per completare il processo consiste nell'accettare la titolarità della sottoscrizione.

Ottenere un token di accesso all'applicazione di destinazione

Sostituire {{placeholders}} con l'ID tenant effettivo, l'ID applicazione (client) e i valori dei segreti dell'app salvati durante la creazione dell'applicazione tenant di destinazione in precedenza.

Richiamare la richiesta e salvare il valore access_token della risposta da usare nel passaggio successivo.

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

Accettare la proprietà

Usare le informazioni seguenti per accettare la titolarità della sottoscrizione nel tenant di destinazione:

  • {{subscription_id}}: ID della sottoscrizione creata nella sezione Crea alias sottoscrizione. È contenuto nell'intestazione della posizione indicata.
  • {{access_token}}: token di accesso creato nel passaggio precedente.
  • {{subscription_display_name}}: nome visualizzato per la sottoscrizione nell'ambiente 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
  }
}

Passaggi successivi