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á.
Configurar o armazenamento para uso com AWS Transfer Family servidores
Este tópico descreve as opções de armazenamento que você pode usar com AWS Transfer Family. Você pode usar o Amazon S3 ou o Amazon EFS como armazenamento para seus servidores Transfer Family.
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 do 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 os pontos de acesso do S3 com um servidor Transfer Family, consulte a postagem do blog Enhance data access control with AWS Transfer Family an Amazon
nota
AWS Transfer Family atualmente não oferece suporte aos pontos de acesso multirregionais do Amazon S3.
Comportamento do Amazon S3 HeadObject
nota
Ao criar ou atualizar um servidor Transfer Family, você pode otimizar o desempenho dos diretórios do Amazon S3, o que elimina chamadas. HeadObject
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, os diretórios não são um conceito de primeira classe no Amazon S3, mas são baseados em chaves de objeto. O 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 os nomes dos arquivos que têm o mesmo prefixo no mesmo caminho. Objetos de zero byte 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 bytes do Amazon S3 (esses objetos têm chaves que terminam na barra), o Transfer Family HeadObject emite uma solicitação para cada um desses objetos (consulte a Referência da API HeadObjectdo 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 escrever (ou fazer upload) e listar objetos em um bucket, mas não para ler (baixar) objetos. Para executar ls mkdir comandos 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, pois essa chamada requer a GetObject permissão.
nota
Ao criar ou atualizar um servidor Transfer Family, você pode otimizar o desempenho dos diretórios do Amazon S3, o que elimina chamadas. HeadObject
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 bytes, o Transfer Family emitirá muitas chamadas, o que pode resultar em HeadObject atrasos no processamento. A solução recomendada para esse problema é permitir que os diretórios otimizados reduzam 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
Os clientes da GUI podem emitir um ls comando fora do seu controle, portanto, é 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 objetos de zero bytes. 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/customer1000 e o diretório da caixa de entrada é limpo todos os dias.
Por fim, 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 Transfer Family e um sistema de arquivos Amazon EFS, o servidor e o sistema de arquivos devem estar no mesmo 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 Uso 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 modo de estilo Unix associado a eles. Esse valor de modo define as permissões para executar ações nesse objeto.
Além disso, em sistemas no estilo Unix, os 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 usa o numérico mapeado IDs 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, GID e secundário. GIDs
Configurar usuários do Transfer Family no Amazon EFS
Transfer Family mapeia os usuários para os diretórios UID/GID e diretórios que você especificar. Se ainda UID/GID/directories não existirem no EFS, você deverá criá-los antes de atribuí-los em Transferir para 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 Lambda. Para ver um exemplo da função Lambda que interage com o EFS, consulte Como usar o Amazon EFS AWS Lambda em seus aplicativos
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 que você habilite o acesso do usuário root SFTP/FTPS por meio da configuração de seus usuários, você pode criar um usuário com UID e GID 0 (usuário raiz) 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