Azure Blob Storage com suporte SFTP nativo (preview)

O SFTP (SSH File Transfer Protocol) é um protocolo de rede utilizado para transferência segura de arquivos de forma segura. O FTP/SFTP é um protocolo muito utilizado por diversos clientes em diversos serviços.

Até hoje a Microsoft não havia disponibilizado um serviço nativo de SFTP totalmente gerenciado pelo Azure, porém agora já temos disponível em versão prévia o recurso de SFTP nativo nos Blobs de Armazenamento do Azure.

Antes desse recurso ser lançado haviam algumas formas de implantar um serviço de SFTP no Azure utilizando contêiners e o compartilhamento de arquivos do Azure.

Introdução

O suporte SFTP para o armazenamento de Blobs do Azure agora está disponível (em versão prévia). Agora já podemos utilizar um cliente SFTP como por exemplo o WinSCP ou Putty para se conectar a uma conta de armazenamento com o recurso de SFTP habilitado.

Os recursos desta nova solução SFTP requerem uma conta de armazenamento de Uso Geral V2, também é necessário habilitar a função de Namespace Hierarquico ou HNS.

Isso permite que a coleção de objetos e arquivos em uma conta de armazenamento seja organizada em uma hierarquia de diretórios e subdiretórios aninhados da mesma forma que o sistema de arquivos é organizado em seu computador

Também podemos gerenciar os objetos utilizando usuários individuais para acessar a conta de armazenamento especificando inclusive a permissão de cada usuário.

Criando uma Conta de Armazenamento

Para criar uma conta de armazenamento e ativar o serviço de SFTP siga as etapas abaixo:

1 – No menu de busca do portal do Azure, procure por contas de armazenamento.

2 – Na página Contas de Armazenamento, selecione Criar

3 – As opções de criação de novas contas estão organizadas conforme imagem abaixo

– Nós vamos preencher levando em conta as seguintes informações
– Definir grupo de recurso que a conta de armazenamento vai ser criada
– Criar um nome único para a conta de armazenamento
– Neste exemplo vamos utilizar o desempenho Standard
– E o armazenamento com redundância Local

4 – Na guia avançado podemos definir e modificar as configurações padrão para a conta de armazenamento.

* Seguindo o pre-requisito do recurso de SFTP, vamos habilitar as seguintes opções:

* O restante das configurações podem ser mantidas com os valores padrão.

OBS: Existem muitas outras opções que podem ser alteradas para a criação de uma conta de armazenamento, porém para este exemplo, somente vamos alterar as opções conforme as imagens.

Após a conta de armazenamento criada, podemos observar que as opções de Namespace Hierarquico e SFTP estão habilitadas.

Criando um contêiner

O próximo passo, temos que criar um contêiner para armazenar e organizar o nosso sistema de arquivos.

1 – No painel da conta de armazenamento, que acabamos de criar, role a página até a seção Armazenamento de dados e selecione Contêineres.

2 – Selecione o botão +Contêiner

3 – No painel Novo Contêire, defina um nome para o seu contêiner. Escolha um Nível de acesso para o contêiner, no caso deste contêiner vou manter o nível de acesso como privado.

4 – Ao selecionar Criar o seu contêiner será criado.

Modelo de permissões SFTP

O armazenamento de Blobs do Azure não possui suporte a autenticação do Azure AD por SFTP.

Portanto o SFTP utiliza uma nova forma de gerenciamento de identidade chamada usuários locais.

Podemos utilizar dois formatos de autenticação para os usuários que utilizam o SFTP.
1 – Senha
2 – Pares de chaves SSH

CUIDADO
Os usuários locais não interoperam com outros modelos de permissão de armazenamento, como por exemplo RBAC, ABAC e ACLs.

Criando usuários locais e atribuindo permissões ao contêiner

Agora vamos finalmente criar os usuários locais e definir as permissões pertinentes para cada usuário.

1 – No painel de contas de armazenamento, role a página até a sessão de Configurações e clique na opção SFTP (versão prévia)

2 – Clique em Adicionar usuário local

3 – No painel Adicionar usuário local na aba Nome de usuário + Autenticação, informe no nome do usuário e escolha qual método de autenticação será utilizado

4 – Na aba Permissões de contêiner escolha o Contêiner e as permissões que serão atribuidas.

5 – Após criar o usuário, se você assim como eu optou por acesso via senha, uma janela com a senha gerada automaticamente é apresentada

6 – Se tudo estiver correto você verá o seu usuário conforme a imagem abaixo

Conectando no Contêiner via SFTP

O último passo esta justamente na conexão via SFTP no nosso Contêiner.

Aqui podemos utilizar diversos aplicativos, como por exemplo FileZilla, WinSCP, Putty, etc.

No meu exemplo vou utilizar sftp nativo do Windows 11.

1 – Para conectar no Contêiner via SFTP vou utilizar a Cadeia de conexão que o Azure fornece.

2 – Agora já podemos realizar upload ou downloads a partir do protocolo SFTP

3 – Para confirmar que a minha imagem realmente foi gravada no contêiner, basta localizar a opção Contêiner na aba lateral da Conta de Armazenamento

4 – Clique no contêiner que criamos anteriormente, os arquivos que foram enviados via SFTP devem ser listados conforme imagem abaixo

Pronto desta forma já podemos utilizar nosso Armazenamento de Blobs no Azure utilizando o protocolo SFTP nativamente!!!

Se você quiser ver com mais detalhes como esse recurso funciona, eu gravei um vídeo que mostra todo o passo a passo de configuração deste recurso.

Que a força esteja com você!!!

Share

    Deixe um comentário

    O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

    © 2019 All Rights Reserved. Cooperati.