Trasferire una sottoscrizione di Azure in una directory di Microsoft Entra diversa

Le organizzazioni potrebbero avere diverse sottoscrizioni di Azure. Ogni sottoscrizione è associata a una specifica directory di Microsoft Entra. Per semplificare la gestione, è possibile provare a trasferire una sottoscrizione in una directory di Microsoft Entra diversa. Quando si trasferisce una sottoscrizione in una directory di Microsoft Entra diversa, alcune risorse non vengono trasferite nella directory di destinazione. Ad esempio, tutte le assegnazioni di ruoli e i ruoli personalizzati nel Controllo degli accessi in base al ruolo di Azure (Azure RBAC) vengono eliminati definitivamente dalla directory di origine e non vengono trasferiti nella directory di destinazione.

Questo articolo descrive i passaggi di base che è possibile seguire per trasferire una sottoscrizione in una directory Microsoft Entra diversa e ricreare alcune risorse dopo il trasferimento.

Se si vuole invece bloccare il trasferimento di sottoscrizioni in directory diverse nell'organizzazione, è possibile configurare un criterio di sottoscrizione. Per altre informazioni, vedere Gestire i criteri di sottoscrizione di Azure.

Nota

Per gli abbonamenti ad Azure Cloud Solution Provider (CSP), la modifica della directory di Microsoft Entra per l'abbonamento non è supportata.

Panoramica

Il trasferimento di una sottoscrizione di Azure in una directory Microsoft Entra è un processo complesso che deve essere pianificato ed eseguito con attenzione. Molti servizi di Azure richiedono che le entità di sicurezza (identità) funzionino normalmente o gestiscano persino altre risorse di Azure. Questo articolo cerca di trattare la maggior parte dei servizi di Azure che dipendono principalmente dalle entità di sicurezza, ma non è completo.

Importante

In alcuni scenari, il trasferimento di una sottoscrizione potrebbe richiedere tempi di inattività per completare il processo. È necessaria un'attenta pianificazione per valutare se saranno necessari tempi di inattività per il trasferimento.

Il diagramma seguente illustra i passaggi di base da seguire quando si trasferisce una sottoscrizione in una directory diversa.

  1. Preparare il trasferimento

  2. Trasferire la sottoscrizione di Azure in una directory diversa

  3. Ricreare risorse nella directory di destinazione, ad esempio assegnazioni di ruolo, ruoli personalizzati e identità gestite

    Diagramma della sottoscrizione di trasferimento

Decidere se trasferire una sottoscrizione in una directory diversa

Di seguito sono riportati alcuni motivi per cui si potrebbe voler trasferire una sottoscrizione:

  • A causa di una fusione o acquisizione di una società, si vuole gestire una sottoscrizione acquisita nella directory primaria di Microsoft Entra.
  • Un utente dell'organizzazione ha creato una sottoscrizione e si vuole consolidare la gestione in una determinata directory di Microsoft Entra.
  • Sono disponibili applicazioni che dipendono da un determinato ID sottoscrizione o URL e non è facile modificare la configurazione o il codice dell'applicazione.
  • Si è verificata una scissione di una parte dell'azienda ed è necessario spostare alcune risorse in una directory di Microsoft Entra diversa.
  • Si desidera gestire alcune risorse in una directory di Microsoft Entra diversa a scopo di isolamento della sicurezza.

Approcci alternativi

Il trasferimento di una sottoscrizione richiede tempi di inattività per completare il processo. A seconda della situazione è possibile considerare gli approcci alternativi seguenti:

  • Ricreare le risorse e copiare i dati nella directory e nella sottoscrizione di destinazione.
  • Adottare un'architettura con più directory e lasciare la sottoscrizione nella directory di origine. Usare Azure Lighthouse per delegare le risorse in modo che gli utenti nella directory di destinazione possano accedere alla sottoscrizione nella directory di origine. Per altre informazioni, vedere Azure Lighthouse in scenari aziendali.

Comprendere l'impatto del trasferimento di una sottoscrizione

