View a markdown version of this page

Pré-requisitos referentes ao S3 Files - Amazon Simple Storage Service

Pré-requisitos referentes ao S3 Files

Para começar a usar o S3 Files, é necessário cumprir os pré-requisitos a seguir.

Configuração da conta e computação da AWS

  • Você tem uma conta da AWS.

  • Você tem um recurso de computação e um bucket de uso geral do S3 na região da AWS desejada em que pretende criar seu sistema de arquivos. Para ter mais informações, consulte Criar um bucket de uso geral.

  • Seu bucket do S3 tem o versionamento habilitado. O S3 Files exige o Versionamento do S3 para sincronizar as alterações entre o sistema de arquivos e o bucket do S3. Para ter mais informações, consulte Habilitar o versionamento em buckets.

  • O bucket do S3 deve usar um dos seguintes tipos de criptografia: criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3) ou criptografia do lado do servidor com chaves gerenciadas pelo AWS Key Management Service (AWS KMS) (SSE-KMS).

Cliente do S3 Files

Para usar o S3 Files com o Amazon EC2, é necessário instalar o cliente amazon-efs-utils, uma coleção compartilhada de ferramentas de código aberto para o Amazon EFS e o Amazon S3 Files. Para trabalhar com o S3 Files, você precisa do amazon-efs-utils versão 3.0.0 ou posterior. O cliente inclui um programa auxiliar de montagem que simplifica a montagem dos sistemas de arquivos do S3 e permite que as métricas do Amazon CloudWatch monitorem o status de montagem do sistema de arquivos.

Etapa 1: instalar o cliente

  • Acesse o terminal para sua instância do Amazon EC2 por meio do Secure Shell (SSH) e faça login com o nome de usuário apropriado. Para acessar mais informações, consulte o tópico sobre como Conexão com a instância do EC2 no Guia do usuário do Amazon Elastic Compute Cloud.

  • Se você usa o Amazon Linux, faça o seguinte para instalar o efs-utils a partir de repositórios da Amazon:

    sudo yum -y install amazon-efs-utils
  • Se você usa outras distribuições do Linux compatíveis, é possível fazer o seguinte:

    curl https://amazon-efs-utils.aws.com/efs-utils-installer.sh | sudo sh -s -- --install
  • Para outras distribuições do Linux, consulte Other Linux Distributions no README do amazon-efs-utils no GitHub.

Etapa 2: instalar o botocore

O cliente amazon-efs-utils usa o botocore para interagir com outros serviços da AWS. Por exemplo, é necessário instalar o botocore para usar o Amazon CloudWatch para monitorar o sistema de arquivos. Para ver instruções sobre como instalar e atualizar o botocore, consulte Installing botocore no README do amazon-efs-utils no GitHub.

Habilitar o modo FIPS para o S3 Files

Se você precisar atender às Normas Federais de Processamento de Informações (FIPS), deverá habilitar o modo FIPS no cliente. A habilitação do modo FIPS envolve a modificação do arquivo s3files-utils.conf no sistema operacional.

Siga estas etapas para habilitar o modo FIPS no cliente para o S3 Files:

  1. Abra o arquivo /etc/amazon/efs/s3files-utils.conf usando o editor de texto de sua preferência.

  2. Encontre a linha que contém o seguinte texto:

    fips_mode_enabled = false
  3. Altere o código para o seguinte:

    fips_mode_enabled = true
  4. Salve as alterações.

Perfis e políticas do IAM

Para usar o S3 Files, é necessário configurar perfis do IAM e políticas anexadas para duas finalidades:

  • Acessar um bucket pelo sistema de arquivos

  • Anexar um sistema de arquivos a recursos de computação da AWS

Perfil do IAM para acessar um bucket pelo sistema de arquivos

Ao criar um sistema de arquivos do S3, você deve especificar um perfil do IAM que o S3 Files assume para ler e gravar no bucket do S3. Esse perfil permite que o S3 Files sincronize as alterações entre o sistema de arquivos e o bucket do S3. Ele também concede permissões para gerenciar as regras do Amazon EventBridge que o S3 Files usa para detectar alterações no bucket do S3 e acionar a sincronização. Você também deve garantir que as políticas do bucket de origem não neguem acesso ao seu recurso de computação.

nota

Quando um sistema de arquivos é criado por meio do Console de Gerenciamento da AWS, o S3 Files cria automaticamente esse perfil do IAM com as permissões necessárias.

