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

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

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

Importante

O escopo permitido para operações de cópia está atualmente em visualização. Veja Termos de Utilização Complementares da Pré-visualizações do Microsoft Azure para obter os termos legais que se aplicam às funcionalidades do Azure que estão na versão beta, na pré-visualização ou que ainda não foram lançadas para disponibilidade geral.

Sobre o escopo permitido para operações de cópia (visualização)

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. Ele é exibido no portal do Azure como definição de configuração Escopo permitido para operações de cópia (visualização). A propriedade não é definida por padrão e não retorna um valor até que você o defina explicitamente. Tem três valores possíveis:

  • (nulo) (padrão): permite copiar de qualquer conta de armazenamento para a conta de destino.
  • ID do Microsoft Entra: Permite copiar apenas de contas dentro do mesmo locatário do Microsoft Entra que a conta de destino.
  • PrivateLink: Permite copiar apenas de contas de armazenamento que tenham 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 de URL. Exemplos de ferramentas que usam o Blob de Cópia são o AzCopy e o Azure Storage Explorer.

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).

A propriedade AllowedCopyScope tem suporte para 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, consulte 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 para uma conta de armazenamento, identifique usuários, aplicativos ou serviços que seriam afetados pela alteração. Dependendo de suas 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 solicitações feitas na conta de armazenamento, incluindo a origem e o destino das operações de cópia. Para obter mais informações, consulte Monitorar o Armazenamento do Azure. Habilite e analise os logs para identificar operações de cópia que possam ser afetadas pela alteração de AllowedCopyScope para a conta de armazenamento de destino.

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

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

  1. Crie um novo espaço de trabalho do Log Analytics na assinatura que contém sua conta de Armazenamento do Azure ou use um espaço de trabalho existente do Log Analytics. Depois de configurar o registo para a sua conta de armazenamento, os registos estarão disponíveis na área de trabalho do Log Analytics. Para obter mais informações, consulte Criar um espaço de trabalho do Log Analytics no portal do Azure.

  2. Navegue para a 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 Blob.

  5. Selecione Adicionar definiçã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 todas as solicitações de dados no serviço selecionado.

  8. Em Detalhes do destino, selecione Enviar para o espaço de trabalho do Log Analytics. Selecione sua assinatura e o espaço de trabalho do Log Analytics criado anteriormente, conforme mostrado na imagem a seguir, e selecione 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 posteriormente registradas de acordo com essa configuração. Para obter mais informações, consulte Criar configuração 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 dados de outra fonte para uma conta de armazenamento. As entradas de log incluem o nome da conta de armazenamento de destino e o URI do objeto de origem, juntamente com informações para ajudar a identificar o cliente que solicita a cópia. Para obter uma referência completa dos campos disponíveis nos logs do Armazenamento do Azure no Azure Monitor, consulte Logs de recursos.

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

  1. Navegue para a 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 em solicitações para copiar dados para a conta de armazenamento especificada. No exemplo a seguir, substitua o texto <account-name> do espaço reservado pelo seu próprio nome de 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 devem ser semelhantes aos 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 seriam bloqueadas se uma configuração específica de AllowedCopyScope fosse aplicada.

Você também pode configurar uma regra de alerta com base nessa consulta para notificá-lo sobre solicitações de Blob de cópia para a conta. Para obter mais informações, consulte Criar, exibir e gerenciar alertas de log usando o Azure Monitor.

Restringir o escopo permitido para operações de cópia (visualização)

Quando estiver confiante de que pode restringir com segurança as fontes de solicitações de cópia a um escopo específico, você poderá definir a propriedade AllowedCopyScope da conta de armazenamento para esse escopo.

Permissões para alterar o escopo Permitido para operações de cópia (visualização)

Para definir a propriedade AllowedCopyScope para a conta de armazenamento, um usuário deve ter permissões para criar e gerenciar contas de armazenamento. As funções de controle de acesso baseado em função do Azure (Azure RBAC) que fornecem essas permissões incluem a ação Microsoft.Storage/storageAccounts/write ou Microsoft.Storage/storageAccounts/* . As funções incorporadas com esta 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, eles incluem 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 ter um escopo igual ao nível da conta de armazenamento ou 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, consulte Entender o escopo do RBAC do Azure.

Tenha cuidado para restringir a atribuição dessas funções apenas àqueles que exigem a capacidade de criar uma conta de armazenamento ou atualizar suas propriedades. Use o princípio do menor privilégio para garantir que os usuários tenham o menor número de permissões de que precisam para realizar suas tarefas. Para obter mais informações sobre como gerenciar o acesso com o RBAC do Azure, consulte Práticas recomendadas para o RBAC do Azure.

Nota

As funções clássicas de administrador de subscrição Administrador de Serviços e Coadministrador incluem o equivalente à função de Proprietário do Azure Resource Manager. A função Proprietário inclui todas as ações, para que um usuário com uma dessas funções administrativas também possa criar e gerenciar contas de armazenamento. Para obter mais informações, consulte Funções do Azure, Funções do Microsoft Entra e funções clássicas de administrador de assinatura.

Configurar o escopo Permitido para operações de cópia (visualização)

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 para uma conta de armazenamento existente no portal do Azure, siga estas etapas:

  1. Navegue para a sua conta de armazenamento no portal do Azure.

  2. Em Definições, selecione Configuração.

  3. Defina Escopo permitido para operações de cópia (visualização) para uma das seguintes opções:

    • A partir 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 Guardar.

Próximos passos