Diverse risorse di Azure hanno una dipendenza da una sottoscrizione o da una directory. A seconda della situazione, la tabella seguente riporta l'impatto noto del trasferimento di una sottoscrizione. Eseguendo la procedura descritta in questo articolo è possibile ricreare alcune delle risorse esistenti prima del trasferimento della sottoscrizione.

Importante

Questa sezione elenca i servizi o le risorse di Azure noti che dipendono dalla sottoscrizione. Poiché i tipi di risorse in Azure sono in continua evoluzione, potrebbero esserci altre dipendenze non elencate qui che possono causare una modifica che causa un'interruzione dell'ambiente.

Servizio o risorsa Interessato Recuperabile Sei interessato? Operazione
Assegnazioni di ruoli Elencare le assegnazioni dei ruoli Tutte le assegnazioni dei ruoli vengono eliminate definitivamente. È necessario mappare utenti, gruppi ed entità di servizio sugli oggetti corrispondenti nella directory di destinazione. È necessario ricreare le assegnazioni dei ruoli.
Ruoli personalizzati Elencare ruoli personalizzati Tutti i ruoli personalizzati vengono eliminati definitivamente. È necessario ricreare i ruoli personalizzati e le assegnazioni dei ruoli.
Identità gestite assegnate dal sistema Elencare le identità gestite È necessario disabilitare e riabilitare le identità gestite. È necessario ricreare le assegnazioni dei ruoli.
Identità gestite assegnate dall'utente Elencare le identità gestite È necessario eliminare, ricreare e collegare le identità gestite alla risorsa appropriata. È necessario ricreare le assegnazioni dei ruoli.
Azure Key Vault Elencare i criteri di accesso dell'insieme di credenziali delle chiavi È necessario aggiornare l'ID del tenant associato agli insiemi di credenziali delle chiavi. È necessario rimuovere e aggiungere nuovi criteri di accesso.
Database SQL di Azure con l'integrazione dell'autenticazione di Microsoft Entra abilitata No Controllare i database SQL di Azure con l'autenticazione Microsoft Entra Non è possibile trasferire un database SQL di Azure con l'autenticazione di Microsoft Entra abilitata in una directory diversa. Per altre informazioni, vedere Utilizzare l'autenticazione di Microsoft Entra.
Database di Azure per MySQL con l'integrazione dell'autenticazione di Microsoft Entra abilitata No Non è possibile trasferire un database di Azure per MySQL (server singolo e server flessibile) con l'autenticazione di Microsoft Entra abilitata in una directory diversa.
Database di Azure per PostgreSQL server flessibile con l'integrazione dell'autenticazione di Microsoft Entra abilitata o con la chiave gestita dal cliente abilitata No Non è possibile trasferire un Database di Azure per PostgreSQL con l'autenticazione di Microsoft Entra o con la chiave gestita dal cliente abilitata in una directory diversa. È necessario disabilitare prima queste funzionalità, trasferire il server e quindi riabilitare queste funzionalità.
Archiviazione di Azure e Azure Data Lake Storage Gen2 È necessario ricreare gli elenchi di controllo di accesso.
File di Azure Nella maggior parte delle situazioni È necessario ricreare gli elenchi di controllo di accesso. Per gli account di archiviazione con l'autenticazione Kerberos Entra abilitata, dopo il trasferimento è necessario disabilitare e riabilitare l'autenticazione Kerberos Entra. Per Entra Domain Services il trasferimento in un'altra directory di Microsoft Entra in cui Entra Domain Services non è abilitato non è supportato.
Sincronizzazione file di Azure Il servizio di sincronizzazione archiviazione e/o l'account di archiviazione si possono spostare in una directory diversa. Per altre informazioni, vedere le Domande frequenti su File di Azure
Azure Managed Disks Se si usano insiemi di crittografia dei dischi per crittografare Managed Disks con chiavi gestite dal cliente, è necessario disabilitare e riabilitare le identità assegnate dal sistema associate agli insiemi di crittografia dei dischi. Inoltre è necessario ricreare le assegnazioni dei ruoli, ovvero concedere nuovamente le autorizzazioni necessarie agli insiemi di crittografia dei dischi negli insiemi di credenziali delle chiavi.
Servizio Azure Kubernetes No Non è possibile trasferire il cluster del servizio AKS e le relative risorse associate in una directory diversa. Per altre informazioni, vedere le Domande frequenti sul servizio Azure Kubernetes (AKS)
Criteri di Azure No Tutti gli oggetti dei Criteri di Azure, incluse definizioni personalizzate, assegnazioni, esenzioni e dati di conformità. È necessario esportare, importare e assegnare nuovamente le definizioni. Creare quindi nuove assegnazioni di criteri ed eventuali esenzioni dei criteri necessarie.
Microsoft Entra Domain Services No Non è possibile trasferire un dominio gestito di Microsoft Entra Domain Services in una directory diversa. Per altre informazioni, vedere le Domande frequenti su Microsoft Entra Domain Services
Registrazioni app
Microsoft Dev Box No Non è possibile trasferire una macchina di sviluppo e le relative risorse associate in una directory diversa. Una volta spostata una sottoscrizione in un altro tenant, non sarà possibile eseguire alcuna azione nella macchina di sviluppo
Ambienti di distribuzione di Azure No Non è possibile trasferire un ambiente e le relative risorse associate in una directory diversa. Una volta spostata una sottoscrizione in un altro tenant, non sarà possibile eseguire alcuna azione nell'ambiente
Azure Service Fabric No È necessario ricreare il cluster. Per altre informazioni, vedere le Domande frequenti sui cluster SF o le Domande frequenti sui cluster gestiti SF
Bus di servizio di Azure È necessario eliminare, ricreare e collegare le identità gestite alla risorsa appropriata. È necessario ricreare le assegnazioni dei ruoli.
Area di lavoro di Azure Synapse Analytics È necessario aggiornare l'ID del tenant associato all'area di lavoro Synapse Analytics. Se l'area di lavoro è associata a un repository Git, è necessario aggiornare la configurazione Git dell'area di lavoro. Per altre informazioni, vedere Ripristino dell'area di lavoro Synapse Analytics dopo il trasferimento di una sottoscrizione a un'altra directory di Microsoft Entra (tenant).
Azure Databricks No Attualmente Azure Databricks non supporta lo spostamento delle aree di lavoro in un nuovo tenant. Per altre informazioni, vedere Gestire l'account Azure Databricks.
Raccolta di calcolo di Azure È possibile replicare le versioni delle immagini presenti nella raccolta in altre aree oppure copiare un'immagine da un'altra raccolta.

