Trabalhar com pontos de acesso do Amazon EFS - Amazon Elastic File System

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á.

Trabalhar com pontos de acesso do Amazon EFS

Os pontos de acesso do Amazon EFS são pontos de entrada específicos da aplicação para um sistema de arquivos do EFS que facilitam o gerenciamento do acesso de aplicações a conjuntos de dados compartilhados. Os pontos de acesso podem impor uma identidade de usuário, inclusive grupos POSIX do usuário, para todas as solicitações do sistema de arquivamento feitas por meio do ponto de acesso. Os pontos de acesso também podem impor um diretório raiz diferente para o sistema de arquivamento fazendo com que clientes só possam acessar dados no diretório especificado ou em seus subdiretórios.

Você pode usar políticas AWS Identity and Access Management (IAM) para garantir que aplicativos específicos usem um ponto de acesso específico. Ao combinar políticas do IAM com pontos de acesso, é possível oferecer acesso fácil e seguro a conjuntos de dados específicos para seus aplicativos.

nota

Você precisa criar pelo menos um destino de montagem em seu sistema de arquivos EFS para usar pontos de acesso.

Para obter mais informações sobre como criar um ponto de acesso, consulte Criar pontos de acesso.

Criar um ponto de acesso

Você pode criar pontos de acesso para um sistema de arquivos Amazon EFS existente usando a API AWS Management Console, the AWS Command Line Interface (AWS CLI) e EFS. Um sistema de arquivos do Amazon EFS pode ter no máximo 1.000 pontos de acesso. Você não pode modificar um ponto de acesso existente depois de criado.

Para obter step-by-step os procedimentos para criar um ponto de acesso, consulteCriar pontos de acesso.

Montar um sistema de arquivos usando um ponto de acesso

Use o assistente de montagem do EFS ao montar um sistema de arquivos usando um ponto de acesso. No comando de montagem, inclua o ID do sistema de arquivos, o ID do ponto de acesso e a opção de montagem tls, conforme mostrado no exemplo a seguir.

$ mount -t efs -o tls,iam,accesspoint=fsap-abcdef0123456789a fs-abc0123def456789a: /localmountpoint

Para obter mais informações sobre como montar sistemas de arquivos usando um ponto de acesso, consulte Montar com pontos de acesso do EFS.

Impor uma identidade de usuário usando um ponto de acesso

É possível usar um ponto de acesso para impor informações de usuário e grupo para todas as solicitações do sistema de arquivos feitas por meio do ponto de acesso. Para habilitar esse recurso, é necessário especificar a identidade do sistema operacional a ser aplicada ao criar o ponto de acesso.

Como parte disso, você fornece o seguinte:

  • ID do usuário: o ID numérico de usuário POSIX.

  • ID do grupo: o ID numérico de grupo POSIX para o usuário.

  • IDs de grupos secundários: uma lista de IDs de grupos secundários opcionais.

Quando a imposição do usuário está habilitada, o Amazon EFS substitui os IDs de usuário e grupo do cliente NFS pela identidade configurada no ponto de acesso para todas as operações do sistema de arquivos. A imposição do usuário também faz o seguinte:

  • O proprietário e o grupo para novos arquivos e diretórios são definidos para o ID de usuário e o ID de grupo do ponto de acesso.

  • O EFS considera o ID de usuário, o ID de grupo e os IDs de grupos secundários do ponto de acesso ao avaliar as permissões do sistema de arquivos. O EFS ignora IDs do cliente NFS.

Importante

A imposição de uma identidade de usuário está sujeita à permissão ClientRootAccess do IAM.

Por exemplo, em alguns casos, é possível configurar o ID do usuário do ponto de acesso, o ID do grupo ou ambos como raiz (ou seja, definir o UID, o GID ou ambos como 0). Nesses casos, é necessário conceder a permissão ClientRootAccess do IAM ao cliente NFS.

Impor um diretório raiz com um ponto de acesso

É possível usar um ponto de acesso para substituir o diretório raiz de um sistema de arquivos. Ao impor um diretório raiz, o cliente NFS usando o ponto de acesso utiliza o diretório raiz configurado no ponto de acesso em vez do diretório raiz do sistema de arquivos.

Habilite esse recurso definindo o atributo Path do ponto de acesso ao criar um ponto de acesso. O atributo Path é o caminho completo do diretório raiz do sistema de arquivos para todas as solicitações do sistema de arquivos feitas por meio desse ponto de acesso. O caminho completo não pode exceder 100 caracteres de comprimento. Ele pode incluir até quatro subdiretórios.

Ao especificar um diretório raiz em um ponto de acesso, ele se torna o diretório raiz do sistema de arquivos para o cliente NFS que monta o ponto de acesso. Por exemplo, suponha que o diretório raiz do seu ponto de acesso seja /data. Nesse caso, a montagem de fs-12345678:/ usando o ponto de acesso tem o mesmo efeito que a montagem de fs-12345678:/data sem usar o ponto de acesso.

