Ir para o conteúdo

Como posso usar políticas do sistema para controlar o acesso ao meu sistema de arquivos do Amazon EFS?

5 minuto de leitura
0

Quero acessar meu sistema de arquivos do Amazon Elastic File System (Amazon EFS) em todas as contas da AWS para poder compartilhar arquivos. Quero usar a autorização do AWS Identity and Access Management (AWS IAM) para clientes do Network File System (NFS) e pontos de acesso do Amazon EFS.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Conectar VPCs

Conecte as nuvens privadas virtuais (VPCs) do seu cliente NFS e do seu sistema de arquivos do EFS com uma conexão de emparelhamento da VPC. Ou use um Amazon Virtual Private Cloud (Amazon VPC) Transit Gateway. Essa conexão permite que instâncias do Amazon Elastic Compute Cloud (Amazon EC2) da mesma conta ou de contas diferentes acessem sistemas de arquivos EFS em uma VPC diferente.

Conceda permissões para acessar e montar o sistema de arquivos do EFS entre contas

Para conceder permissões para acessar e montar o sistema de arquivos do EFS entre contas, adicione a seguinte declaração à sua política do IAM:

{            "Sid": "EfsPermissions",
            "Effect": "Allow",
            "Action": [
                "elasticfilesystem:ClientMount",
                "elasticfilesystem:ClientWrite",
                "elasticfilesystem:ClientRootAccess"
            ],
            "Resource": "arn:aws:elasticfilesystem:region:account-id:file-system/file-system-id"
        }

Observação: a declaração de exemplo anterior permite que o perfil do IAM tenha acesso de montagem, gravação e raiz no sistema de arquivos do EFS. Se o seu cliente do NFS for uma instância do EC2, anexe o perfil do IAM à instância.

Ou use a AWS CLI para assumir o perfil do IAM.

Observação: a AWS CLI não pode resolver o DNS de um sistema de arquivos do EFS presente em outra VPC. Como resultado, você deve determinar o endereço IP de destino de montagem correto para seu cliente. Em seguida, configure o cliente. Para montar o sistema de arquivos do EFS, use o endereço IP de destino de montagem que esteja na mesma zona de disponibilidade do seu cliente do NFS. Os mapeamentos de nomes das zonas de disponibilidade podem diferir entre contas. Ao montar um sistema de arquivos do EFS em outra conta, o cliente do NFS e o destino de montagem devem estar na mesma Zona de disponibilidade.

Determinar a zona de disponibilidade da instância

Conclua as etapas a seguir:

  1. Abra o console do Amazon EC2.
  2. Escolha Instâncias.
  3. Selecione sua instância e, em seguida, escolha Rede.
  4. Em Detalhes de rede, encontre a Zona de disponibilidade.

Ou execute o seguinte comando describe-availability-zones da AWS CLI a partir de uma entidade do IAM que tenha permissões de leitura suficientes para o Amazon EC2:

aws ec2 describe-availability-zones --zone-name `curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone`

Exemplo de saída:

{
    "AvailabilityZones": [
        {
            "State": "available",
            "ZoneName": "us-east-2b",
            "Messages": [],
            "ZoneId": "use2-az2",
            "RegionName": "us-east-2"
        }
    ]
}

Determine o endereço IP de destino de montagem para a Zona de disponibilidade local

Conclua as etapas a seguir:

  1. Abra o console do Amazon EFS.
  2. Escolha Sistemas de arquivos.
  3. Selecione seu sistema de arquivos.
  4. Em Rede, anote o endereço IP da sua Zona de disponibilidade.

Ou execute o seguinte comando describe-mount-targets a partir de uma entidade do IAM que tenha permissões de leitura suficientes para o Amazon EC2:

aws efs describe-mount-targets --file-system-id fs-cee4feb7

Observação: substitua fs-cee4feb7 pelo ID do sistema de arquivos.

Na saída do comando, observe o endereço IP que corresponde ao destino de montagem na Zona de disponibilidade da instância. Exemplo de saída:

aws efs describe-mount-targets --file-system-id fs-cee4feb7{
    "MountTargets": [
        {
            "MountTargetId": "fsmt-a9c3a1d0",
            "AvailabilityZoneId": "use2-az2",
            "NetworkInterfaceId": "eni-048c09a306023eeec",
            "AvailabilityZoneName": "us-east-2b",
            "FileSystemId": "fs-cee4feb7",
            "LifeCycleState": "available",
            "SubnetId": "subnet-06eb0da37ee82a64f",
            "OwnerId": "958322738406",
            "IpAddress": "10.0.2.153"
        },
...
        {
            "MountTargetId": "fsmt-b7c3a1ce",
            "AvailabilityZoneId": "use2-az3",
            "NetworkInterfaceId": "eni-0edb579d21ed39261",
            "AvailabilityZoneName": "us-east-2c",
            "FileSystemId": "fs-cee4feb7",
            "LifeCycleState": "available",
            "SubnetId": "subnet-0ee85556822c441af",
            "OwnerId": "958322738406",
            "IpAddress": "10.0.3.107"
        }
    ]
}

Montar o sistema de arquivos do EFS

Conclua as etapas a seguir:

  1. Execute o comando a seguir para adicionar a entrada hosts ao arquivo /etc/hosts no cliente do NFS:
    echo "10.0.2.153 fs-cee4feb7.efs.us-east-2.amazonaws.com" | sudo tee -a /etc/hosts
    Observação: substitua 10.0.2.153 pelo seu endereço IP de destino de montagem, fs-cee4feb7 pelo ID do sistema de arquivos e us-east-2 pela sua região da AWS.
  2. Use o auxiliar de montagem para montar o sistema de arquivos do EFS. Por padrão, o auxiliar de montagem usa o DNS para resolver o endereço IP do seu destino de montagem. Se você montar a partir de outra conta ou da Amazon VPC, será necessário resolver manualmente o endereço IP de destino da montagem do Amazon EFS.

Se tiver problemas ao montar o sistema de arquivos, consulte Solução de problemas de montagem.

Informações relacionadas

Criar políticas de sistema de arquivos

AWS OFICIALAtualizada há 7 meses