Avviso

Se si usa la crittografia dei dati inattivi per una risorsa, ad esempio un account di archiviazione o un database SQL, che ha una dipendenza da un insieme di credenziali delle chiavi che viene trasferito, si può verificare causare uno scenario irreversibile. Se si verifica questa situazione, è consigliabile adottare misure per usare un insieme di credenziali delle chiavi diverso o disabilitare temporaneamente le chiavi gestite dal cliente per evitare questo scenario irreversibile.

Per ottenere un elenco di alcune delle risorse di Azure interessate quando si trasferisce una sottoscrizione, è anche possibile eseguire una query in Azure Resource Graph. Per una query di esempio, vedere Elencare le risorse interessate durante il trasferimento di una sottoscrizione di Azure.

Prerequisiti

Per completare questi passaggi è necessario quanto segue:

Passaggio 1: preparare il trasferimento

Accedere alla directory di origine

  1. Accedere ad Azure come amministratore.

  2. Ottenere un elenco di sottoscrizioni con il comando az account list.

    az account list --output table
    
  3. Usare az account set per impostare la sottoscrizione attiva da trasferire.

    az account set --subscription "Marketing"
    

Installare l'estensione Azure Resource Graph

L'estensione dell'interfaccia della riga di comando di Azure (CLI) per Azure Resource Graph, resource-graph, consente di usare il comando az graph per eseguire query sulle risorse gestite da Azure Resource Manager. Questo comando verrà usato nei passaggi successivi.

  1. Usare az extension list per verificare se è installata l'estensione resource-graph.

    az extension list
    
  2. Se si usa una versione di anteprima o una versione precedente dell'estensione resource-graph, usare az extension update per aggiornare l'estensione.

    az extension update --name resource-graph
    
  3. Se l'estensione resource-graph non è installata, usare az extension add per installare l'estensione.

    az extension add --name resource-graph
    

