Conectar-se ao Armazenamento de Blobs do Azure usando o Protocolo de Transferência de Arquivos SSH (SFTP)
Este artigo mostra como se conectar com segurança ao ponto de extremidade de Armazenamento de Blob de uma conta de Armazenamento do Azure usando um cliente SFTP. Depois de se conectar, você pode carregar e baixar arquivos, bem como modificar listas de controle de acesso (ACLs) em arquivos e pastas.
Para saber mais sobre o suporte SFTP para o Armazenamento de Blobs do Azure, consulte Protocolo de Transferência de Arquivos SSH (SFTP) no Armazenamento de Blobs do Azure.
Pré-requisitos
Habilite o suporte a SFTP para o Armazenamento de Blobs do Azure. Consulte Ativar ou desativar o suporte a SFTP.
Autorize o acesso a clientes SFTP. Consulte Autorizar acesso a clientes.
Se você estiver se conectando a partir de uma rede local, certifique-se de que seu cliente permita a comunicação de saída através da porta 22 usada pelo SFTP.
Conectar um cliente SFTP
Você pode usar qualquer cliente SFTP para se conectar com segurança e, em seguida, transferir arquivos. O exemplo a seguir mostra uma sessão do Windows PowerShell que usa Open SSH.
PS C:\Users\temp> sftp contoso4.contosouser@contoso4.blob.core.windows.net
O nome de usuário SFTP é storage_account_name
.username
. No exemplo acima, o storage_account_name
é "contoso4" e o username
é "contosouser". O nome de usuário combinado torna-se "contoso4.contosouser". O ponto de extremidade do serviço de blob é "contoso4.blob.core.windows.net".
Para concluir a conexão, talvez seja necessário responder a um ou mais prompts. Por exemplo, se você configurou o usuário local com autenticação de senha, então você será solicitado a inserir essa senha. Você também pode ser solicitado a confiar em uma chave de host. As chaves de host válidas são publicadas aqui.
Conectar-se usando um domínio personalizado
Se você quiser se conectar ao ponto de extremidade do serviço de blob usando um domínio personalizado, a cadeia de conexão será myaccount.myuser@customdomain.com
. Se o diretório base não for especificado para o usuário, a cadeia de conexão será myaccount.mycontainer.myuser@customdomain.com
.
Importante
Certifique-se de que seu provedor de DNS não faça solicitações de proxy, pois isso pode fazer com que a tentativa de conexão atinja o tempo limite.
Para saber como mapear um domínio personalizado para um ponto de extremidade de serviço de blob, consulte Mapear um domínio personalizado para um ponto de extremidade do Armazenamento de Blob do Azure.
Conectar-se usando um ponto de extremidade privado
Se você quiser se conectar ao ponto de extremidade do serviço de blob usando um ponto de extremidade privado, a cadeia de conexão será myaccount.myuser@myaccount.privatelink.blob.core.windows.net
. Se o diretório base não estiver especificado para o usuário, então é myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net
.
Nota
Certifique-se de alterar a configuração de rede para "Ativado a partir de redes virtuais e endereços IP selecionados" e, em seguida, selecione seu ponto de extremidade privado. Caso contrário, o ponto de extremidade do serviço de blob ainda estará acessível publicamente.
Conectar-se usando o roteamento da Internet
Se você quiser se conectar ao ponto de extremidade do serviço de blob usando o roteamento da Internet, a cadeia de conexão é myaccount.myuser@myaccount-internetrouting.blob.core.windows.net
. Se o diretório base não estiver especificado para o usuário, então é myaccount.mycontainer.myuser@myaccount-internetrouting.blob.core.windows.net
.
Transferir dados
Depois de se conectar, você pode carregar e baixar arquivos. O exemplo a seguir carrega um arquivo nomeado logfile.txt
usando uma sessão Open SSH ativa.
sftp> put logfile.txt
Uploading logfile.txt to /mydirectory/logfile.txt
logfile.txt
100% 19 0.2kb/S 00.00
Após a conclusão da transferência, você poderá exibir e gerenciar o arquivo no portal do Azure.
Nota
O portal do Azure usa a API REST do Blob e a API REST do Armazenamento Data Lake. Ser capaz de interagir com um arquivo carregado no portal do Azure demonstra a interoperabilidade entre SFTP e REST.
Consulte a documentação do seu cliente SFTP para obter orientação sobre como conectar e transferir arquivos.
Modificar a ACL de um arquivo ou diretório
Você pode modificar o nível de permissão do usuário proprietário, do grupo proprietário e de todos os outros usuários de uma ACL usando um cliente SFTP. Você também pode alterar a ID do usuário proprietário e do grupo proprietário. Para saber mais sobre o suporte de ACL para clientes SFTP, consulte ACLs.
Modificar permissões
Para alterar o nível de permissão do usuário proprietário, do grupo proprietário ou de todos os outros usuários de uma ACL, o usuário local deve ter Modify Permission
permissão. Consulte Dar permissão a contêineres.
O exemplo a seguir imprime a ACL de um diretório no console. Em seguida, usa o chmod
comando para definir a ACL como 777
. Cada 7
um é a forma numérica de rwx
(ler, escrever e executar). Assim, 777
dá permissão de leitura, escrita e execução para o usuário proprietário, grupo proprietário e todos os outros usuários. Este exemplo imprime a ACL atualizada no console. Para saber mais sobre formas numéricas e curtas de uma ACL, consulte Formulários curtos para permissões.
sftp> ls -l
drwxr-x--- 1234 5678 0 Mon, 08 Jan 2024 16:53:25 GMT dir1
drwxr-x--- 0 0 0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chmod 777 dir1
Changing mode on /dir1
sftp> ls -l
drwxrwxrwx 1234 5678 0 Mon, 08 Jan 2024 16:54:06 GMT dir1
drwxr-x--- 0 0 0 Mon, 16 Oct 2023 12:18:08 GMT dir2
Nota
Ainda não há suporte para adicionar ou modificar entradas ACL para usuários nomeados, grupos nomeados e entidades de segurança nomeadas.
Alterar o usuário proprietário
Para alterar o usuário proprietário de um diretório ou blob, o usuário local deve ter Modify Ownership
permissão. Consulte Dar permissão a contêineres.
O exemplo a seguir imprime a ACL de um diretório no console. O ID do usuário proprietário é 0
. Este exemplo usa o chown
comando para definir a ID do usuário proprietário e imprime a alteração no 1234
console.
sftp> ls -l
drwxr-x--- 0 0 0 Mon, 08 Jan 2024 16:00:12 GMT dir1
drwxr-x--- 0 0 0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chown 1234 dir1
Changing owner on /dir1
sftp> ls -l
drwxr-x--- 1234 0 0 Mon, 08 Jan 2024 16:52:52 GMT dir1
drwxr-x--- 0 0 0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp>
Alterar o grupo proprietário
Para alterar o grupo proprietário de um diretório ou blob, o usuário local deve ter Modify Ownership
permissão. Consulte Dar permissão a contêineres.
O exemplo a seguir imprime a ACL de um diretório no console. O ID do grupo proprietário é 0
. Este exemplo usa o chgrp
comando para definir a ID do grupo proprietário e imprime a alteração no 5678
console.
sftp> ls -l
drwxr-x--- 1234 0 0 Mon, 08 Jan 2024 16:52:52 GMT dir1
drwxr-x--- 0 0 0 Mon, 16 Oct 2023 12:18:08 GMT dir2
sftp> chgrp 5678 dir1
Changing group on /dir1
sftp> ls -l
drwxr-x--- 1234 5678 0 Mon, 08 Jan 2024 16:53:25 GMT dir1
drwxr-x--- 0 0 0 Mon, 16 Oct 2023 12:18:08 GMT dir2
Conteúdos relacionados
- Suporte do SSH File Transfer Protocol (SFTP) para o Armazenamento de Blobs do Azure
- Habilitar ou desabilitar o suporte ao SSH File Transfer Protocol (SFTP) no Armazenamento de Blobs do Azure
- Autorizar o acesso ao Armazenamento de Blobs do Azure a partir de um cliente SFTP (SSH File Transfer Protocol)
- Limitações e problemas conhecidos com o suporte do SSH File Transfer Protocol (SFTP) para o Armazenamento de Blobs do Azure
- Chaves de host para suporte do SSH File Transfer Protocol (SFTP) para o Armazenamento de Blobs do Azure
- Considerações de desempenho do SSH File Transfer Protocol (SFTP) no armazenamento de Blob do Azure