Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
As identidades gerenciadas fornecem uma maneira segura e conveniente de autorizar operações do AzCopy sem armazenar credenciais ou gerenciar tokens SAS. Esse método de autenticação é particularmente valioso para scripts automatizados, pipelines de CI/CD e aplicativos em execução em Máquinas Virtuais do Azure ou em outros serviços do Azure.
Este artigo mostra como configurar o AzCopy para usar identidades gerenciadas atribuídas pelo sistema ou atribuídas pelo usuário. Você pode autorizar o acesso por meio de variáveis de ambiente, o comando de logon do AzCopy ou aproveitando as sessões existentes da CLI do Azure ou do Azure PowerShell.
Para obter mais informações sobre outras maneiras de autorizar o acesso ao AzCopy, consulte Authorize AzCopy.
Verificar atribuições de função
Verifique se sua identidade gerenciada tem a função necessária do Azure para suas operações pretendidas:
Quanto às operações de download, use o Leitor de Dados de Blobs do Armazenamento (Armazenamento de Blobs) ou o Leitor de Dados Privilegiado de Arquivo do Armazenamento (Arquivos do Azure).
Quanto às operações de upload, use Colaborador de Dados de Blob de Armazenamento ou Proprietário de Dados de Blob de Armazenamento (Armazenamento de Blob) ou Colaborador Privilegiado de Dados de Arquivo de Armazenamento (Arquivos do Azure).
Para obter instruções de atribuição de função, consulte Atribuir uma função do Azure para acesso aos dados de blob (Armazenamento de Blobs) ou escolha como autorizar o acesso a dados de arquivo no portal do Azure (Arquivos do Azure).
Observação
As atribuições de função podem levar até cinco minutos para serem propagadas.
Se você estiver transferindo blobs em uma conta que tenha um namespace hierárquico, não será necessário atribuir uma dessas funções ao seu principal de segurança se você adicionar o seu principal de segurança na lista de controle de acesso (ACL) do contêiner ou diretório de destino. Na ACL, sua entidade de segurança precisa de permissão de gravação no diretório de destino e permissão de execução no contêiner e em cada diretório pai. Para saber mais, consulte Modelo de controle de acesso no Azure Data Lake Storage.
Autorizar usando variáveis de ambiente
Para autorizar o acesso, defina variáveis de ambiente na memória. Em seguida, execute qualquer comando AzCopy. O AzCopy recupera o token de autenticação necessário para concluir a operação. Após a conclusão da operação, o token desaparece da memória.
O AzCopy recupera o token OAuth usando as credenciais que você fornece. Como alternativa, o AzCopy pode usar o token OAuth de uma sessão ativa da CLI do Azure ou do Azure PowerShell.
Essa opção é excelente se você planeja usar o AzCopy dentro de um script que é executado sem interação do usuário e o script é executado de uma VM (Máquina Virtual) do Azure. Ao usar essa opção, você não precisa armazenar credenciais na VM.
Você pode entrar em sua conta usando uma identidade gerenciada em todo o sistema habilitada na VM ou usando a ID do cliente, a ID do objeto ou a ID do recurso de uma identidade gerenciada atribuída pelo usuário que você atribui à sua VM.
Para saber mais sobre como habilitar uma identidade gerenciada em todo o sistema ou criar uma identidade gerenciada atribuída pelo usuário, consulte Configurar identidades gerenciadas para recursos do Azure em uma VM usando o portal do Azure.
Autorizar usando uma identidade gerenciada em todo o sistema
Primeiro, habilite uma identidade gerenciada em todo o sistema em sua VM. Para obter mais informações, consulte a identidade gerenciada atribuída pelo sistema.
Digite o comando a seguir e pressione ENTER.
Em seguida, execute qualquer comando azcopy. Por exemplo: azcopy list https://contoso.blob.core.windows.net.
Autorizar usando uma identidade gerenciada atribuída pelo usuário
Primeiro, habilite uma identidade gerenciada atribuída pelo usuário em sua VM. Para obter mais informações, consulte a identidade gerenciada atribuída pelo usuário.
Digite o comando a seguir e pressione ENTER.
Em seguida, defina variáveis de ambiente para a ID do cliente, a ID do objeto ou a ID do recurso da identidade gerenciada atribuída pelo usuário.
Usar uma identificação de cliente
Para autorizar usando uma ID do cliente, digite o comando a seguir e pressione ENTER.
Substitua o espaço reservado <client-id> pela ID do cliente da identidade gerenciada atribuída pelo usuário.
Você pode encontrar a ID do cliente no portal do Azure exibindo as propriedades da identidade gerenciada. A captura de tela a seguir mostra a localização da propriedade de ID do cliente.
Use um identificador de objeto
Para autorizar usando uma ID de objeto, digite o comando a seguir e pressione ENTER.
Substitua o espaço reservado <object-id> pela ID do objeto da identidade gerenciada atribuída pelo usuário.
Você pode encontrar a ID do objeto no portal do Azure exibindo as propriedades da identidade gerenciada. A captura de tela a seguir mostra o local da ID do objeto (também chamada de ID principal).
Usar um identificador de recurso
Para autorizar usando uma ID de recurso, digite o comando a seguir e pressione ENTER.
Substitua o espaço reservado <resource-id> pela ID do recurso da identidade gerenciada atribuída pelo usuário.
Você pode encontrar a ID do recurso no portal do Azure exibindo as propriedades da identidade gerenciada. A captura de tela a seguir mostra a localização da propriedade ID do recurso.
Autorizar usando o comando de logon de autenticação do AzCopy
Em vez de usar variáveis na memória, autorize o acesso usando o azcopy login comando.
O comando de logon do AzCopy recupera um token OAuth e, em seguida, coloca esse token em um repositório secreto no seu sistema. Se o sistema operacional não tiver um repositório secreto, como um keyring do Linux, o comando de logon de autenticação do azcopy não funcionará porque não há lugar para colocar o token.
Autorizar com uma identidade gerenciada em todo o sistema
Primeiro, habilite uma identidade gerenciada em todo o sistema em sua VM. Para obter mais informações, consulte a identidade gerenciada atribuída pelo sistema.
Em seguida, no console de comando, digite o comando a seguir e pressione a tecla ENTER.
azcopy login --identity
Autorizar com uma identidade gerenciada atribuída pelo usuário
Primeiro, habilite uma identidade gerenciada atribuída pelo usuário em sua VM. Para obter mais informações, consulte a identidade gerenciada atribuída pelo usuário. Em seguida, entre usando a ID do cliente, a ID do objeto ou a ID do recurso da identidade gerenciada atribuída pelo usuário.
Entrar usando uma ID do cliente
Digite o comando a seguir e pressione ENTER.
azcopy login --identity --identity-client-id "<client-id>"
Substitua o espaço reservado <client-id> pela ID do cliente da identidade gerenciada atribuída pelo usuário.
Você pode encontrar a ID do cliente no portal do Azure exibindo as propriedades da identidade gerenciada. A captura de tela a seguir mostra a localização da propriedade de ID do cliente.
Entre usando uma ID de objeto
Digite o comando a seguir e pressione ENTER.
azcopy login --identity --identity-object-id "<object-id>"
Substitua o espaço reservado <object-id> pela ID do objeto da identidade gerenciada atribuída pelo usuário.
Você pode encontrar a ID do objeto no portal do Azure exibindo as propriedades da identidade gerenciada. A captura de tela a seguir mostra o local da ID do objeto (também chamada de ID principal).
Entre usando uma ID de recurso
Digite o comando a seguir e pressione ENTER.
azcopy login --identity --identity-resource-id "<resource-id>"
Substitua o espaço reservado <resource-id> pela ID do recurso da identidade gerenciada atribuída pelo usuário.
Você pode encontrar a ID do recurso no portal do Azure exibindo as propriedades da identidade gerenciada. A captura de tela a seguir mostra a localização da propriedade ID do recurso.
Autorizar com a CLI do Azure
Quando você entra usando a CLI do Azure, a CLI do Azure obtém um token OAuth que o AzCopy usa para autorizar operações.
Para habilitar o AzCopy a usar esse token, digite o comando a seguir e pressione a tecla ENTER .
Para obter mais informações sobre como entrar usando a CLI do Azure, consulte Entrar no Azure com uma identidade gerenciada usando a CLI do Azure.
Autorizar com o Azure PowerShell
Se você entrar usando o Azure PowerShell, o Azure PowerShell obterá um token OAuth que o AzCopy pode usar para autorizar operações.
Para habilitar o AzCopy a usar esse token, digite o comando a seguir e pressione a tecla ENTER .
$Env:AZCOPY_AUTO_LOGIN_TYPE="PSCRED"
$Env:AZCOPY_TENANT_ID="<tenant-id>"
Para obter mais informações sobre como entrar usando o Azure PowerShell, consulte Logon com uma identidade gerenciada.
Próximas etapas
Para obter mais informações sobre o AzCopy, consulte Introdução ao AzCopy.
Se você tiver dúvidas, encontrar problemas ou tiver comentários gerais, envie-os no GitHub.