Impedir a replicação de objeto entre locatários do Microsoft Entra

A replicação de objetos copia blobs de bloco de maneira assíncrona de um contêiner em uma conta de armazenamento para um contêiner em outra conta de armazenamento. Ao configurar uma política de replicação de objeto, você especifica a conta e o contêiner de origem e a conta e o contêiner de destino. Depois que a política estiver configurada, o Armazenamento do Azure copiará automaticamente os resultados das operações de criação, atualização e exclusão em um objeto de origem para o objeto de destino. Para saber mais sobre a replicação de objetos no Armazenamento do Microsoft Azure, confira Replicação de objetos para blobs de blocos.

Usuários autorizados podem configurar uma política de replicação de objeto em que a conta de origem está em um locatário do Microsoft Entra e a conta de destino está em um locatário diferente, caso a replicação entre locatários seja permitida nos locatários do Microsoft Entra. Caso as suas políticas de segurança exigirem que você restrinja a replicação de objetos a contas de armazenamento que residam apenas no mesmo locatário, você pode não permitir a criação de políticas em que as contas de origem e destino estejam em locatários diferentes. Por padrão, a replicação de objetos entre locatários está desativada para todas as novas contas de armazenamento criadas após 15 de dezembro de 2023, a menos que você a permita explicitamente.

Este artigo descreve como corrigir a replicação de objetos entre locatários para suas contas de armazenamento. Ele também descreve como criar políticas para impor uma proibição de replicação de objetos entre locatários para contas de armazenamento novas e existentes.

Para obter mais informações sobre como configurar políticas de replicação de objetos, incluindo políticas entre locatários, confira Configurar a replicação de objetos para blobs de blocos.

Corrigir a replicação de objetos entre locatários

Para impedir a replicação de objeto em locatários do Microsoft Entra, defina a propriedade AllowCrossTenantReplication da conta de armazenamento como false. Se uma conta de armazenamento não participar atualmente de nenhuma política de replicação de objetos entre locatários, definir a propriedade AllowCrossTenantReplication como false impedirá a configuração futura das políticas de replicação de objetos entre locatários com essa conta de armazenamento como a origem ou destino. No entanto, se uma conta de armazenamento participa no momento de uma ou mais políticas de replicação de objetos entre locatários, não é permitido definir a propriedade AllowCrossTenantReplication como false até que você exclua as políticas entre locatários existentes.

As políticas entre locatários não são permitidas por padrão para uma conta de armazenamento criada após 15 de dezembro de 2023. No entanto, a propriedade AllowCrossTenantReplication não estava definida por padrão para uma conta de armazenamento existente criada antes de 15 de dezembro de 2023 e não retorna um valor até que você a tenha definido explicitamente. A conta de armazenamento pode participar de políticas de replicação de objetos entre locatários quando o valor da propriedade é null ou true para contas criadas antes de 15 de dezembro de 2023. Para contas criadas após esse período, a propriedade precisa ser definida como true. Definir a propriedade AllowCrossTenantReplication não incorre em nenhum tempo de inatividade na conta de armazenamento.

Corrigir a replicação entre locatários para uma nova conta

Para não permitir a replicação entre locatários para uma nova conta de armazenamento, use o portal do Azure, PowerShell ou CLI do Azure. O padrão da propriedade é false para novas contas criadas após 15 de dezembro de 2023, mesmo quando não definida explicitamente.

Para não permitir a replicação de objetos entre locatários para uma conta de armazenamento, siga estas etapas:

  1. No portal do Azure, navegue até a página Contas de armazenamento e selecione Criar.

  2. Preencha a guia Noções básicas para a nova conta de armazenamento.

  3. Na guia Avançado, na seção Armazenamento de Blobs, localize a configuração Permitir replicação entre locatários e desmarque a caixa.

    Screenshot showing how to disallow cross-tenant object replication for a new storage account

  4. Conclua o processo de criação da conta.

Corrigir a replicação entre locatários para uma conta existente

Para não permitir a replicação entre locatários para uma conta de armazenamento existente, use o portal do Azure, PowerShell ou CLI do Azure.

Para não permitir a replicação de objetos entre locatários para uma conta de armazenamento existente que não está participando de nenhuma política entre locatários, siga estas etapas:

  1. Navegue até sua conta de armazenamento no portal do Azure.

  2. Em Gerenciamento de dados, selecione Replicação de objetos.

  3. Selecione Configurações avançadas.

  4. Desmarque Permitir replicação entre locatários. Por padrão, esta caixa está marcada, pois a replicação de objetos entre locatários é permitida para uma conta de armazenamento, a menos que você explicitamente a desabilite.

    Screenshot showing how to disallow cross-tenant object replication for an existing storage account

  5. Selecione OK para salvar suas alterações.

