Restringir a origem das operações de cópia a uma conta de armazenamento

Por motivos de segurança, os administradores de armazenamento podem desejar limitar os ambientes dos quais os dados podem ser copiados para contas protegidas. Limitar o escopo das operações de cópia permitidas ajuda a impedir a infiltração de dados indesejados de locatários ou de redes virtuais não confiáveis.

Este artigo mostra como limitar as contas de origem das operações de cópia às contas no mesmo locatário da conta de destino ou com links privados para a mesma rede virtual do destino.

Importante

Atualmente, o escopo permitido para operações de cópia está em VERSÃO PRÉVIA. Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Sobre o escopo permitido para operações de cópia (versão prévia)

A propriedade AllowedCopyScope de uma conta de armazenamento é usada para especificar os ambientes dos quais os dados podem ser copiados para a conta de destino. Ela é exibida no portal do Azure como a definição de configuração Escopo permitido para operações de cópia (versão prévia). A propriedade não é definida por padrão e não retorna um valor até que você a defina explicitamente. Ela tem três valores possíveis:

  • (nulo) (padrão): permita a cópia de qualquer conta de armazenamento para a conta de destino.
  • Microsoft Entra ID: permite copiar somente de contas dentro do mesmo locatário do Microsoft Entra que a conta de destino.
  • PrivateLink: permite a cópia somente de contas de armazenamento que têm links privados para a mesma rede virtual que a conta de destino.

A configuração se aplica às operações Copiar Blob e Copiar Blob da URL. Entre os exemplos de ferramentas que usam o Blob de Cópia estão o AzCopy e o Gerenciador de Armazenamento do Azure.

Quando a origem de uma solicitação de cópia não atende aos requisitos especificados por essa configuração, a solicitação falha com o código de status HTTP 403 (Proibido).

Há suporte para a propriedade AllowedCopyScope 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.

Identificar as contas de armazenamento de origem das operações de cópia

Antes de alterar o valor de AllowedCopyScope de uma conta de armazenamento, identifique os usuários, os aplicativos ou os serviços que serão afetados pela alteração. Dependendo das descobertas, pode ser necessário ajustar a configuração para um escopo que inclua todas as fontes de cópia desejadas ou ajustar a rede ou a configuração do Microsoft Entra para algumas das contas de armazenamento de origem.

Os logs do Armazenamento do Azure capturam detalhes no Azure Monitor sobre as solicitações feitas na conta de armazenamento, incluindo a origem e o destino das operações de cópia. Para saber mais, confira Monitorar o Armazenamento do Azure. Habilite e analise os logs para identificar as operações de cópia que podem ser afetadas pela alteração de AllowedCopyScope na conta de armazenamento de destino.

Criar uma configuração de diagnóstico no portal do Azure

Para registrar dados do Armazenamento do Azure no Azure Monitor e analisá-los com o Azure Log Analytics, primeiro, você precisa criar uma configuração de diagnóstico que indica os tipos de solicitações e os serviços de armazenamento dos quais você deseja registrar os dados. Para criar uma configuração de diagnóstico no portal do Azure, siga estas etapas:

  1. Crie um workspace do Log Analytics na assinatura que contém sua conta do Armazenamento do Azure ou use um workspace do Log Analytics existente. Depois de configurar o registro em log para sua conta de armazenamento, os logs estarão disponíveis no workspace do Log Analytics. Para obter mais informações, confira Criar um workspace do Log Analytics no portal do Azure.

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

  3. Na seção Monitoramento, selecione Configurações de diagnóstico.

  4. Selecione o serviço de Armazenamento do Azure para o qual você deseja registrar solicitações. Por exemplo, escolha blob para registrar solicitações no Armazenamento de Blobs.

  5. Selecione Adicionar configuração de diagnóstico.

  6. Forneça um nome para a configuração de diagnóstico.

  7. Em Categorias, na seção Logs, escolha StorageRead, StorageWrite e StorageDelete para registrar em log todas as solicitações de dados para o serviço selecionado.

  8. Em Detalhes do destino, selecione Enviar para o workspace do Log Analytics. Selecione sua assinatura e o workspace do Log Analytics criado anteriormente, conforme mostrado na imagem a seguir, e escolha Salvar.

    Screenshot showing how to create a diagnostic setting for logging requests.

