As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configure o armazenamento para uso com AWS Transfer Family servidores
Este tópico descreve as opções de armazenamento com as quais você pode usar AWS Transfer Family. Você pode usar o Amazon S3 ou o Amazon EFS como armazenamento para seus servidores da família Transfer.
Sumário
Configurar um bucket do Amazon S3
AWS Transfer Family acessa seu bucket do Amazon S3 para atender às solicitações de transferência de seus usuários, então você precisa fornecer um bucket do Amazon S3 como parte da configuração do seu servidor habilitado para o protocolo de transferência de arquivos. Você pode usar um bucket existente ou criar um novo.
nota
Você não precisa usar um servidor e o bucket do Amazon S3 que estão na mesma região da AWS , mas essa é uma prática recomendada.
Ao configurar seus usuários, você atribui um perfil do IAM a cada um. Essa função determina o nível de acesso que eles têm no bucket do Amazon S3.
Para obter mais informações sobre como criar um novo bucket, consulte Como criar um bucket S3?, no Guia do usuário do Amazon Simple Storage Service.
nota
Você pode usar o bloqueio de objetos do Amazon S3 para evitar que um objeto seja excluído ou substituído por um período fixo ou indefinidamente. Isso funciona da mesma forma com o Transfer Family e com outros serviços. Se um objeto existe e está protegido, não é permitido gravar nesse arquivo nem excluí-lo. Para obter mais detalhes sobre o bloqueio de objetos do Amazon S3, consulte Usar o bloqueio de objetos do Amazon S3 no Guia do usuário do Amazon Simple Storage Service.
Pontos de acesso Amazon S3
AWS Transfer Family oferece suporte aos pontos de acesso Amazon S3
Por exemplo, você pode usar pontos de acesso para permitir que três equipes diferentes tenham acesso ao mesmo conjunto de dados compartilhado, em que uma equipe pode ler dados do S3, uma segunda equipe pode gravar dados no S3 e a terceira equipe pode ler, gravar e excluir dados do S3. Para implementar um controle de acesso granular, conforme mencionado acima, você pode criar um ponto de acesso S3 que contenha uma política que dê acesso assimétrico a diferentes equipes. Você pode usar pontos de acesso do S3 com seu servidor do Transfer Family para obter um controle de acesso refinado, sem criar uma política complexa de bucket do S3 que abranja centenas de casos de uso. Para saber mais sobre como usar pontos de acesso S3 com um servidor Transfer Family, consulte a publicação do blog
nota
AWS Transfer Family atualmente não oferece suporte aos pontos de Multi-Region acesso Amazon S3.
Comportamento do Amazon S3 HeadObject
nota
Ao criar ou atualizar um servidor da família Transfer, você pode otimizar o desempenho de seus diretórios do Amazon S3, o que elimina HeadObject as chamadas.
Nos buckets e objetos do Amazon S3 estão os recursos primários e os objetos são armazenados em buckets. O Amazon S3 pode imitar um sistema de arquivos hierárquico, mas às vezes pode se comportar de modo diferente de um sistema de arquivos típico. Por exemplo, diretórios não são um conceito de primeira classe no Amazon S3, mas sim baseados em chaves de objeto. AWS Transfer Family
infere um caminho de diretório dividindo a chave de um objeto pelo caractere de barra (/), tratando o último elemento como o nome do arquivo e agrupando nomes de arquivos que têm o mesmo prefixo no mesmo caminho. Zero-byte objetos são criados para representar o caminho de uma pasta quando você cria um diretório vazio usando mkdir ou usando o console do Amazon S3. A chave para esses objetos termina em uma barra lateral. Esses objetos de zero bytes são descritos em Organização de objetos no console do Amazon S3 usando pastas no Guia do usuário do Amazon S3.
Quando você executa um ls comando e alguns resultados são objetos de zero byte do Amazon S3 (esses objetos têm chaves que terminam com o caractere de barra invertida), a Transfer Family emite uma HeadObject solicitação para cada um desses objetos (consulte HeadObject a Referência de API do Amazon Simple Storage Service para obter detalhes). Isso pode resultar nos seguintes problemas ao usar o Amazon S3 como seu armazenamento com o Transfer Family.
Conceder a capacidade de somente gravar e listar arquivos
Em alguns casos, talvez você queira oferecer somente acesso de gravação aos seus objetos do Amazon S3. Por exemplo, talvez você queira fornecer acesso para gravar (ou fazer upload) e listar objetos em um bucket, mas não para ler (baixar) objetos. Para executar ls e mkdir comandar usando clientes de transferência de arquivos, você deve ter o Amazon S3 ListObjects e PutObject as permissões. No entanto, quando a Transfer Family precisa fazer uma HeadObject chamada para gravar ou listar arquivos, a chamada falha com um erro de Acesso negado, porque essa chamada exige a GetObject permissão.
nota
Ao criar ou atualizar um servidor da família Transfer, você pode otimizar o desempenho de seus diretórios do Amazon S3, o que elimina HeadObject as chamadas.
Nesse caso, você pode conceder acesso adicionando uma condição de política AWS Identity and Access Management (IAM) que adiciona a GetObject permissão somente para objetos que terminam em uma barra (/). Essa condição impede GetObject chamadas em arquivos (para que eles não possam ser lidos), mas permite que o usuário liste e percorra pastas. O exemplo de política a seguir oferece somente acesso de gravação e lista aos seus buckets do Amazon S3. Para usar essa política, substitua pelo nome do seu bucket.amzn-s3-demo-bucket
nota
Para abordar o comportamento de upload do WinSCP, certifique-se de adicionar a "arn:aws:s3:::amzn-s3-demo-bucket/*.filepart" linha conforme listado no exemplo de política a seguir. Essa linha garante o manuseio adequado dos objetos.filepart para evitar falhas.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowListing", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket" }, { "Sid": "AllowReadWrite", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Sid": "DenyIfNotFolder", "Effect": "Deny", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "NotResource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*/", "arn:aws:s3:::amzn-s3-demo-bucket/*.filepart" ] } ] }
nota
Essa política não permite o acesso dos usuários a arquivos. Em outras palavras, um usuário designado a essa política não pode abrir arquivos para adicionar conteúdo a eles ou modificá-los. Além disso, se seu caso de uso exigir uma chamada do HeadObject antes de fazer o upload de um arquivo, essa política não funcionará para você.
Grande número de objetos de zero byte causando problemas de latência
Se seus buckets do Amazon S3 contiverem um grande número desses objetos de zero byte, a Transfer Family emitirá muitas HeadObject chamadas, o que pode resultar em atrasos no processamento. A solução recomendada para esse problema é ativar os diretórios otimizados para reduzir a latência.
Por exemplo, suponha que você acesse seu diretório inicial e tenha 10.000 subdiretórios. Em outras palavras, seu bucket do Amazon S3 tem 10.000 pastas. Nesse cenário, se você executar o comando ls (list), a operação de lista levará entre seis e oito minutos. No entanto, se você otimizar seus diretórios, essa operação levará apenas alguns segundos. Você define essa opção na tela Configurar detalhes adicionais durante o procedimento de criação ou atualização do servidor. Esses procedimentos são detalhados no Configurando um endpoint de servidor SFTP, FTPS ou FTP tópico.
nota
Clientes de GUI podem emitir um ls comando fora do seu controle, por isso é importante habilitar essa configuração, se possível.
Se você não otimiza ou não consegue otimizar seus diretórios, uma solução alternativa para esse problema é excluir todos os seus objetos de zero byte. Observe o seguinte:
-
Os diretórios vazios não existirão mais. Os diretórios só existem porque seus nomes estão na chave de um objeto.
-
Não impede que alguém ligue para
mkdire quebre tudo de novo. Você pode mitigar isso criando uma política que impeça a criação de diretórios. -
Alguns cenários usam esses objetos de 0 byte. Por exemplo, você tem uma estrutura como/inboxes/customer1000e o diretório da caixa de entrada é limpo todos os dias.
Finalmente, mais uma solução possível é limitar o número de objetos visíveis por meio de uma condição de política para reduzir o número de HeadObject chamadas. Para que essa seja uma solução viável, você precisa aceitar que talvez só consiga visualizar um conjunto limitado de todos os seus subdiretórios.
Configurar um sistema de arquivos Amazon EFS
AWS Transfer Family acessa o Amazon Elastic File System (Amazon EFS) para atender às solicitações de transferência de seus usuários. Portanto, você deve fornecer um sistema de arquivos do Amazon EFS como parte da configuração do seu servidor habilitado para o protocolo de transferência de arquivos. Você pode usar um sistema de arquivo existente ou criar um novo.
Observe o seguinte:
-
Quando você usa um servidor da família Transfer e um sistema de arquivos Amazon EFS, o servidor e o sistema de arquivos devem estar no mesmo lugar Região da AWS.
-
O servidor e o sistema de arquivos não precisam estar na mesma conta. Se o servidor e o sistema de arquivos não estiverem na mesma conta, a política do sistema de arquivos deverá dar permissão explícita à função do usuário.
Para obter informações sobre como configurar várias contas, consulte Gerenciando as AWS contas em sua organização no Guia do AWS Organizations usuário.
-
Ao configurar seus usuários, você atribui um perfil do IAM a cada um. Essa função determina o nível de acesso que eles têm ao seu sistema de arquivos Amazon EFS.
-
Para obter detalhes sobre a montagem de um sistema de arquivos Amazon EFS, consulte Montagem de sistemas de arquivos Amazon EFS.
Para obter mais detalhes sobre como o Amazon EFS AWS Transfer Family e o Amazon EFS trabalham juntos, consulte Usando AWS Transfer Family para acessar arquivos em seu sistema de arquivos Amazon EFS no Guia do usuário do Amazon Elastic File System.
Propriedade do arquivo do Amazon EFS
O Amazon EFS usa o modelo de permissão de arquivo da Portable Operating System Interface (POSIX) para representar a propriedade do arquivo.
No POSIX, os usuários do sistema são categorizados em três classes de permissão distintas: Quando você permite que um usuário acesse arquivos armazenados em um sistema de arquivos Amazon EFS usando AWS Transfer Family, você deve atribuir a ele um “perfil POSIX”. Esse perfil é usado para determinar seu acesso aos arquivos e diretórios no sistema de arquivos do Amazon EFS.
-
Usuário (u): Proprietário do arquivo ou diretório. Normalmente, o criador de um arquivo ou diretório também é o proprietário.
-
Grupo (g): conjunto de usuários que precisam de acesso idêntico aos arquivos e diretórios que compartilham.
-
Outros (o): todos os outros usuários que têm acesso ao sistema, exceto o proprietário e os membros do grupo. Essa classe de permissão também é conhecida como “Pública”.
No modelo de permissão POSIX, cada objeto do sistema de arquivos (arquivos, diretórios, links simbólicos, canais nomeados e soquetes) está associado aos três conjuntos de permissões já mencionados. Os objetos do Amazon EFS têm um Unix-style modo associado a eles. Esse valor de modo define as permissões para executar ações nesse objeto.
Além disso, nos Unix-style sistemas, usuários e grupos são mapeados para identificadores numéricos, que o Amazon EFS usa para representar a propriedade do arquivo. Para Amazon EFS, os objetos são de propriedade de um único proprietário e um único grupo. O Amazon EFS utiliza esses IDs numéricos para verificar as permissões quando um usuário tenta acessar um objeto do sistema de arquivos.
Configurar usuários do Amazon EFS para Transfer Family
Antes de configurar os usuários do Amazon EFS, você pode executar uma das seguintes ações:
-
Você pode criar usuários e configurar suas pastas pessoais no Amazon EFS. Para mais detalhes, consulte Configurar usuários do Transfer Family no Amazon EFS.
-
Se você se sentir confortável em adicionar um usuário raiz, poderá Crie um usuário raiz do Amazon EFS.
nota
Os servidores do Transfer Family não oferecem suporte aos pontos de acesso do Amazon EFS para definir permissões POSIX. Os perfis POSIX dos usuários do Transfer Family (descritos na seção anterior) permitem definir permissões POSIX. Essas permissões são definidas no nível do usuário, para acesso granular, com base em UID, no GID e em GIDs secundários.
Configurar usuários do Transfer Family no Amazon EFS
Transfer Family mapeia os usuários para os diretórios UID/GID e que você especificar. Se eles ainda UID/GID/directories não existirem no EFS, você deverá criá-los antes de atribuí-los em Transferir a um usuário. As informações para criação de usuários do Amazon EFS são descritas em Working with users, groups, and permissions at the Network File System (NFS) Level (Trabalhar com usuários, grupos e permissões no nível do Network File System (NFS)) no Guia do usuário do Amazon Elastic File System.
Etapas para configurar usuários do Amazon EFS para Transfer Family
-
Mapeie o UID e o GID do EFS do seu usuário no Transfer Family usando os campos
PosixProfile. -
Se quiser que o usuário inicie em uma pasta específica após o login, especifique o diretório EFS no campo
HomeDirectory.
Você pode automatizar o processo usando uma CloudWatch regra e uma função do Lambda. Para ver um exemplo de função do Lambda que interage com o EFS, consulte Como usar o Amazon EFS AWS Lambda em seus aplicativos sem servidor.
Além disso, você pode configurar diretórios lógicos para os usuários do Transfer Family. Para obter detalhes, consulte a seção Configure diretórios lógicos para o Amazon EFS no tópico Como usar diretórios lógicos para simplificar suas estruturas de diretórios do Transfer Family.
Crie um usuário raiz do Amazon EFS
Se sua organização quiser habilitar o acesso do usuário root SFTP/FTPS por meio da configuração de seus usuários, você pode criar um usuário cujo UID e GID sejam 0 (usuário root) e, em seguida, usar esse usuário raiz para criar pastas e atribuir proprietários de ID POSIX para o restante dos usuários. A vantagem dessa opção é que não há necessidade de montar o sistema de arquivos do Amazon EFS.
Execute as etapas descritas em Adicionar usuários gerenciados por serviços do Amazon EFS e, para a ID do usuário e a ID do grupo, insira 0 (zero).
dica
Não deixe essa conta de superusuário existir por mais tempo do que o necessário. Ou, se você mantiver a conta de usuário root, certifique-se de mantê-la bem protegida.
Comandos do Amazon EFS compatíveis
Os comandos a seguir são compatíveis com Amazon EFS para AWS Transfer Family
-
cd -
ls/dir -
pwd -
put -
get -
rename -
chown: apenas raiz (ou seja, usuários com uid=0) pode alterar a propriedade e as permissões dos arquivos e diretórios. -
chmod: apenas raiz pode alterar a propriedade e as permissões dos arquivos e diretórios. -
chgrp: há suporte para raiz e para o proprietário do arquivo que só pode alterar um grupo de arquivos para ser um dos grupos secundários. -
ln -s/symlink -
mkdir -
rm/delete -
rmdir -
chmtime