Transferir uma assinatura do Azure para um diretório do Microsoft Entra diferente

As organizações podem ter várias assinaturas do Azure. Cada assinatura é associada a um diretório específico do Microsoft Entra. Para facilitar o gerenciamento, convém transferir uma assinatura para um diretório diferente do Microsoft Entra. Quando você transfere uma assinatura para um diretório diferente do Microsoft Entra, alguns recursos não são transferidos para o diretório de destino. Por exemplo, todas as atribuições de função e funções personalizadas no RBAC (controle de acesso baseado em função) do Azure são excluídas permanentemente do diretório de origem e não são transferidas para o diretório de destino.

Este artigo descreve as etapas básicas que você pode seguir para transferir uma assinatura para um diretório diferente do Microsoft Entra e recriar alguns dos recursos após a transferência.

Se você quiser bloquear a transferência de assinaturas para diretórios diferentes em sua organização, poderá configurar uma política de assinatura. Para saber mais, confira Gerenciar políticas de assinatura do Azure.

Observação

Para assinaturas de CSP (Provedores de Soluções de Nuvem do Azure), não há suporte para a alteração do diretório do Microsoft Entra para a assinatura.

Visão geral

A transferência de uma assinatura do Azure para um diretório diferente do Microsoft Entra é um processo complexo que deve ser cuidadosamente planejado e executado. Muitos serviços do Azure exigem entidades de segurança (identidades) para operar normalmente ou até mesmo gerenciar outros recursos do Azure. Este artigo tenta abranger a maioria dos serviços do Azure que dependem muito das entidades de segurança, mas não é abrangente.

Importante

Em alguns cenários, a transferência de uma assinatura pode exigir tempo de inatividade para concluir o processo. Um planejamento cuidadoso é necessário para avaliar se será necessário tempo de inatividade para sua transferência.

O diagrama a seguir mostra as etapas básicas que você deve seguir ao transferir uma assinatura para um diretório diferente.

  1. Preparar para a transferência

  2. Transferir a assinatura do Azure para um diretório diferente

  3. Recriar recursos no diretório de destino, como atribuições de função, funções personalizadas e identidades gerenciadas

    Diagrama de transferência de assinatura

Como decidir se uma assinatura deve ser transferida para um diretório diferente

Veja abaixo algumas razões pelas quais você pode querer transferir uma assinatura:

  • Devido a uma fusão ou aquisição da empresa, você quer gerenciar uma assinatura adquirida em seu diretório primário do Microsoft Entra.
  • Alguém em sua organização criou uma assinatura e você deseja consolidar o gerenciamento para um determinado diretório do Microsoft Entra.
  • Você tem aplicativos que dependem de uma ID de assinatura ou URL específica e não é fácil modificar a configuração ou o código do aplicativo.
  • Uma parte de seus negócios foi dividida em uma empresa separada e você precisa mover alguns dos seus recursos para outro diretório do Microsoft Entra.
  • Você quer gerenciar alguns de seus recursos em um diretório diferente do Microsoft Entra para fins de isolamento de segurança.

Abordagens alternativas

A transferência de uma assinatura requer tempo de inatividade para concluir o processo. Dependendo do seu cenário, você pode considerar as seguintes abordagens alternativas:

  • Recriar os recursos e copiar os dados para o diretório de destino e a assinatura de destino.
  • Adotar uma arquitetura de vários diretórios e deixar a assinatura no diretório de origem. Usar o Azure Lighthouse para delegar recursos para que os usuários no diretório de destino possam acessar a assinatura no diretório de origem. Para obter mais informações, confira Azure Lighthouse em cenários empresariais.

Entender o impacto da transferência de uma assinatura

Vários recursos do Azure dependem de uma assinatura ou de um diretório. Conforme a sua situação, a tabela a seguir lista o impacto conhecido da transferência de uma assinatura. Ao executar as etapas neste artigo, você pode recriar alguns dos recursos que existiam antes da transferência da assinatura.

Importante

Esta seção lista os serviços ou recursos conhecidos do Azure que dependem de sua assinatura. Como os tipos de recursos no Azure estão em constante evolução, talvez haja dependências adicionais não listadas aqui que podem causar uma alteração interruptiva em seu ambiente.