Salvare tutte le assegnazioni dei ruoli

  1. Usare az role assignment list per elencare tutte le assegnazioni dei ruoli (incluse le assegnazioni dei ruoli ereditate).

    Per semplificare la revisione dell'elenco, è possibile esportare l'output come JSON, TSV o una tabella. Per altre informazioni, vedere Elencare le assegnazioni dei ruoli usando il controllo degli accessi in base al ruolo di Azure e l'interfaccia della riga di comando di Azure.

    az role assignment list --all --include-inherited --output json > roleassignments.json
    az role assignment list --all --include-inherited --output tsv > roleassignments.tsv
    az role assignment list --all --include-inherited --output table > roleassignments.txt
    
  2. Salvare l'elenco delle assegnazioni dei ruoli.

    Quando si trasferisce una sottoscrizione, tutte le assegnazioni dei ruoli vengono eliminate definitivamente, pertanto è importante salvare una copia.

  3. Esaminare l'elenco delle assegnazioni dei ruoli. Potrebbero essere presenti assegnazioni dei ruoli che non saranno necessarie nella directory di destinazione.

Salvare ruoli personalizzati

  1. Usare az role definition list per elencare i ruoli personalizzati. Per altre informazioni, vedere Creare o aggiornare ruoli personalizzati di Azure con l'interfaccia della riga di comando di Azure.

    az role definition list --custom-role-only true --output json --query '[].{roleName:roleName, roleType:roleType}'
    
  2. Salvare ogni ruolo personalizzato necessario nella directory di destinazione come file JSON separato.

    az role definition list --name <custom_role_name> > customrolename.json
    
  3. Creare copie dei file dei ruoli personalizzati.

  4. Modificare ogni copia per usare il formato seguente.

    Questi file verranno usati in un secondo momento per ricreare i ruoli personalizzati nella directory di destinazione.

    {
      "Name": "",
      "Description": "",
      "Actions": [],
      "NotActions": [],
      "DataActions": [],
      "NotDataActions": [],
      "AssignableScopes": []
    }
    

Determinare le mappature di utenti, gruppi e entità di servizio

  1. In base all'elenco di assegnazioni dei ruoli, determinare gli utenti, i gruppi e le entità di servizio su cui si eseguirà la mappatura nella directory di destinazione.

    È possibile identificare il tipo di entità esaminando la proprietà principalType in ogni assegnazione di ruolo.

  2. Se necessario, nella directory di destinazione creare utenti, gruppi o entità di servizio necessari.

Elencare le assegnazioni dei ruoli per le identità gestite

Le identità gestite non vengono aggiornate quando una sottoscrizione viene trasferita a un'altra directory. Di conseguenza, tutte le identità gestite assegnate dal sistema o assegnate dall'utente saranno interrotte. Dopo il trasferimento è possibile riabilitare qualsiasi identità gestita assegnata dal sistema. Per le identità gestite assegnate dall'utente, sarà necessario ricrearle e collegarle nella directory di destinazione.

  1. Esaminare l'elenco dei servizi di Azure che supportano le identità gestite per tenere presente dove è possibile usare le identità gestite.

  2. Usare az ad sp list per elencare le identità gestite assegnate dal sistema e assegnate dall'utente.

    az ad sp list --all --filter "servicePrincipalType eq 'ManagedIdentity'"
    
  3. Nell'elenco delle identità gestite determinare quali sono assegnate dal sistema e quali sono assegnate dall'utente. Per determinare il tipo, è possibile utilizzare i criteri seguenti.

    Criteri Tipo di identità gestita
    La proprietà alternativeNames include isExplicit=False Assegnata dal sistema
    La proprietà alternativeNames non include isExplicit Assegnata dal sistema
    La proprietà alternativeNames include isExplicit=True Assegnata dall'utente

    È anche possibile usare az identity list per elencare solo le identità gestite assegnate dall'utente. Per altre informazioni, vedere Creare, elencare o eliminare un'identità gestita assegnata dall'utente usando l'interfaccia della riga di comando di Azure.

    az identity list
    
  4. Ottenere un elenco dei valori objectId per le identità gestite.

  5. Cercare nell'elenco delle assegnazioni dei ruoli per verificare se sono presenti assegnazioni dei ruoli per le identità gestite.

