View a markdown version of this page

Prerequisiti per i file S3 - Amazon Simple Storage Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Prerequisiti per i file S3

Prima di iniziare a utilizzare S3 Files, assicurati di aver completato i seguenti prerequisiti.

AWS configurazione dell'account e del calcolo

  • Hai un AWS account.

  • Disponi di una risorsa di elaborazione e di un bucket S3 generico nella AWS regione desiderata in cui desideri creare il file system. Per ulteriori informazioni, consulta Creazione di un bucket per uso generico.

  • Il tuo bucket S3 ha il controllo delle versioni abilitato. S3 Files richiede S3 Versioning per sincronizzare le modifiche tra il file system e il bucket S3. Per ulteriori informazioni, consulta Abilitazione della funzione Controllo delle versioni sui bucket.

  • Il bucket S3 deve utilizzare uno dei seguenti tipi di crittografia: crittografia lato server con chiavi gestite Amazon S3 (SSE-S3) o crittografia lato server con AWS chiavi Key Management Service (KMS) (SSE-KMS).AWS

Client S3 Files

Per utilizzare S3 Files con Amazon EC2, devi installare il amazon-efs-utils client, una raccolta condivisa open source di strumenti per Amazon EFS e Amazon S3 Files. Per lavorare con S3 Files, è necessaria amazon-efs-utils la versione 3.0.0 o successiva. Il client include un programma di supporto per il montaggio che semplifica il montaggio dei file system S3 e abilita Amazon CloudWatch Metrics per il monitoraggio dello stato di montaggio del file system.

Fase 1: Installare il client

  • Accedi al terminale per la tua istanza Amazon EC2 tramite Secure Shell (SSH) e accedi con il nome utente appropriato. Per ulteriori informazioni, consulta Connect to your EC2 nella Amazon Elastic Compute Cloud User Guide.

  • Se usi Amazon Linux, procedi come segue per installare efs-utils dai repository di Amazon:

    sudo yum -y install amazon-efs-utils
  • Se usi altre distribuzioni Linux supportate, puoi fare quanto segue:

    curl https://amazon-efs-utils.aws.com/efs-utils-installer.sh | sudo sh -s -- --install
  • Per altre distribuzioni Linux, vedi Su altre distribuzioni Linux nel file README su. amazon-efs-utils GitHub

Passaggio 2: installa botocore

Il amazon-efs-utils client utilizza botocore per interagire con altri servizi. AWS Ad esempio, devi installare botocore per utilizzare Amazon per CloudWatch monitorare il tuo file system. Per istruzioni sull'installazione e l'aggiornamento di botocore, consulta Installazione di botocore nel README su. amazon-efs-utils GitHub

Abilitazione della modalità FIPS per i file S3

Se è necessario rispettare gli standard federali di elaborazione delle informazioni (FIPS), è necessario abilitare la modalità FIPS nel client. L'attivazione della modalità FIPS comporta la modifica del s3files-utils.conf file sul sistema operativo.

Segui questi passaggi per abilitare la modalità FIPS nel client per S3 Files:

  1. Utilizzando un editor di testo a scelta, aprire il file /etc/amazon/efs/s3files-utils.conf.

  2. Trova la riga contenente il testo seguente:

    fips_mode_enabled = false
  3. Cambia il testo nel modo seguente:

    fips_mode_enabled = true
  4. Salvare le modifiche.

Ruoli IAM e policy

Per utilizzare S3 Files, devi configurare i ruoli IAM e le policy associate per due scopi:

  • Accedere al bucket dal file system

  • Collegamento del file system alle risorse di calcolo AWS

Ruolo IAM per l'accesso al bucket dal file system