Serviço ou recurso Afetado Recuperável Você foi afetado? O que você pode fazer
Atribuições de função Sim Yes Listar atribuições de função Todas as atribuições de função são excluídas permanentemente. Você deve mapear usuários, grupos e entidades de serviço para objetos correspondentes no diretório de destino. Você deve recriar as atribuições de função.
Funções personalizadas Sim Yes Listar funções personalizadas Todas as funções personalizadas são excluídas permanentemente. Você deve recriar as funções personalizadas e todas as atribuições de função.
Identidades gerenciadas atribuídas pelo sistema Sim Yes Listar identidades gerenciadas Você deve desabilitar e reabilitar as identidades gerenciadas. Você deve recriar as atribuições de função.
Identidades Gerenciadas Atribuídas ao Usuário Sim Yes Listar identidades gerenciadas Você deve excluir, recriar e anexar as identidades gerenciadas ao recurso apropriado. Você deve recriar as atribuições de função.
Cofre de Chave do Azure Sim Yes Listar políticas de acesso do Key Vault Você deve atualizar a ID de locatário associada aos cofres de chaves. Você deve remover e adicionar novas políticas de acesso.
Bancos de dados SQL do Azure com a integração de autenticação do Microsoft Entra habilitada Sim Não Verificar bancos de dados SQL do Azure com a autenticação do Microsoft Entra Não é possível transferir um banco de dados SQL do Azure com a autenticação do Microsoft Entra habilitada para um diretório diferente. Para obter mais informações, consulte Usar autenticação do Microsoft Entra.
Bancos de Dados do Azure para MySQL com a integração de autenticação do Microsoft Entra habilitada Sim Não Você não pode transferir um banco de dados do Azure para MySQL (servidor único e flexível) com a autenticação do Microsoft Entra habilitada para um diretório diferente.
Servidor Flexível do Banco de Dados do Azure para PostgreSQL com a integração de autenticação do Microsoft Entra habilitada ou com a Chave Gerenciada do Cliente habilitada Sim No Não é possível transferir um Banco de Dados do Azure para PostgreSQL com a autenticação do Microsoft Entra ou com a Chave Gerenciada do Cliente habilitada para um diretório diferente. Você precisa desabilitar esses recursos primeiro, transferir o servidor e, em seguida, reabilitar esses recursos.
Armazenamento do Azure e Azure Data Lake Storage Gen2 Sim Yes Você deve recriar todas as ACLs.
Arquivos do Azure Sim Na maioria dos cenários Você deve recriar todas as ACLs. Para contas de armazenamento com autenticação Entra Kerberos habilitada, você deve desabilitar e reabilitar a autenticação Entra Kerberos após a transferência. Para Entra Domain Services, a transferência para outro diretório Microsoft Entra onde o Entra Domain Services não está habilitado não é suportada.
Sincronização de Arquivos do Azure Sim Yes O serviço de sincronização de armazenamento e/ou a conta de armazenamento podem ser movidos para um diretório diferente. Para obter mais informações, consulte Perguntas frequentes sobre os Arquivos do Azure
Azure Managed Disks Sim Yes Se você está usando conjuntos de criptografia de disco para criptografar Managed Disks com chaves gerenciadas pelo cliente, desabilite e reabilite as identidades atribuídas pelo sistema associadas aos conjuntos de criptografia de disco. Você deve recriar as atribuições de função, ou seja, conceder novamente as permissões necessárias para os conjuntos de criptografia de disco nos cofres de chaves.
Serviço de Kubernetes do Azure Sim Não Você não pode transferir o cluster do AKS e seus recursos associados para um diretório diferente. Para obter mais informações, consulte Perguntas frequentes sobre o AKS (Serviço de Kubernetes do Azure)
Azure Policy Sim Não Todos os objetos do Azure Policy, incluindo definições personalizadas, atribuições, isenções e dados de conformidade. Você deve exportar, importar e reatribuir definições. Em seguida, crie atribuições de política e todas as isenções de política necessárias.
Serviços de Domínio do Microsoft Entra Sim Não Não é possível transferir um domínio gerenciado do Microsoft Entra Domain Services para um diretório diferente. Para obter mais informações, confira Perguntas frequentes sobre o Microsoft Entra Domain Services
Registros de aplicativo Sim Yes
Caixa de desenvolvimento da Microsoft Sim Não Você não pode transferir um computador de desenvolvimento do AKS e seus recursos associados para um diretório diferente. Depois que uma assinatura for movida para outro locatário, você não poderá executar nenhuma ação no computador de desenvolvimento
Ambientes de Implantação do Azure Sim Não Você não pode transferir um ambiente e seus recursos associados para um diretório diferente. Depois que uma assinatura for movida para outro locatário, você não poderá executar nenhuma ação no desenvolvimento
Azure Service Fabric Sim Não É necessário recriar o cluster. Para obter mais informações, consulte Perguntas frequentes sobre Clusters SF ou Perguntas frequentes sobre Clusters gerenciados de SF
Barramento de Serviço do Azure Sim Yes Você deve excluir, recriar e anexar as identidades gerenciadas ao recurso apropriado. Você deve recriar as atribuições de função.
Workspace do Azure Synapse Analytics Sim Yes Você deve atualizar a ID de locatário associada ao Workspace do Synapse Analytics. Se o workspace estiver associado a um repositório Git, você deverá atualizar a configuração do Git do workspace. Para obter mais informações, consulte Recuperando o workspace do Synapse Analytics depois de transferir uma assinatura para um diretório (locatário) do Microsoft Entra diferente.
Azure Databricks Sim Não Atualmente, o Azure Databricks não dá suporte à movimentação de workspaces para um novo locatário. Para obter mais informações, consulte Gerenciar sua conta do Azure Databricks.
Galeria de Computação do Azure Sim Yes Replique as versões de imagem na galeria para outras regiões ou copie uma imagem de outra galeria.

