Impostazione delle autorizzazioni - Amazon Simple Storage Service

Impostazione delle autorizzazioni

Per la configurazione della replica, è necessario acquisire le autorizzazioni necessarie, come indicato di seguito:

  • Amazon S3 necessita delle autorizzazioni per replicare gli oggetti per tuo conto. Queste autorizzazioni vengono concesse creando un ruolo IAM e specificandolo nella configurazione di replica.

  • Quando i bucket di origine e di destinazione non sono di proprietà degli stessi account, il proprietario del bucket di destinazione deve concedere al proprietario del bucket di origine le autorizzazioni per archiviare le repliche.

Creazione di un ruolo IAM

Di default, tutte le risorse di Amazon S3, ossia bucket, oggetti e risorse secondarie correlate, sono private e solo il proprietario vi può accedere. Amazon S3 ha bisogno di autorizzazioni per leggere e replicare gli oggetti dal bucket di origine. Queste autorizzazioni vengono concesse creando un ruolo IAM e specificandolo nella configurazione di replica.

In questa sezione vengono illustrate la policy di trust e la policy di autorizzazione minima richiesta. Le procedure dettagliate di esempio forniscono istruzioni dettagliate per la creazione di un ruolo IAM. Per ulteriori informazioni, consulta Procedure dettagliate: esempi di configurazione della replica.

  • Di seguito viene mostrata una policy di attendibilità in cui identifichi Amazon S3 come principale del servizio che può assumere il ruolo.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
  • Nell'esempio seguente viene illustrata una policy di attendibilità in cui identifichi Amazon S3 e Operazioni di batch S3 come principali del servizio. Ciò è utile quando crei un processo di Batch Replication. Per ulteriori informazioni, consultare Creazione di un processo Batch Replication per una prima regola di replica o una nuova destinazione.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service": [ "s3.amazonaws.com", "batchoperations.s3.amazonaws.com" ] }, "Action":"sts:AssumeRole" } ] }

    Per ulteriori informazioni sui ruoli IAM, consulta Ruoli IAM nella Guida per l'utente di IAM.

  • Di seguito viene mostrata una policy di accesso in cui concedi al ruolo le autorizzazioni per eseguire attività di replica per tuo conto. Quando Amazon S3 assume il ruolo, dispone delle autorizzazioni che sono state specificate in questa policy. In questa politica, DOC-EXAMPLE-BUCKET1 è il bucket di origine e DOC-EXAMPLE-BUCKET2 è il nome del bucket di destinazione.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-BUCKET1" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-BUCKET1/*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET2/*" } ] }

    La policy di accesso concede le autorizzazioni per le seguenti operazioni:

    • s3:GetReplicationConfiguration e s3:ListBucket— Autorizzazioni per queste azioni sul bucket DOC-EXAMPLE-BUCKET1 (il bucket di origine) consentono ad Amazon S3 di recuperare la configurazione di replica ed elencare il contenuto del bucket. (Il modello di autorizzazioni corrente richiede l'autorizzazione s3:ListBucket per l'accesso ai contrassegni di eliminazione.)

    • s3:GetObjectVersionForReplication e s3:GetObjectVersionAcl: le autorizzazioni per queste operazioni concesse su tutti gli oggetti permettono ad Amazon S3 di ottenere una versione dell'oggetto specifica e la lista di controllo degli accessi (ACL) associata agli oggetti.

    • s3:ReplicateObject e s3:ReplicateDelete: le autorizzazioni per queste operazioni sugli oggetti nel bucket di DOC-EXAMPLE-BUCKET2 (il bucket di destinazione) permettono ad Amazon S3 di replicare gli oggetti o eliminare i contrassegni nel bucket di destinazione. Per informazioni sui contrassegni di eliminazione, consulta la sezione Effetto delle operazioni di eliminazione sulla replica.

      Nota

      Le autorizzazioni per l'operazione s3:ReplicateObject nel bucket DOC-EXAMPLE-BUCKET2 (il bucket di destinazione) consentono anche la replica dei metadati, come i tag degli oggetti e le liste di controllo degli accessi. Pertanto non è necessario concedere esplicitamente l'autorizzazione per l'operazione s3:ReplicateTags.

    • s3:GetObjectVersionTagging: le autorizzazioni per questa operazione sugli oggetti nel bucket DOC-EXAMPLE-BUCKET1 (bucket di origine) permettono ad Amazon S3 di leggere i tag degli oggetti per la replica. Per ulteriori informazioni, consultare Suddivisione in categorie dello storage utilizzando i tag. Se Amazon S3 non dispone di queste autorizzazioni, replica gli oggetti ma non i relativi tag.

    Per un elenco delle operazioni di Amazon S3, consulta Operazioni di Amazon S3.

    Importante

    L'Account AWS che possiede il ruolo IAM deve disporre delle autorizzazioni per le operazioni che concede al ruolo.

    Supponiamo ad esempio che il bucket di origine contenga oggetti di proprietà di un altro Account AWS. Occorre che il proprietario degli oggetti conceda esplicitamente le autorizzazione richieste all'Account AWS proprietario del ruolo IAM tramite l'ACL degli oggetti. In caso contrario, Amazon S3 non può accedere agli oggetti e la replica degli oggetti ha esito negativo. Per informazioni sulle autorizzazioni ACL, consulta la sezione Panoramica delle liste di controllo accessi (ACL).

    Le autorizzazioni descritte si riferiscono alla configurazione di replica minima. Se scegli di aggiungere configurazioni di replica facoltative, devi concedere ulteriori autorizzazioni ad Amazon S3. Per ulteriori informazioni, consulta Ulteriori configurazioni di replica.

