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 computer

  • Hai un AWS account.

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

  • Il controllo delle versioni del bucket S3 è 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: Server-side crittografia con chiavi gestite Amazon S3 (SSE-S3) o Server-side crittografia con AWS chiavi KMS () ().AWS SSE-KMS

Client S3 Files

Per utilizzare S3 Files con Amazon EC2, devi installare il clientamazon-efs-utils, una raccolta condivisa e 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 al montaggio che semplifica il montaggio dei file system S3 e abilita le CloudWatch metriche di Amazon per monitorare lo 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 Connessione alla tua istanza EC2 nella Amazon Elastic Compute Cloud User Guide.

  • Per chi utilizza 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, consulta Su altre distribuzioni Linux nel file README di amazon-efs-utils attivo. GitHub

Fase 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 file README di amazon-efs-utils su. GitHub

Attivazione della modalità FIPS per i file S3

Se è necessario rispettare i Federal Information Processing Standards (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 i file S3:

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

  2. Trova la riga contenente il seguente testo:

    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 i file S3, è necessario configurare i ruoli IAM e le politiche allegate per due scopi:

  • Accesso al bucket dal file system

  • Collegare il file system alle risorse di calcolo AWS

Ruolo IAM per accedere al bucket dal file system

Quando crei un file system S3 Files, specifichi un ruolo IAM che S3 Files presume sia in grado di leggere e scrivere nel bucket S3. Questo ruolo concede a S3 Files il permesso di sincronizzare le modifiche tra il file system e il bucket, incluse le regole di Amazon che attivano la sincronizzazione. EventBridge È inoltre necessario assicurarsi che la policy del bucket S3 non neghi l'accesso alle risorse di elaborazione.

S3 Files richiede il controllo delle versioni S3 sul bucket. Utilizza operazioni API specifiche della versione come e in aggiunta a. s3:GetObjectVersion s3:GetObjectVersionTagging s3:GetObject La seguente politica utilizza caratteri jolly (ad esempio, s3:GetObject* anzichés3:GetObject) per includere sia le azioni con versione che quelle senza versione.

Nota

Quando si crea 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 secchious-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 politica 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 tuo file system a AWS risorse di calcolo

Le risorse di elaborazione su cui si monta 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 file system S3 e il bucket S3 di origine. È inoltre necessario assicurarsi che le politiche dei bucket del bucket di origine non neghino l'accesso alla risorsa di elaborazione.

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

  • Autorizzazioni per la risorsa di elaborazione per 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. È possibile allegare una policy AWS gestita, ad esempio AmazonS3FilesClientFullAccess managed policy, se si desidera concedere alla risorsa di calcolo l'accesso completo in lettura e scrittura al file system S3 o l'accesso in sola lettura. AmazonS3FilesClientReadOnlyAccess Puoi anche allegare la policy AmazonElasticFileSystemsUtils gestita se desideri abilitare il monitoraggio di Amazon. CloudWatch 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 fornire queste autorizzazioni anche aggiungendo autorizzazioni IAM individuali come s3files:ClientMount or s3files:ClientWrite (non obbligatorio per le connessioni di sola lettura) al ruolo IAM della tua risorsa di calcolo.

  • Una policy in linea che concede 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. Sostituisci 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 le destinazioni di montaggio, è necessario configurare i gruppi di sicurezza corretti per iniziare a utilizzare il file system. I gruppi di sicurezza sia sulla risorsa di calcolo che sulla destinazione di montaggio devono consentire il traffico richiesto, come mostrato nella tabella seguente:

Gruppo di sicurezza Tipo di regola Protocollo Porta Source/destination
Istanza EC2 In uscita TCP 2049 Gruppo di sicurezza Mount Target
Destinazione di montaggio In entrata TCP 2049 Gruppo di sicurezza dell'istanza EC2