Aviso

Se você estiver usando a criptografia em repouso para um recurso, como uma conta de armazenamento ou um banco de dados SQL, que tenha uma dependência de um cofre de chaves que está sendo transferida, isso poderá levar a um cenário irrecuperável. Se você tiver essa situação, deverá tomar medidas para usar um cofre de chaves diferente ou desabilitar temporariamente as chaves gerenciadas pelo cliente para evitar esse cenário irrecuperável.

Para obter uma lista de alguns dos recursos do Azure que são afetados quando você transfere uma assinatura, você também pode executar uma consulta no Azure Resource Graph. Para obter uma consulta de amostra, confira Listar recursos afetados durante a transferência de uma assinatura do Azure.

Pré-requisitos

Para concluir essas etapas, você precisa:

  • Bash no Azure Cloud Shell ou CLI do Azure
  • Proprietário da conta de cobrança da assinatura que você deseja transferir no diretório de origem
  • Uma conta de usuário no diretório de origem e de destino para o usuário que faz a alteração de diretório

Etapa 1: preparar-se para a transferência

Entrar no diretório de origem

  1. Entre no Azure AD como administrador.

  2. Obtenha a lista de assinaturas usando o comando az account list.

    az account list --output table
    
  3. Use az account set para definir a assinatura ativa que você deseja transferir.

    az account set --subscription "Marketing"
    

Instalar a extensão do Azure Resource Graph

A extensão da CLI do Azure para o Azure Resource Graph, o grafo de recursos, permite que você use o comando az graph para consultar recursos gerenciados pelo Azure Resource Manager. Você usará esse token em etapas posteriores.

  1. Use az extension list para ver se você tem a extensão resource-graph instalada.

    az extension list
    
  2. Se você estiver usando uma versão prévia ou uma versão mais antiga da extensão resource-graph, use az extension update para atualizar a extensão.

    az extension update --name resource-graph
    
  3. Se a extensão resource-graph não estiver instalada, use az extension add para instalar a extensão.

    az extension add --name resource-graph
    

Salve todas as atribuições de função

  1. Use az role assignment list para listar todas as atribuições de função (incluindo atribuições de função herdadas).

    Para facilitar a revisão da lista, você pode exportar a saída como JSON, TSV ou uma tabela. Para obter mais informações, confira Listar atribuições de função usando a RBAC do Azure e a CLI do 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. Salve a lista de atribuições de função.

    Quando você transfere uma assinatura, todas as atribuições de função são excluídas permanentemente, portanto, é importante salvar uma cópia.

  3. Examine a lista de atribuições de função. Pode haver atribuições de função de que você não precisará no diretório de destino.

Salvar funções personalizadas

  1. Use a az role definition list para listar suas funções personalizadas. Para obter mais informações, confira Criar ou atualizar funções personalizadas do Azure usando a CLI do Azure.

    az role definition list --custom-role-only true --output json --query '[].{roleName:roleName, roleType:roleType}'
    
  2. Salve cada função personalizada que será necessária no diretório de destino como um arquivo JSON separado.

    az role definition list --name <custom_role_name> > customrolename.json
    
  3. Faça cópias dos arquivos de função personalizados.

  4. Modifique cada cópia para usar o formato a seguir.

    Você usará esses arquivos posteriormente para recriar as funções personalizadas no diretório de destino.

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