Se a conta de armazenamento estiver participando atualmente de uma ou mais políticas de replicação entre locatários, você não poderá rejeitar a replicação de objetos entre locatários até excluir essas políticas. Nesse cenário, a configuração não está disponível no portal do Azure, conforme mostrado na imagem a seguir.

Screenshot

Depois de não permitir a replicação entre locatários, a tentativa de configurar uma política entre locatários com a conta de armazenamento como origem ou destino falha. O Armazenamento do Azure retorna um erro indicando que a replicação de objetos entre locatários não é permitida para a conta de armazenamento.

Quando a replicação de objetos entre locatários não é permitida para uma conta de armazenamento, todas as novas políticas de replicação de objeto que você criar com essa conta devem incluir as IDs completas do Azure Resource Manager para a conta de origem e de destino. O Armazenamento do Azure requer a ID de recurso completa para verificar se as contas de origem e destino residem no mesmo locatário. Para obter mais informações, confira Especificar IDs do recurso completas para as contas de origem e destino.

A propriedade AllowCrossTenantReplication tem suporte em contas de armazenamento que usam apenas o Modelo de implantação do Azure Resource Manager. Para obter informações sobre quais contas de armazenamento usam o Modelo de implantação do Azure Resource Manager, confira Tipos de contas de armazenamento.

Permissões para permitir ou não permitir a replicação entre locatários

