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.
Preparar para a transferência
Transferir a assinatura do Azure para um diretório diferente
Recriar recursos no diretório de destino, como atribuições de função, funções personalizadas e identidades gerenciadas
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
Entre no Azure AD como administrador.
Obtenha a lista de assinaturas usando o comando az account list.
az account list --output table
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.
Use az extension list para ver se você tem a extensão resource-graph instalada.
az extension list
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
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
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
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.
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
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}'
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
Faça cópias dos arquivos de função personalizados.
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
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.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.
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.
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'"
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
incluiisExplicit=False
System-assigned A propriedade alternativeNames
não incluiisExplicit
System-assigned A propriedade alternativeNames
incluiisExplicit=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
Obtenha uma lista dos valores
objectId
para suas identidades gerenciadas.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.
Se você tiver um cofre de chaves, use az keyvault show para listar as políticas de acesso. Para obter mais informações, confira Atribuir uma política de acesso do Key Vault.
az keyvault show --name MyKeyVault
Listar bancos de dados SQL do Azure com a autenticação do Microsoft Entra
Use az sql server ad-admin list e a extensão az graph para ver se você está usando bancos de dados SQL do Azure com a integração de autenticação do Microsoft Entra. Para obter informações, consulte Configurar e gerenciar a autenticação do Microsoft Entra com o SQL.
az sql server ad-admin list --ids $(az graph query -q "resources | where type == 'microsoft.sql/servers' | project id" --query data[*].[id] -o tsv)
Listar ACLs
Se você estiver usando Azure Data Lake Storage Gen2, liste as ACLs aplicadas a qualquer arquivo usando o portal do Azure ou o PowerShell.
Se você estiver usando Arquivos do Azure, liste as ACLs que são aplicadas a qualquer arquivo.
Listar outros recursos conhecidos
Use az account show para obter sua ID de assinatura (em
bash
).subscriptionId=$(az account show --output tsv --query id)
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.
Determine se você também deseja transferir a propriedade da cobrança para outra conta.
Transfira de uma assinatura para outro diretório.
- Se você quiser manter a propriedade da cobrança atual, siga as etapas em Associar ou adicionar uma assinatura do Azure ao locatário do Microsoft Entra.
- Se você também quiser transferir a propriedade da cobrança, siga as etapas em Transferir a propriedade da cobrança de uma assinatura do Azure para outra conta. Para transferir a assinatura para um diretório diferente, é necessário marcar a caixa de seleção Locatário do Microsoft Entra da assinatura.
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
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.
Obtenha a lista de assinaturas usando o comando az account list.
az account list --output table
Use o az account set para definir a assinatura ativa que você deseja usar.
az account set --subscription "Contoso"
Criar funções personalizadas
Use az role definition create para criar cada função personalizada com base nos arquivos que você criou anteriormente. Para obter mais informações, confira Criar ou atualizar funções personalizadas do Azure usando a CLI do Azure.
az role definition create --role-definition <role_definition>
Atribuir funções
Use az role assignment create para atribuir funções a usuários, grupos e entidades de serviço. Para obter mais informações, confira Atribuir funções do Azure usando a CLI do Azure.
az role assignment create --role <role_name_or_id> --assignee <assignee> --scope "/subscriptions/<subscriptionId>/resourceGroups/<resource_group>"
Atualizar identidades gerenciadas atribuídas pelo sistema
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 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
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 AzureUse 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.
Atualize a ID do locatário associada a todos os cofres de chaves na assinatura para o diretório de destino.
Remover todas as entradas de política de acesso existentes.
Adicione entradas de política de acesso associadas ao diretório de destino.
Atualizar ACLs
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.
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.
Girar chaves de acesso da conta de armazenamento. Para obter mais informações, confira Gerenciar chaves de acesso da conta de armazenamento.
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.
Para recursos que usam segredos, abra as configurações do recurso e atualize o segredo.
Para recursos que usam certificados, atualize o certificado.