Quando crei un file system S3, devi specificare un ruolo IAM da cui S3 Files presume di leggere e scrivere nel tuo bucket S3. Questo ruolo consente a S3 Files di sincronizzare le modifiche tra il file system e il bucket S3. Il ruolo concede anche le autorizzazioni per gestire le EventBridge regole Amazon utilizzate da S3 Files per rilevare le modifiche nel bucket S3 e attivare la sincronizzazione. È inoltre necessario assicurarsi che le policy relative ai bucket del bucket di origine non impediscano l'accesso alla risorsa di elaborazione.

Nota

Quando crei un file system utilizzando la console di AWS gestione, S3 Files crea automaticamente questo ruolo IAM con le autorizzazioni richieste.

Questo ruolo IAM richiede quanto segue:

  • Una politica in linea come segue:

    { "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/*" ] } ] }

    Sostituisci i valori segnaposto con i tuoi valori.

    #PlaceholderDescriptionEsempio
    1bucketIl nome del tuo bucket S3il mio secchio
    2regionLa AWS regione del tuo bacinous-east-1
    3accountIdL'ID del tuo AWS account123456789012
  • Una politica di fiducia che consente a S3 Files di assumere il ruolo IAM. Aggiungi la seguente policy di fiducia al ruolo IAM per consentire al servizio S3 Files di assumerlo. Sostituisci accountId e region con i tuoi valori.

    { "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/*" } } } ] }

Ruolo IAM per collegare il file system alle risorse di AWS calcolo

Le risorse di elaborazione su cui monti un file system S3 devono avere un ruolo IAM associato (ad esempio, un profilo di istanza EC2) con policy che consentano alla risorsa di elaborazione di interagire con il tuo file system S3 e il tuo bucket S3 di origine. È inoltre necessario assicurarsi che le policy relative ai bucket del bucket di origine non impediscano l'accesso dalla risorsa di elaborazione.

Aggiungi le seguenti due policy al ruolo IAM associato alla tua risorsa di elaborazione:

  • Autorizzazioni per la risorsa di calcolo a connettersi e interagire con i file system S3

    Il ruolo IAM deve includere le autorizzazioni per consentire al mount helper di connettersi e interagire con i file system S3. Puoi allegare una policy AWS gestita, ad esempio una policy AmazonS3FilesClientFullAccess gestita, se desideri concedere alla risorsa di calcolo l'accesso completo in lettura e scrittura al tuo file system S3 o l'accesso in sola lettura. AmazonS3FilesClientReadOnlyAccess Puoi anche allegare la policy AmazonElasticFileSystemUtils gestita se desideri abilitare il CloudWatch monitoraggio di Amazon. Per ulteriori informazioni e un elenco completo delle politiche gestite disponibili per i file S3, consulta le politiche AWS gestite per Amazon S3 Files. Puoi anche fornire queste autorizzazioni aggiungendo autorizzazioni IAM individuali come s3files:ClientMount o s3files:ClientWrite (non richiesto per le connessioni di sola lettura) al ruolo IAM della tua risorsa di calcolo.

  • Una policy in linea che garantisce alla risorsa di calcolo l'accesso in lettura agli oggetti S3

    Aggiungi la seguente policy in linea al ruolo IAM. Questa policy concede alle risorse di calcolo le autorizzazioni per leggere direttamente gli oggetti dal bucket S3 collegato nello stesso account per ottimizzare le prestazioni di lettura. Sostituiscilo bucket con il nome del bucket S3 o il nome del bucket con prefisso.

    { "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" } ] }

Gruppi di sicurezza

Una volta creati il file system e gli obiettivi di montaggio, è necessario configurare i gruppi di sicurezza giusti per iniziare a utilizzare il file system. I gruppi di sicurezza sia sulla risorsa di elaborazione che sulla destinazione di montaggio devono consentire il traffico richiesto, come mostrato nella tabella seguente:

Gruppo di sicurezza Tipo di regola Protocollo Porta Sorgente/destinazione
Istanza EC2 In uscita TCP 2049 Monta il gruppo di sicurezza di destinazione
Destinazione di montaggio In entrata TCP 2049 Gruppo di sicurezza dell'istanza EC2