Concessione di autorizzazioni quando i bucket di origine e di destinazione sono di proprietà di Account AWS diversi

Quando i bucket di origine e di destinazione non sono di proprietà degli stessi account, il proprietario del bucket di destinazione deve aggiungere anche una policy di bucket per concedere al proprietario del bucket di origine le autorizzazioni per eseguire le operazioni di replica, come illustrato di seguito. In questa policy, DOC-EXAMPLE-BUCKET2 è il nome del bucket di destinazione.

Se crei il ruolo manualmente, imposta il percorso del ruolo come role/service-role/ in base alla policy seguente. Per ulteriori informazioni, consulta IAM Roles (Ruoli IAM) nella Guida per l'utente di IAM.

{ "Version":"2012-10-17", "Id":"PolicyForDestinationBucket", "Statement":[ { "Sid":"Permissions on objects", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role" }, "Action":[ "s3:ReplicateDelete", "s3:ReplicateObject" ], "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET2/*" }, { "Sid":"Permissions on bucket", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::SourceBucket-account-ID:role/service-role/source-account-IAM-role" }, "Action": [ "s3:List*", "s3:GetBucketVersioning", "s3:PutBucketVersioning" ], "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET2" } ] }

Per un esempio, consultare Configurazione della replica quando i bucket di origine e di destinazione sono di proprietà di account diversi.

In presenza di oggetti con tag nel bucket di origine, tenere in considerazione quanto segue:

  • Se il proprietario del bucket di origine concede ad Amazon S3 l'autorizzazione per le operazioni s3:GetObjectVersionTagging e s3:ReplicateTags per replicare i tag degli oggetti (tramite il ruolo IAM), Amazon S3 replica i tag insieme agli oggetti. Per informazioni sul ruolo IAM, consulta Creazione di un ruolo IAM.

  • Se il proprietario del bucket di destinazione non desidera replicare i tag, può aggiungere l'istruzione seguente alla policy del bucket di destinazione per rifiutare esplicitamente l'autorizzazione per l'operazione s3:ReplicateTags. In questa politica, DOC-EXAMPLE-BUCKET2è il nome del bucket di destinazione.

    ... "Statement":[ { "Effect":"Deny", "Principal":{ "AWS":"arn:aws:iam::SourceBucket-account-id:role/service-role/source-account-IAM-role" }, "Action":"s3:ReplicateTags", "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET2/*" } ] ...

Modifica del proprietario della replica

Quando i bucket di origine e di destinazione sono di proprietà di Account AWS diversi, è possibile fare in modo che Amazon S3 modifichi la proprietà della replica assegnandola all'Account AWS proprietario del bucket di destinazione. Per ulteriori informazioni sulla sovrascrittura del proprietario, consulta Modifica del proprietario della replica.

Abilita la ricezione di oggetti replicati da un bucket di origine

È possibile generare rapidamente le policy necessarie per abilitare la ricezione di oggetti replicati da un bucket di origine tramite AWS Management Console.

  1. Accedi alla AWS Management Console e apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.

  2. Nel pannello di navigazione a sinistra, scegli Buckets (Bucket).

  3. Nell'elenco Buckete, scegliere il bucket da utilizzare come bucket di destinazione.

  4. Seleziona la scheda Gestione, quindi scorri verso il basso fino a Regole di replica.

  5. Per Operazioni, scegliere Ricevi oggetti replicati.

    Segui le istruzioni e inserisci l'ID Account AWS dell'account bucket di origine e scegli Generazione di policy. Ciò genererà una policy di bucket Amazon S3 e una policy di chiave KMS.

  6. Per aggiungere questa policy alla policy del bucket esistente, scegli Applica le impostazioni oppure scegli Copia per copiare manualmente le modifiche.

  7. (Opzionale) Copia la policy AWS KMS per la policy chiave KMS desiderata sulla console AWS Key Management Service.