Depois de criar a configuração de diagnóstico, as solicitações para a conta de armazenamento são registradas subsequentemente de acordo com essa configuração. Para obter mais informações, confira Criar configurações de diagnóstico para coletar logs de recursos e métricas no Azure.

Logs de consulta para solicitações de cópia

Os logs do Armazenamento do Azure incluem todas as solicitações para copiar os dados para uma conta de armazenamento de outra fonte. As entradas de log incluem o nome da conta de armazenamento de destino e o URI do objeto de origem, acompanhado de informações para ajudar a identificar o cliente que está solicitando a cópia. Para ver uma referência dos campos disponíveis nos logs do Armazenamento do Azure no Azure Monitor, confira Logs de recursos.

Para recuperar os logs das solicitações para copiar os blobs criados nos últimos sete dias, siga estas etapas:

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

  2. Na seção Monitoramento, selecione Logs.

  3. Cole a consulta a seguir em uma nova consulta de log e execute-a. Essa consulta exibe os objetos de origem mais frequentemente referenciados nas solicitações para copiar dados para a conta de armazenamento especificada. No exemplo a seguir, substitua o texto do espaço reservado <account-name> pelo nome da conta de armazenamento.

    StorageBlobLogs
    | where OperationName has "CopyBlobSource" and TimeGenerated > ago(7d) and AccountName == "<account-name>"
    | summarize count() by Uri, CallerIpAddress, UserAgentHeader
    

Os resultados da consulta são parecidos com os seguintes:

Screenshot showing how a Copy Blob Source log query might look.

O URI é o caminho completo para o objeto de origem que está sendo copiado, que inclui o nome da conta de armazenamento, o nome do contêiner e o nome do arquivo. Na lista de URIs, determine se as operações de cópia serão bloqueadas se uma configuração de AllowedCopyScope específica for aplicada.

Configure também uma regra de alerta com base nessa consulta para receber notificações sobre as solicitações de Copiar Blob da conta. Para obter mais informações, confira Criar, exibir e gerenciar alertas de log usando o Azure Monitor.

Restringir o escopo permitido para operações de cópia (versão prévia)

Quando você tiver certeza de que pode restringir com segurança as origens de solicitações de cópia a um escopo específico, defina a propriedade AllowedCopyScope da conta de armazenamento como esse escopo.

Permissões para alterar o escopo permitido para operações de cópia (versão prévia)

Para definir a propriedade AllowedCopyScope da conta de armazenamento, um usuário precisa ter permissões para criar e gerenciar contas de armazenamento. As funções 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 precisam ser delimitadas à conta de armazenamento ou a um nível superior para permitir que um usuário restrinja o escopo das operações de cópia da conta. 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.

Configurar o escopo permitido para operações de cópia (versão prévia)

Usando uma conta que tenha as permissões necessárias, configure o escopo permitido para operações de cópia no portal do Azure, com o PowerShell ou usando a CLI do Azure.

Para configurar o escopo permitido para operações de cópia de uma conta de armazenamento existente no portal do Azure, siga estas etapas:

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

  2. Em Configurações, escolha Configuração.

  3. Defina a opção Escopo permitido para operações de cópia (versão prévia) como um dos seguintes:

    • De qualquer conta de armazenamento
    • De contas de armazenamento no mesmo locatário do Microsoft Entra
    • De contas de armazenamento que têm um ponto de extremidade privado para a mesma rede virtual

    Screenshot showing how to disallow Shared Key access for a storage account.

  4. Selecione Salvar.

Próximas etapas