List key vaults

Quando si crea un insieme di credenziali delle chiavi, viene automaticamente associato all'ID del tenant predefinito di Microsoft Entra per la sottoscrizione in cui viene creata. All'ID tenant vengono associate anche tutte le voci dei criteri di accesso. Per altre informazioni, vedere Spostamento di un'istanza di Azure Key Vault in un'altra sottoscrizione.

Avviso

Se si usa la crittografia dei dati inattivi per una risorsa, ad esempio un account di archiviazione o un database SQL, che ha una dipendenza da un insieme di credenziali delle chiavi che viene trasferito, si può verificare causare uno scenario irreversibile. Se si verifica questa situazione, è consigliabile adottare misure per usare un insieme di credenziali delle chiavi diverso o disabilitare temporaneamente le chiavi gestite dal cliente per evitare questo scenario irreversibile.

Elencare i database SQL di Azure con l'autenticazione Microsoft Entra

Elencare gli elenchi di controllo di accesso

  1. Se si usa Azure Data Lake Storage Gen2, elencare gli elenchi di controllo di accesso applicati a qualsiasi file usando il portale di Azure o PowerShell.

  2. Se si usa File di Azure, elencare gli elenchi di controllo di accesso applicati a qualsiasi file.

Elencare altre risorse note

  1. Usare az account show per ottenere l'ID sottoscrizione (in bash).

    subscriptionId=$(az account show --output tsv --query id)
    
  2. Usare l'estensione az graph per elencare altre risorse di Azure con dipendenze della directory Microsoft Entra note (in bash).

    az graph query -q 'resources 
        | where type != "microsoft.azureactivedirectory/b2cdirectories" 
        | where  identity <> "" or properties.tenantId <> "" or properties.encryptionSettingsCollection.enabled == true 
        | project name, type, kind, identity, tenantId, properties.tenantId' --subscriptions $subscriptionId --output yaml
    

Passaggio 2: trasferire la sottoscrizione

In questo passaggio si trasferisce la sottoscrizione dalla directory di origine alla directory di destinazione. Questa procedura varia a seconda che si voglia trasferire anche la proprietà di fatturazione.

Avviso

Quando si trasferisce la sottoscrizione, tutte le assegnazioni dei ruoli nella directory di origine vengono eliminate definitivamente e non possono essere ripristinate. Dopo il trasferimento della sottoscrizione non è possibile tornare indietro. Assicurarsi di completare i passaggi precedenti prima di eseguire questo passaggio.

  1. Determinare se si vuole trasferire anche la proprietà di fatturazione a un altro account.

  2. Trasferire la sottoscrizione a una directory diversa.

  3. Al termine del trasferimento della sottoscrizione, tornare a questo articolo per ricreare le risorse nella directory di destinazione.

Passaggio 3: ricreare le risorse

Accedere alla directory di destinazione

  1. Nella directory di destinazione accedere come utente che ha accettato la richiesta di trasferimento.

    Solo l'utente del nuovo account che ha accettato la richiesta di trasferimento avrà accesso alla gestione delle risorse.

  2. Ottenere un elenco di sottoscrizioni con il comando az account list.

    az account list --output table
    
  3. Usare az account set per impostare la sottoscrizione attiva da usare.

    az account set --subscription "Contoso"
    

Creare ruoli personalizzati

Assegnazione di ruoli

