Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo mostra-lhe como ligar-se em segurança ao ponto final de armazenamento de blobs de uma conta de armazenamento do Azure, utilizando 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 anterior, o storage_account_name é "contoso4" e o username é "contosouser." O nome de utilizador combinado torna-se "contoso4.contosouser". O ponto final do serviço Blob é "contoso4.blob.core.windows.net".
Para concluir a conexão, talvez seja necessário responder a um ou mais prompts. Por exemplo, se configurou o utilizador local com autenticação por palavra-passe, é solicitado a inserir essa palavra-passe. Você também pode ser solicitado a confiar em uma chave de host. As chaves de host válidas são publicadas aqui.
Nota
O SFTP opera sobre o ponto final Armazenamento de Blobs (blob.core.windows.net) e não sobre o ponto final Data Lake Storage (dfs.core.windows.net). Portanto, não há suporte para pontos de extremidade do Armazenamento Data Lake, como contoso4.contosouser@contoso4.dfs.core.windows.net.
Conectar-se usando um domínio personalizado
Para ligar ao ponto final do serviço Blob utilizando um domínio personalizado, use a cadeia de ligação myaccount.myuser@customdomain.com. Se não especificares o diretório home para o utilizador, usa a cadeia de ligação myaccount.mycontainer.myuser@customdomain.com.
Importante
Certifique-se de que o seu fornecedor de DNS não encaminha os pedidos através de um proxy, pois isso pode fazer com que a tentativa de ligação exceda o tempo limite.
Para saber como mapear um domínio personalizado para um ponto final do serviço Blob, consulte Mapear um domínio personalizado para um ponto final do Armazenamento de Blobs do Azure.
Ligar através de um ponto final privado
Para estabelecer ligação ao ponto final do serviço Blob através de um ponto final privado, use a cadeia de ligação myaccount.myuser@myaccount.privatelink.blob.core.windows.net. Se não especificares o diretório home para o utilizador, usa myaccount.mycontainer.myuser@myaccount.privatelink.blob.core.windows.net.
Nota
Certifique-se de que altera a configuração de rede para Ativada a partir de redes virtuais selecionadas e endereços IP, e depois selecione o seu endpoint privado. Caso contrário, o ponto final do serviço Blob permanece acessível publicamente.
Conectar-se usando o roteamento da Internet
Para estabelecer ligação ao ponto final do serviço Blob utilizando o encaminhamento pela Internet, use a cadeia de ligação myaccount.myuser@myaccount-internetrouting.blob.core.windows.net. Se não especificares o diretório home para o utilizador, usa 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.
Retomar o carregamento
A funcionalidade de carregamento retomável para o SFTP do Armazenamento de Blobs do Azure está agora disponível de forma geral. Esta funcionalidade permite retomar o carregamento de ficheiros a partir do ponto de falha em caso de falhas parciais de transferência, poupando assim tempo e reduzindo o uso da largura de banda da rede. Os seguintes modos de transferência SFTP são suportados pelo Armazenamento de Blobs do Azure SFTP:
- Gravação: esse modo permite que o cliente continue um upload adicionando dados a um arquivo existente a partir de um ponto específico sem criar um novo arquivo.
- Escrever + Criar: Este modo permite que o cliente retome um upload adicionando a um arquivo existente ou criando um novo se ele não existir, fornecendo flexibilidade quando o arquivo pode não estar presente inicialmente.
- Acrescentar: Este modo adiciona dados ao final de um arquivo existente sem substituir seu conteúdo atual. Anteriormente, esta funcionalidade só suportava o modo append durante a pré-visualização, o que limitava a retomada de upload com clientes SFTP que não suportavam o modo append. Com disponibilidade geral, o Armazenamento de Blobs do Azure SFTP suporta agora modos de escrita e escrita + criação, o que beneficia os utilizadores que utilizam clientes SFTP sem modo de anexação.
Nota
O carregamento retomável só é suportado para blobs criados com o protocolo SFTP. Não é possível retomar um carregamento para blobs existentes que foram criados com um protocolo diferente de SFTP, como REST.
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 o usuário proprietário e o grupo proprietário. Para saber mais sobre o suporte de ACL para clientes SFTP, consulte ACLs.
Nota
Os usuários proprietários agora também podem modificar o grupo proprietário e as permissões de um blob ou diretório sem permissões de contêiner. Esta melhoria de funcionalidade foi adicionada durante a fase de disponibilidade geral das ACLs para utilizadores locais. Para qualquer utilizador que não seja o proprietário, as permissões de contentor continuam a ser necessárias.
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. Depois, usa o chmod comando para definir a ACL para 777. Cada 7 é 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
Adicionar ou modificar entradas ACL para utilizadores nomeados, grupos nomeados e princípios de segurança nomeados ainda não é suportado.
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 Conceder permissões aos contentores.
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 comando chown para definir o ID do utilizador proprietário para 1234 e imprime a alteração na consola.
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 comando chgrp para definir a ID do grupo proprietário para 5678 e imprime a alteração na consola.
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