Determinar mapeamentos de entidade de serviço, usuário e grupo

  1. Com base na sua lista de atribuições de função, determine os usuários, os grupos e as entidades de serviço que serão mapeados no diretório de destino.

    Você pode identificar o tipo de entidade de segurança examinando a propriedade principalType em cada atribuição de função.

  2. Se necessário, no diretório de destino, crie todos os usuários, grupos ou entidades de serviço necessários.

Listar atribuições de função para identidades gerenciadas

Identidades gerenciadas não são atualizadas quando uma assinatura é transferida para outro diretório. Como resultado, todas as identidades gerenciadas atribuídas pelo sistema ou designadas pelo usuário serão quebradas. Após a transferência, você pode reabilitar todas as identidades gerenciadas atribuídas pelo sistema. Para identidades gerenciadas atribuídas pelo usuário, você precisará recriá-las e anexá-las no diretório de destino.

  1. Examine a lista de serviços do Azure que dão suporte a identidades gerenciadas para observar em que locais você talvez esteja usando identidades gerenciadas.

  2. Use az ad sp list para listar suas identidades gerenciadas atribuídas pelo sistema e pelo usuário.

    az ad sp list --all --filter "servicePrincipalType eq 'ManagedIdentity'"
    
  3. Na lista de identidades gerenciadas, determine quais são atribuídas pelo sistema e que são atribuídas pelo usuário. Você pode usar os critérios a seguir para determinar o tipo.

    Critérios Tipo de identidade gerenciada
    A propriedade alternativeNames inclui isExplicit=False System-assigned
    A propriedade alternativeNames não inclui isExplicit System-assigned
    A propriedade alternativeNames inclui isExplicit=True Atribuída pelo usuário

    Você também pode usar az identity list para apenas listar identidades gerenciadas atribuídas pelo usuário. Para obter mais informações, confira Criar, listar ou excluir uma identidade gerenciada atribuída pelo usuário usando a CLI do Azure.

    az identity list
    
  4. Obtenha uma lista dos valores objectId para suas identidades gerenciadas.

  5. Pesquise sua lista de atribuições de função para ver se há atribuições de função para suas identidades gerenciadas.

Listar cofres de chave

Quando você cria um cofre de chaves em uma assinatura, ele é vinculado automaticamente à ID de locatário do Microsoft Entra padrão para essa assinatura. Todas as entradas de política de acesso também são vinculadas a essa ID de locatário. Para obter mais informações, confira Mover um Azure Key Vault para outra assinatura.

Aviso

Se você estiver usando a criptografia em repouso para um recurso, como uma conta de armazenamento ou um banco de dados SQL, que tenha uma dependência de um cofre de chaves que está sendo transferida, isso poderá levar a um cenário irrecuperável. Se você tiver essa situação, deverá tomar medidas para usar um cofre de chaves diferente ou desabilitar temporariamente as chaves gerenciadas pelo cliente para evitar esse cenário irrecuperável.

Listar bancos de dados SQL do Azure com a autenticação do Microsoft Entra

Listar ACLs

  1. Se você estiver usando Azure Data Lake Storage Gen2, liste as ACLs aplicadas a qualquer arquivo usando o portal do Azure ou o PowerShell.

  2. Se você estiver usando Arquivos do Azure, liste as ACLs que são aplicadas a qualquer arquivo.