Para definir a propriedade AllowCrossTenantReplication para uma conta de armazenamento, um usuário deve ter permissões para criar e gerenciar contas de armazenamento. As funções do RBAC do Azure (controle de acesso baseado em função do Azure) que fornecem essas permissões incluem a ação Microsoft.StoragE/StorageAccounts/write ou Microsoft.Storage/storageAccounts/*. As funções internas com essa ação incluem:

Essas funções não fornecem acesso a dados em uma conta de armazenamento por meio do Microsoft Entra ID. No entanto, elas incluem a Microsoft.Storage/storageAccounts/listkeys/action, que concede acesso às chaves de acesso da conta. Com essa permissão, um usuário pode usar as chaves de acesso da conta para acessar todos os dados em uma conta de armazenamento.

As atribuições de função devem ser delimitadas ao nível da conta de armazenamento ou superior para permitir que um usuário aprove ou desaprove a replicação de objetos entre locatários para a conta de armazenamento. Para obter mais informações sobre o escopo da função, confira Entender o escopo do RBAC do Azure.

Tenha cuidado para restringir a atribuição dessas funções somente aos que exigem a capacidade de criar uma conta de armazenamento ou atualizar suas propriedades. Use o princípio de privilégios mínimos para garantir que os usuários tenham as menores permissões necessárias para realizar suas tarefas. Para obter mais informações sobre como gerenciar o acesso com o RBAC do Azure, consulte Melhores práticas para o RBAC do Azure.

Observação

O administrador de serviço de funções de administrador de assinatura clássica e Coadministrator incluem o equivalente da função de proprietário do Azure Resource Manager. A função de Proprietário inclui todas as ações, de modo que um usuário com uma dessas funções administrativas também pode criar e gerenciar contas de armazenamento. Para obter mais informações, veja Funções do Azure, funções do Microsoft Entra e funções de administrador da assinatura clássico.

Usar Azure Policy para auditar a conformidade

Se você tiver um grande número de contas de armazenamento, convém realizar uma auditoria para certificar-se de que essas contas estão configuradas para impedir a replicação de objetos entre locatários. Para auditar um conjunto de contas de armazenamento para sua conformidade, use o Azure Policy. Azure Policy é um serviço que você pode usar para criar, atribuir e gerenciar políticas que aplicam regras aos recursos do Azure. O Azure Policy ajuda a manter esses recursos compatíveis com seus padrões empresariais e contratos de nível de serviço. Para saber mais, confira Visão geral do Azure Policy.

Criar uma política com um efeito de auditoria

O Azure Policy oferece suporte a efeitos que determinam o que acontece quando uma regra de política é avaliada em um recurso. O efeito da auditoria cria um aviso quando um recurso não está em conformidade, mas não interrompe a solicitação. Para saber mais sobre efeitos, confira Entender os efeitos da Azure Policy.

Para criar uma política com um efeito de auditoria para a configuração de acesso público para uma conta de armazenamento com o portal do Azure, siga estas etapas:

  1. No portal do Azure, navegue até o serviço Azure Policy.

  2. Na seção Criação, escolha Definições.

  3. Escolha Adicionar definição de política para criar uma nova definição de política.

  4. Para o campo Local de definição, escolha o botão Mais para especificar onde o recurso de política de auditoria está localizado.

  5. Especifique um nome para a política. Opcionalmente, você pode especificar uma descrição e uma categoria.

  6. Em Regra de política, adicione a seguinte definição de política à seção policyRule.

    {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Storage/storageAccounts"
          },
          {
            "not": {
              "field":"Microsoft.Storage/storageAccounts/allowCrossTenantReplication",
              "equals": "false"
            }
          }
        ]
      },
      "then": {
        "effect": "audit"
      }
    }
    
  7. Salve a política.

Atribuir a política

Em seguida, atribua a política a um recurso. O escopo da política corresponde a esse recurso e a todos os recursos abaixo dele. Para obter mais informações sobre atribuição de política, confira Estrutura de atribuição do Azure Policy.

Para atribuir a política com o portal do Azure, siga estas etapas:

  1. No portal do Azure, navegue até o serviço Azure Policy.
  2. Na seção Criação, escolha Atribuições.
  3. Escolha Atribuir política para criar uma nova atribuição de política.
  4. Para o campo Escopo, escolha o escopo de atribuição de política.
  5. Para o campo Definição de política, escolha o botão Mais e, em seguida, escolha a política que você definiu na seção anterior na lista.
  6. Forneça um nome para a atribuição de política. A descrição é opcional.
  7. Mantenha Imposição de política definido como Habilitado. Essa configuração não tem efeito sobre a política de auditoria.
  8. Escolha Examinar + criar para criar a atribuição.

Exibir relatório de conformidade

Depois de atribuir a política, você poderá visualizar o relatório de conformidade. O relatório de conformidade de uma política de auditoria fornece informações sobre quais contas de armazenamento ainda estão permitindo políticas de replicação de objetos entre locatários. Para obter mais informações, confira Obter dados de conformidade da política.

Pode levar vários minutos para que o relatório de conformidade fique disponível depois que a atribuição de política for criada.

Para exibir o relatório de conformidade no portal do Azure, siga estas etapas:

  1. No portal do Azure, navegue até o serviço Azure Policy.

  2. Selecione Conformidade.

  3. Filtre os resultados para o nome da atribuição de política que você criou na etapa anterior. O relatório mostra os recursos que não estão em conformidade com a política.

  4. Você pode fazer uma busca detalhada no relatório para obter mais detalhes, incluindo uma lista de contas de armazenamento que não estão em conformidade.

    Screenshot showing compliance report for audit policy for blob cross-tenant object replication

Usar o Azure Policy para aplicar políticas de replicação do mesmo locatário

O Azure Policy dá suporte à governança de nuvem, garantindo que os recursos do Azure sigam os requisitos e padrões. Para garantir que as contas de armazenamento em sua organização não permitam a replicação entre locatários, você pode criar uma política que impeça a criação de uma nova conta de armazenamento que permita políticas de replicação de objetos entre locatários. A política de imposição usa o efeito de negação para evitar uma solicitação que criaria ou modificaria uma conta de armazenamento para permitir replicação de objetos entre locatários. A política de negação também impedirá todas as alterações de configuração em uma conta existente se a configuração de replicação de objetos entre locatários para essa conta não for compatível com a política. Para obter mais informações sobre o efeito de negação, confira Entender os efeitos da Azure Policy.

Para criar uma política com um efeito de negação para a replicação de objetos entre locatários, siga as mesmas etapas descritas em Usar Azure Policy para auditar a conformidade, mas forneça o seguinte JSON na seção policyRule da definição de política:

{
  "if": {
    "allOf": [
      {
        "field": "type",
        "equals": "Microsoft.Storage/storageAccounts"
      },
      {
        "not": {
          "field":"Microsoft.Storage/storageAccounts/allowCrossTenantReplication",
          "equals": "false"
        }
      }
    ]
  },
  "then": {
    "effect": "deny"
  }
}

Depois de criar a política com o efeito de negação e atribuí-la a um escopo, um usuário não poderá criar uma conta de armazenamento que permita a replicação de objetos entre locatários. Nem um usuário pode fazer alterações de configuração em uma conta de armazenamento existente que atualmente permita a replicação de objetos entre locatários. Caso isso seja feito, será gerado um erro. A propriedade AllowCrossTenantReplication para a conta de armazenamento deve ser definida como false para prosseguir com a criação da conta ou atualizações de configuração, em conformidade com a política.

A imagem a seguir mostra o erro que ocorre se você tentar criar uma conta de armazenamento que permita a replicação de objetos entre locatários (o padrão para uma nova conta) quando uma política com um efeito de negação exigir que o acesso público não seja permitido.

Screenshot showing the error that occurs when creating a storage account in violation of policy

Confira também