Ao especificar um diretório raiz no ponto de acesso, verifique se as permissões de diretório estão configuradas para permitir que o usuário do ponto de acesso monte o sistema de arquivos com êxito. Especificamente, verifique se o bit de execução está definido para o usuário ou grupo do ponto de acesso, ou para todos. Por exemplo, um valor de permissão de diretório de 755 permite que o proprietário do usuário do diretório liste arquivos, crie arquivos e monte, e que todos os outros usuários listem arquivos e montem.

Criar o diretório raiz para um ponto de acesso

Se um caminho de diretório raiz para um ponto de acesso não existir no sistema de arquivos, o Amazon EFS criará automaticamente esse diretório raiz com permissões e propriedade configuráveis. O Amazon EFS não criará o diretório raiz se você não especificar a propriedade e as permissões do diretório na criação. Essa abordagem permite provisionar acesso ao sistema de arquivos para um usuário ou aplicativo específico sem montar seu sistema de arquivos de um host Linux. Para criar um diretório raiz, você deve configurar a propriedade e a permissão do diretório raiz usando os seguintes atributos ao criar um ponto de acesso:

  • OwnerUid: o ID numérico de usuário POSIX a ser usado como proprietário do diretório raiz.

  • OwnerGiD: o ID numérico de grupo POSIX a ser usado como o grupo do proprietário do diretório raiz.

  • Permissões: o modo Unix do diretório. Uma configuração comum é 755. Verifique se o bit de execução está definido para o usuário do ponto de acesso para que ele possa montar. Essa configuração concede ao proprietário do diretório permissão para inserir, listar e gravar novos arquivos no diretório. Ela concede a todos os outros usuários permissão para inserir e listar arquivos. Para obter mais informações sobre como trabalhar com os modos de arquivo e diretório Unix, consulte Trabalhando com usuários, grupos e permissões no nível do Sistema de Arquivos de Rede (NFS).

O Amazon EFS cria um diretório raiz do ponto de acesso somente se o OwnUid, ownGid e as permissões forem especificados para o diretório. Se você não fornecer essas informações, o Amazon EFS não criará o diretório raiz. Se o diretório raiz não existir, as tentativas de montar usando o ponto de acesso apresentarão falha.

Quando você monta um sistema de arquivos com um ponto de acesso, o diretório raiz do ponto de acesso é criado se o diretório ainda não existir, desde que o diretório raiz OwnerUid e as permissões tenham sido especificados quando o ponto de acesso foi criado. Se o diretório raiz configurado no ponto de acesso já existir antes da hora da montagem, as permissões existentes não serão substituídas pelo ponto de acesso. Se você excluir o diretório raiz, o EFS o recriará na próxima vez que o sistema de arquivos for montado usando o ponto de acesso.

nota

Se você não especificar a propriedade e as permissões para um diretório raiz do ponto de acesso, o Amazon EFS não criará o diretório raiz. Todas as tentativas de montar o ponto de acesso apresentarão falha.

Modelo de segurança para diretórios raiz de ponto de acesso

Quando uma substituição de diretório raiz está em vigor, o Amazon EFS se comporta como um servidor NFS do Linux com a opção no_subtree_check habilitada.

No protocolo NFS, os servidores geram identificadores de arquivo que são usados pelos clientes como referências exclusivas ao acessar arquivos. O EFS gera de maneira segura identificadores de arquivo que são imprevisíveis e específicos para um sistema de arquivos do EFS. Quando uma substituição de diretório raiz estiver em vigor, o EFS não divulgará identificadores de arquivo para arquivos fora do diretório raiz especificado. No entanto, em alguns casos, um usuário pode obter um identificador de arquivo para um arquivo fora do ponto de acesso usando um out-of-band mecanismo. Por exemplo, ele pode fazê-lo se tiver acesso a um segundo ponto de acesso. Se fizer isso, ele poderá executar operações de leitura e gravação no arquivo.

As permissões de propriedade e acesso de arquivos são sempre aplicadas, para acesso a arquivos dentro e fora do diretório raiz do ponto de acesso de um usuário.

Usar pontos de acesso em políticas do IAM

É possível usar uma política do IAM para impor que um cliente NFS específico, identificado por sua função do IAM, só possa acessar um ponto de acesso específico. Para fazer isso, use a chave de condição elasticfilesystem:AccessPointArn do IAM. O AccessPointArn é o nome de recurso da Amazon (ARN) do ponto de acesso com o qual o sistema de arquivos está montado.

Veja a seguir um exemplo de política de sistema de arquivos que permite que a função app1 do IAM acesse o sistema de arquivos usando o ponto de acesso fsap-01234567. A política também permite que app2 use o sistema de arquivos com o ponto de acesso fsap-89abcdef.

{ "Version": "2012-10-17", "Id": "MyFileSystemPolicy", "Statement": [ { "Sid": "App1Access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/app1" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Condition": { "StringEquals": { "elasticfilesystem:AccessPointArn" : "arn:aws:elasticfilesystem:us-east-1:222233334444:access-point/fsap-01234567" } } }, { "Sid": "App2Access", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/app2" }, "Action": [ "elasticfilesystem:ClientMount", "elasticfilesystem:ClientWrite" ], "Condition": { "StringEquals": { "elasticfilesystem:AccessPointArn" : "arn:aws:elasticfilesystem:us-east-1:222233334444:access-point/fsap-89abcdef" } } } ] }