Aggiornare identità gestite assegnate dal sistema

  1. Disabilitare e riabilitare le identità gestite assegnate dal sistema.

    Servizio di Azure Ulteriori informazioni
    Macchine virtuali Configurare le identità gestite per le risorse di Azure in una macchina virtuale di Azure tramite l'interfaccia della riga di comando di Azure
    Set di scalabilità di macchine virtuali Configurare identità gestite per le risorse di Azure in un set di scalabilità di macchine virtuali tramite l'interfaccia della riga di comando di Azure
    Altri servizi Servizi che supportano le identità gestite per le risorse di Azure
  2. Usare az role assignment create per assegnare ruoli alle identità gestite assegnate dal sistema. Per altre informazioni, vedere Assegnare a un'identità gestita l'accesso a una risorsa tramite l'interfaccia della riga di comando di Azure.

    az role assignment create --assignee <objectid> --role '<role_name_or_id>' --scope "/subscriptions/<subscriptionId>/resourceGroups/<resource_group>"
    

Aggiornare le identità gestite assegnate dall'utente

  1. Eliminare, ricreare e collegare identità gestite assegnate dall'utente.

    Servizio di Azure Ulteriori informazioni
    Macchine virtuali Configurare le identità gestite per le risorse di Azure in una macchina virtuale di Azure tramite l'interfaccia della riga di comando di Azure
    Set di scalabilità di macchine virtuali Configurare identità gestite per le risorse di Azure in un set di scalabilità di macchine virtuali tramite l'interfaccia della riga di comando di Azure
    Altri servizi Servizi che supportano le identità gestite per le risorse di Azure
    Creare, elencare ed eliminare un'identità gestita assegnata dall'utente mediante l'interfaccia della riga di comando di Azure
  2. Usare az role assignment create per assegnare ruoli alle identità gestite assegnate dall'utente. Per altre informazioni, vedere Assegnare a un'identità gestita l'accesso a una risorsa tramite l'interfaccia della riga di comando di Azure.

    az role assignment create --assignee <objectid> --role '<role_name_or_id>' --scope "/subscriptions/<subscriptionId>/resourceGroups/<resource_group>"
    

Aggiornare insiemi di credenziali delle chiavi

Questa sezione descrive i passaggi di base per aggiornare gli insiemi di credenziali delle chiavi. Per altre informazioni, vedere Spostamento di un'istanza di Azure Key Vault in un'altra sottoscrizione.

  1. Aggiornare l'ID del tenant associato a tutti gli insiemi di credenziali delle chiavi esistenti nella sottoscrizione impostandolo sulla directory di destinazione.

  2. Rimuovere tutte le voci dei criteri di accesso esistenti.

  3. Aggiungere nuove voci dei criteri di accesso associate alla directory di destinazione.

Aggiornare gli elenchi di controllo di accesso

  1. Se si usa Azure Data Lake Storage Gen2, assegnare gli elenchi di controllo di accesso appropriati. Per altre informazioni, vedere Access control in Azure Data Lake Storage Gen2 (Controllo di accesso in Azure Data Lake Storage Gen2).

  2. Se si usa File di Azure, assegnare gli elenchi di controllo di accesso appropriati.

Esaminare altri metodi di sicurezza

Anche se le assegnazioni dei ruoli vengono rimosse durante il trasferimento, gli utenti nell'account proprietario originale potrebbero continuare ad avere accesso alla sottoscrizione tramite altri metodi di sicurezza, tra cui:

  • Chiavi di accesso per servizi quali Archiviazione.
  • Certificati di gestione che concedono all'amministratore utente l'accesso alle risorse della sottoscrizione.
  • Credenziali di accesso remoto per servizi quali macchine virtuali di Azure.

Se la finalità è rimuovere l'accesso dagli utenti nella directory di origine in modo che non abbiano accesso nella directory di destinazione, è consigliabile ruotare le credenziali. Fino a quando le credenziali non vengono aggiornate, gli utenti continueranno ad avere accesso dopo il trasferimento.

  1. Ruotare le chiavi di accesso dell'account di archiviazione. Per altre informazioni, vedere Gestire le chiavi di accesso dell'account di archiviazione.

  2. Se si usano chiavi di accesso per altri servizi, ad esempio il database SQL di Azure o la messaggistica del bus di servizio di Azure, ruotare le chiavi di accesso.

  3. Per le risorse che usano i segreti, accedere alle impostazioni della risorsa e aggiornare il segreto.

  4. Per le risorse che usano i certificati, aggiornare il certificato.

Passaggi successivi