Listar outros recursos conhecidos

  1. Use az account show para obter sua ID de assinatura (em bash).

    subscriptionId=$(az account show --output tsv --query id)
    
  2. Use a extensão az graph para listar outros recursos do Azure com dependências de diretório do Microsoft Entra conhecidas (em 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
    

Etapa 2: transferir a assinatura

Nesta etapa, você transfere a assinatura do diretório de origem para o diretório de destino. As etapas serão diferentes dependendo se você deseja também transferir a propriedade da cobrança.

Aviso

Quando você transfere a assinatura, todas as atribuições de função no diretório de origem são excluídas permanentemente e não podem ser restauradas. Você não pode voltar depois de transferir a assinatura. Conclua as etapas anteriores antes de executar esta etapa.

  1. Determine se você também deseja transferir a propriedade da cobrança para outra conta.

  2. Transfira de uma assinatura para outro diretório.

  3. Depois de concluir a transferência da assinatura, volte para este artigo para recriar os recursos no diretório de destino.

Etapa 3: recriar os recursos

Entrar no diretório de destino

  1. No diretório de destino, entre como o usuário que aceitou a solicitação de transferência.

    Somente o usuário da nova conta que aceitou a solicitação de transferência terá acesso para gerenciar os recursos.

  2. Obtenha a lista de assinaturas usando o comando az account list.

    az account list --output table
    
  3. Use o az account set para definir a assinatura ativa que você deseja usar.

    az account set --subscription "Contoso"
    

Criar funções personalizadas

Atribuir funções

Atualizar identidades gerenciadas atribuídas pelo sistema

  1. Desabilitar e reabilitar identidades gerenciadas atribuídas pelo sistema.

    Serviço do Azure Mais informações
    Máquinas virtuais Configurar identidades gerenciadas para recursos do Azure em uma VM do Azure usando a CLI do Azure
    conjuntos de escala de máquina virtual Configurar identidades gerenciadas para recursos do Azure em um conjunto de dimensionamento de máquinas virtuais usando a CLI do Azure
    Outros serviços Serviços compatíveis com identidades gerenciadas para recursos do Azure
  2. Use az role assignment create para atribuir funções a identidades gerenciadas atribuídas pelo sistema. Para obter mais informações, confira Atribuir um acesso de identidade gerenciada a um recurso usando a CLI do Azure.

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

Atualizar identidades gerenciadas atribuídas ao usuário

  1. Exclua, recrie e anexe identidades gerenciadas atribuídas pelo usuário.

    Serviço do Azure Mais informações
    Máquinas virtuais Configurar identidades gerenciadas para recursos do Azure em uma VM do Azure usando a CLI do Azure
    conjuntos de escala de máquina virtual Configurar identidades gerenciadas para recursos do Azure em um conjunto de dimensionamento de máquinas virtuais usando a CLI do Azure
    Outros serviços Serviços compatíveis com identidades gerenciadas para recursos do Azure
    Criar, listar ou excluir uma identidade gerenciada atribuída pelo usuário usando a CLI do Azure
  2. Use az role assignment create para atribuir funções a identidades gerenciadas atribuídas pelo usuário. Para obter mais informações, confira Atribuir um acesso de identidade gerenciada a um recurso usando a CLI do Azure.

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

Atualizar cofres de chaves

Esta seção descreve as etapas básicas para atualizar seus cofres de chaves. Para obter mais informações, confira Mover um Azure Key Vault para outra assinatura.

  1. Atualize a ID do locatário associada a todos os cofres de chaves na assinatura para o diretório de destino.

  2. Remover todas as entradas de política de acesso existentes.

  3. Adicione entradas de política de acesso associadas ao diretório de destino.

Atualizar ACLs

  1. Se você estiver usando o Azure Data Lake Storage Gen2, atribua as ACLs apropriadas. Para obter mais informações, consulte Controle de acesso no Azure Data Lake Storage Gen2.

  2. Se você estiver usando Arquivos do Azure, atribua as ACLs apropriadas.

Examinar outros métodos de segurança

Embora as atribuições de função do Azure sejam removidas durante a transferência, os usuários da conta do proprietário original continuarão tendo acesso à assinatura por meio de outros mecanismos de segurança, incluindo:

  • Chaves de acesso para serviços como Armazenamento.
  • Certificados de gerenciamento que concedem ao administrador do usuário acesso a recursos de assinatura.
  • Credenciais de Acesso Remoto para serviços como Máquinas Virtuais do Azure.

Se a sua intenção for remover o acesso de usuários no diretório de origem para que eles não tenham acesso no diretório de destino, considere a rotação de qualquer credencial. Até que as credenciais sejam atualizadas, os usuários continuarão a ter acesso após a transferência.

  1. Girar chaves de acesso da conta de armazenamento. Para obter mais informações, confira Gerenciar chaves de acesso da conta de armazenamento.

  2. Se você estiver usando chaves de acesso para outros serviços, como o Banco de Dados SQL do Azure ou mensagens do Barramento de Serviço do Azure, gire as chaves de acesso.

  3. Para recursos que usam segredos, abra as configurações do recurso e atualize o segredo.

  4. Para recursos que usam certificados, atualize o certificado.

Próximas etapas