Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As identidades gerenciadas fornecem uma maneira segura e conveniente de autorizar operações 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 executados em Máquinas Virtuais do Azure ou outros serviços do Azure.
Este artigo mostra como configurar o AzCopy para usar identidades gerenciadas atribuídas pelo sistema ou pelo usuário. Pode autorizar o acesso através de variáveis de ambiente, do comando de login AzCopy ou aproveitando sessões existentes de Azure CLI ou Azure PowerShell.
Para mais informações sobre outras formas de autorizar o acesso ao AzCopy, consulte Autorizar o AzCopy.
Verificar atribuições de função
Verifique se sua identidade gerenciada tem a função do Azure necessária para as operações pretendidas:
Para operações de download, use Storage Blob Data Reader (Blob Storage) ou Storage File Data Privileged Reader (Azure Files).
Para operações de upload, utilize Storage Blob Data Contributor ou Storage Blob Data Owner (Blob Storage) ou Storage File Data Privileged Contributor (Azure Files).
Para obter instruções de atribuição de função, consulte Atribuir uma função do Azure para acesso a dados de blob (Armazenamento de Blob) ou Escolher 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 precisará atribuir uma dessas funções à entidade de segurança se adicionar a entidade de segurança à lista de controle de acesso (ACL) do contêiner ou diretório de destino. Na ACL, o seu principal de segurança precisa de permissão de gravação no diretório de destino e permissão de execução no container e em cada diretório pai. Para saber mais, consulte Modelo de controle de acesso no Armazenamento do Azure Data Lake.
Autorizar utilizando variáveis de ambiente
Para autorizar o acesso, defina variáveis de ambiente na memória. Em seguida, execute qualquer comando AzCopy. 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.
AzCopy recupera o token OAuth usando as credenciais que você fornece. Como alternativa, o AzCopy pode usar o token OAuth de uma CLI ativa do Azure ou sessão do Azure PowerShell.
Essa opção é ótima se você planeja usar o AzCopy dentro de um script que é executado sem interação do usuário e o script é executado a partir de uma máquina virtual (VM) do Azure. Quando usas esta opção, não precisas de guardar quaisquer credenciais na VM.
Você pode entrar em sua conta usando uma identidade gerenciada em todo o sistema habilitada em sua 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, certifique-se de habilitar uma identidade gerenciada em todo o sistema em sua VM. Para obter mais informações, consulte Identidade gerenciada atribuída ao sistema.
Digite o seguinte comando e pressione ENTER.
Depois, executa qualquer comando azcopy. Por exemplo: azcopy list https://contoso.blob.core.windows.net.
Autorizar usando uma identidade gerenciada atribuída pelo usuário
Primeiro, certifique-se de habilitar uma identidade gerenciada atribuída pelo usuário em sua VM. Para obter mais informações, consulte Identidade gerenciada atribuída pelo usuário.
Digite o seguinte comando e pressione ENTER.
Em seguida, defina variáveis de ambiente para o ID do cliente, ID do objeto ou ID do recurso da identidade gerenciada atribuída pelo usuário.
Usar uma identificação de cliente
Para autorizar usando um ID de cliente, escreva o comando seguinte e depois pressione ENTER.
Substitua o marcador <client-id> pelo ID de cliente da identidade gerida atribuída pelo utilizador.
Você pode encontrar a ID do cliente no portal do Azure exibindo as propriedades da identidade gerenciada. A captura de ecrã que se segue mostra a localização da propriedade ID do cliente.
Usar um identificador de objeto
Para autorizar usando um ID de objeto, escreva o comando seguinte e depois pressione ENTER.
Substitua o espaço reservado <object-id> pelo 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 ID de recurso
Para autorizar usando um ID de recurso, escreva o comando seguinte e depois pressione ENTER.
Substitua o marcador de posição <resource-id> pelo identificador do recurso da identidade gerida atribuída pelo utilizador.
Você pode encontrar a ID do recurso no portal do Azure exibindo as propriedades da identidade gerenciada. A captura de ecrã a seguir mostra a localização da propriedade ID do recurso.
Autorizar utilizando o comando de autenticação de login do AzCopy
Em vez de usar variáveis em memória, autorize o acesso usando o azcopy login comando.
O comando azcopy login recupera um token OAuth e, em seguida, coloca esse token em um armazenamento secreto em seu sistema. Se o seu sistema operacional não tiver um armazenamento secreto, como um chaveiro Linux, o comando azcopy authentication login não funcionará porque não há onde colocar o token.
Autorizar com uma identidade gerenciada em todo o sistema
Primeiro, certifique-se de habilitar uma identidade gerenciada em todo o sistema em sua VM. Para obter mais informações, consulte Identidade gerenciada atribuída ao sistema.
Em seguida, na consola de comandos, escreva o seguinte comando e, em seguida, prima a tecla ENTER.
azcopy login --identity
Autorizar com uma identidade gerenciada atribuída pelo usuário
Primeiro, certifique-se de habilitar uma identidade gerenciada atribuída pelo usuário em sua VM. Para obter mais informações, consulte 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.
Iniciar sessão utilizando um ID de cliente
Digite o seguinte comando e pressione ENTER.
azcopy login --identity --identity-client-id "<client-id>"
Substitua o marcador <client-id> pelo ID de cliente da identidade gerida atribuída pelo utilizador.
Você pode encontrar a ID do cliente no portal do Azure exibindo as propriedades da identidade gerenciada. A captura de ecrã que se segue mostra a localização da propriedade ID do cliente.
Entrar usando uma ID de objeto
Digite o seguinte comando e pressione ENTER.
azcopy login --identity --identity-object-id "<object-id>"
Substitua o espaço reservado <object-id> pelo 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).
Iniciar sessão utilizando um ID de recurso
Digite o seguinte comando e pressione ENTER.
azcopy login --identity --identity-resource-id "<resource-id>"
Substitua o marcador de posição <resource-id> pelo identificador do recurso da identidade gerida atribuída pelo utilizador.
Você pode encontrar a ID do recurso no portal do Azure exibindo as propriedades da identidade gerenciada. A captura de ecrã 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 permitir que o AzCopy use esse token, escreva o seguinte comando e depois pressione a tecla ENTER .
Para mais informações sobre como iniciar sessão usando o Azure CLI, consulte Iniciar sessão no Azure com uma identidade gerida usando Azure CLI.
Autorizar com o Azure PowerShell
Se iniciar sessão usando o Azure PowerShell, o Azure PowerShell obtém um token OAuth que o AzCopy pode usar para autorizar operações.
Para permitir que o AzCopy use esse token, escreva o seguinte comando e depois pressione a tecla ENTER .
$Env:AZCOPY_AUTO_LOGIN_TYPE="PSCRED"
$Env:AZCOPY_TENANT_ID="<tenant-id>"
Para mais informações sobre como iniciar sessão usando Azure PowerShell, consulte Iniciar sessão com uma identidade gerida.
Próximos passos
Para obter mais informações sobre o AzCopy, consulte Introdução ao AzCopy.
Se tiver perguntas, encontrar problemas ou receber feedback geral, submeta no GitHub.