Impostazione delle autorizzazioni per la replica in tempo reale - 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à.

Impostazione delle autorizzazioni per la replica in tempo reale

Quando si configura la replica live in Amazon S3, è necessario acquisire le autorizzazioni necessarie come segue:

  • Amazon S3 necessita delle autorizzazioni per replicare gli oggetti per tuo conto. Concedi queste autorizzazioni creando un ruolo AWS Identity and Access Management (IAM) e quindi specificando quel ruolo 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 inoltre concedere al proprietario del bucket di origine le autorizzazioni per archiviare le repliche.

Creare 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. Tali autorizzazioni vengono concesse creando un IAM ruolo e specificandolo nella configurazione di replica.

Questa sezione spiega la politica di attendibilità e la politica di autorizzazioni minime richieste associate a questo ruolo. IAM Le procedure dettagliate di esempio forniscono step-by-step istruzioni per creare un ruolo. IAM Per ulteriori informazioni, consulta Esempi di configurazione della replica in tempo reale.

La politica di fiducia identifica quali identità principali possono assumere il ruolo. IAM La politica delle autorizzazioni specifica quali azioni il IAM ruolo può eseguire, su quali risorse e in quali condizioni.

  • L'esempio seguente mostra una politica di fiducia in cui si identifica Amazon S3 come Servizio AWS principale che può assumere il ruolo:

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
  • L'esempio seguente mostra una policy di fiducia in cui si identificano Amazon S3 e S3 Batch Operations come responsabili del servizio che possono assumere il ruolo. Utilizza questo approccio se stai creando un processo di replica in batch. Per ulteriori informazioni, consulta Creare un processo di replica in batch per nuove regole o destinazioni di replica.

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

    Per ulteriori informazioni sui IAM ruoli, consulta IAMi ruoli nella Guida per l'IAMutente.

  • L'esempio seguente mostra la politica delle autorizzazioni, in base alla quale concedi al IAM 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, amzn-s3-demo-source-bucket è il bucket di origine e amzn-s3-demo-destination-bucket è il nome del bucket di destinazione.

    { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Resource":[ "arn:aws:s3:::amzn-s3-demo-source-bucket/*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" } ] }

    La politica delle autorizzazioni concede le autorizzazioni per le seguenti azioni:

    • s3:GetReplicationConfiguratione s3:ListBucket — Le autorizzazioni per queste azioni sul amzn-s3-demo-source-bucket bucket 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:GetObjectVersionForReplicatione s3:GetObjectVersionAcl — Le autorizzazioni per queste azioni vengono concesse su tutti gli oggetti per consentire ad Amazon S3 di ottenere una versione specifica dell'oggetto e una lista di controllo dell'accesso ACL () associata agli oggetti.

    • s3:ReplicateObject e s3:ReplicateDelete: le autorizzazioni per queste operazioni sugli oggetti nel bucket di amzn-s3-demo-destination-bucket permettono ad Amazon S3 di replicare gli oggetti o i contrassegni di eliminazione 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's3:ReplicateObjectazione sul amzn-s3-demo-destination-bucket bucket consentono anche la replica di metadati come tag di oggetti e. ACLs Pertanto non è necessario concedere esplicitamente l'autorizzazione per l'operazione s3:ReplicateTags.

    • s3:GetObjectVersionTagging— Le autorizzazioni per questa azione sugli oggetti nel amzn-s3-demo-source-bucket bucket consentono ad Amazon S3 di leggere i tag degli oggetti per la replica. Per ulteriori informazioni sui tag degli oggetti, consulta Suddivisione in categorie dello storage utilizzando i tag. Se Amazon S3 non dispone dell's3:GetObjectVersionTaggingautorizzazione, replica gli oggetti, ma non i tag degli oggetti.

    Per un elenco delle azioni di Amazon S3, consulta Azioni, risorse e chiavi di condizione per Amazon S3 nel Service Authorization Reference.

    Per ulteriori informazioni sulle autorizzazioni alle API operazioni S3 in base ai tipi di risorse S3, consulta. Autorizzazioni richieste per le operazioni di Amazon API S3

    Importante

    Il Account AWS proprietario del IAM ruolo deve disporre delle autorizzazioni per le azioni che concede al ruolo. IAM

    Supponiamo ad esempio che il bucket di origine contenga oggetti di proprietà di un altro Account AWS. Il proprietario degli oggetti deve concedere esplicitamente al proprietario del IAM ruolo Account AWS le autorizzazioni richieste tramite le liste di controllo degli accessi degli oggetti (). ACLs In caso contrario, Amazon S3 non può accedere agli oggetti e la replica degli oggetti ha esito negativo. Per informazioni sulle ACL autorizzazioni, vedere. Panoramica della lista di controllo degli 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. Ad esempio, se desideri replicare oggetti crittografati, devi anche concedere le necessarie autorizzazioni chiave AWS Key Management Service (AWS KMS). Per ulteriori informazioni, consulta Replica di oggetti crittografati (SSE-S3, -, -, -C) SSE KMS DSSE KMS SSE.

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

Quando i bucket di origine e di destinazione non sono di proprietà degli stessi account, il proprietario del bucket di destinazione deve inoltre aggiungere una policy relativa al bucket per concedere al proprietario del bucket di origine le autorizzazioni per eseguire azioni di replica, come illustrato nell'esempio seguente. In questo esempio di policy, è il bucket di destinazione. amzn-s3-demo-destination-bucket

Puoi anche utilizzare la console Amazon S3 per generare automaticamente questa bucket policy per te. Per ulteriori informazioni, consulta Abilitare la ricezione di oggetti replicati da un bucket di origine.

Nota

Il ARN formato del ruolo potrebbe apparire diverso. Se il ruolo è stato creato utilizzando la console, il ARN formato èarn:aws:iam::account-ID:role/service-role/role-name. Se il ruolo è stato creato utilizzando il AWS CLI, il ARN formato èarn:aws:iam::account-ID:role/role-name. Per ulteriori informazioni, consulta IAMi ruoli nella Guida IAM per l'utente.

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

Per vedere un esempio, consulta Configurazione della replica per i bucket in diversi account.

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 i tag s3:ReplicateTags e s3:GetObjectVersionTagging le azioni di replica degli oggetti (tramite IAM il ruolo), Amazon S3 replica i tag insieme agli oggetti. Per informazioni sul ruolo, consulta. IAM Creare 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, amzn-s3-demo-destination-bucketè il nome del bucket di destinazione.

    ... "Statement":[ { "Effect":"Deny", "Principal":{ "AWS":"arn:aws:iam::source-bucket-account-id:role/service-role/source-account-IAM-role" }, "Action":"s3:ReplicateTags", "Resource":"arn:aws:s3:::amzn-s3-demo-destination-bucket/*" } ] ...
Nota

Se si desidera replicare oggetti crittografati, è inoltre necessario concedere le necessarie autorizzazioni di chiave AWS Key Management Service (AWS KMS). Per ulteriori informazioni, consulta Replica di oggetti crittografati (SSE-S3, -, -, -C) SSE KMS DSSE KMS SSE.

Abilita la ricezione di oggetti replicati da un bucket di origine

Invece di aggiungere manualmente la policy precedente al bucket di destinazione, puoi generare rapidamente le policy necessarie per consentire la ricezione di oggetti replicati da un bucket di origine tramite la console Amazon S3.

  1. Accedi a 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' Account AWS ID dell'account bucket di origine, quindi scegli Genera politiche. La console genera una policy per i bucket di Amazon S3 e una KMS policy chiave.

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

  7. (Facoltativo) Copia la AWS KMS policy nella policy KMS chiave desiderata nella AWS Key Management Service console.

Modifica del proprietario della replica

Se Account AWS il bucket di origine e quello di destinazione sono diversi, puoi chiedere ad Amazon S3 di cambiare la proprietà della replica con quella proprietaria del bucket di Account AWS destinazione. Per ulteriori informazioni sulla sovrascrittura del proprietario, consulta Modifica del proprietario della replica.

Concessione di autorizzazioni per le operazioni in batch S3

S3 Batch Replication offre un modo per replicare i seguenti oggetti:

  • Oggetti che esistevano prima dell'implementazione di una configurazione di replica

  • Oggetti che sono stati replicati in precedenza

  • Oggetti la cui replica non è riuscita

Puoi creare un processo di replica Batch una tantum quando crei la prima regola in una nuova configurazione di replica o quando aggiungi una nuova destinazione a una configurazione esistente tramite la console Amazon S3. È inoltre possibile avviare la replica in batch per una configurazione di replica esistente creando un processo Batch Operations.

Per un IAM ruolo di Batch Replication ed esempi di policy, vedereConfigurazione di un IAM ruolo per S3 Batch Replication.