O perfil do IAM requer o seguinte:

  • Uma política em linha como a seguinte:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "S3BucketPermissions", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListBucketVersions" ], "Resource": "arn:aws:s3:::bucket", "Condition": { "StringEquals": { "aws:ResourceAccount": "accountId" } } }, { "Sid": "S3ObjectPermissions", "Effect": "Allow", "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject*", "s3:GetObject*", "s3:List*", "s3:PutObject*" ], "Resource": "arn:aws:s3:::bucket/*", "Condition": { "StringEquals": { "aws:ResourceAccount": "accountId" } } }, { "Sid": "UseKmsKeyWithS3Files", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Encrypt", "kms:Decrypt", "kms:ReEncryptFrom", "kms:ReEncryptTo" ], "Condition": { "StringLike": { "kms:ViaService": "s3.region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::bucket", "arn:aws:s3:::bucket/*" ] } }, "Resource": "arn:aws:kms:region:accountId:*" }, { "Sid": "EventBridgeManage", "Effect": "Allow", "Action": [ "events:DeleteRule", "events:DisableRule", "events:EnableRule", "events:PutRule", "events:PutTargets", "events:RemoveTargets" ], "Condition": { "StringEquals": { "events:ManagedBy": "elasticfilesystem.amazonaws.com" } }, "Resource": [ "arn:aws:events:*:*:rule/DO-NOT-DELETE-S3-Files*" ] }, { "Sid": "EventBridgeRead", "Effect": "Allow", "Action": [ "events:DescribeRule", "events:ListRuleNamesByTarget", "events:ListRules", "events:ListTargetsByRule" ], "Resource": [ "arn:aws:events:*:*:rule/*" ] } ] }

    Substitua os valores dos espaços reservados por seus próprios valores:

    #Espaço reservadoDescriçãoExemplo
    1bucketO nome do bucket do S3.my-bucket
    2regionA região da AWS do bucket.us-east-1
    3accountIdO ID da sua conta da AWS.123456789012
  • Uma política de confiança que permita que o S3 Files assuma o perfil do IAM. Adicione a política de confiança a seguir ao perfil do IAM para permitir que o S3 Files o assuma. Substitua accountId e region por seus próprios valores.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowS3FilesAssumeRole", "Effect": "Allow", "Principal": { "Service": "elasticfilesystem.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "accountId" }, "ArnLike": { "aws:SourceArn": "arn:aws:s3files:region:accountId:file-system/*" } } } ] }

Perfil do IAM para anexar o sistema de arquivos a recursos de computação da AWS

Os recursos de computação nos quais o sistema de arquivos do S3 é montado devem ter um perfil do IAM anexado (por exemplo, um perfil de instância do EC2) com políticas que permitam que o recurso de computação interaja com o sistema de arquivos do S3 e o bucket do S3 de origem. Você também deve garantir que as políticas do bucket de origem não neguem acesso ao seu recurso de computação.

Adicione as duas seguintes políticas ao perfil do IAM anexado ao seu recurso de computação:

  • Permissões para que o recurso de computação se conecte e interaja com os sistemas de arquivos do S3

    O perfil do IAM deve incluir permissões para que o auxiliar de montagem se conecte e interaja com os sistemas de arquivos do S3. É possível anexar uma política gerenciada pela AWS, como a política gerenciada AmazonS3FilesClientFullAccess, se você quiser conceder ao recurso de computação acesso total de leitura e gravação ao sistema de arquivos do S3, ou a política AmazonS3FilesClientReadOnlyAccess para acesso somente leitura. Você também pode anexar a política gerenciada AmazonElasticFileSystemUtils se quiser habilitar o monitoramento do Amazon CloudWatch. Para ter mais informações e ver uma lista completa de políticas gerenciadas para o S3 Files, consulte Políticas gerenciadas pela AWS para o Amazon S3 Files. Também é possível oferecer essas permissões adicionando permissões individuais do IAM, como s3files:ClientMount ou s3files:ClientWrite (não necessárias para conexões somente de leitura) ao perfil do IAM do recurso de computação.

  • Uma política em linha que concede ao recurso de computação acesso de leitura a objetos do S3

    Adicione a política em linha a seguir ao perfil do IAM. Essa política concede ao recurso de computação permissões para ler objetos diretamente do bucket vinculado do S3 na mesma conta a fim de otimizar o desempenho de leitura. Substitua bucket pelo nome do bucket do S3 ou o nome do bucket pelo prefixo.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "S3ObjectReadAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::bucket/*" }, { "Sid": "S3BucketListAccess", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::bucket" } ] }

Grupos de segurança

Depois que o sistema de arquivos e os destinos de montagem são criados, é necessário configurar os grupos de segurança corretos para começar a usar o sistema de arquivos. Os grupos de segurança no recurso de computação e no destino de montagem devem permitir o tráfego necessário, conforme mostrado na tabela abaixo:

Grupo de segurança Tipo de regra Protocolo Porta Origem/destino
Instância do EC2 Saída TCP 2049 Grupo de segurança de destino de montagem
Destino de montagem Entrada TCP 2049 Grupo de segurança da instância do EC2