Replica di oggetti creati con crittografia lato server (SSE-C, SSE-S3, SSE-KMS, DSSE-KMS) - 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à.

Replica di oggetti creati con crittografia lato server (SSE-C, SSE-S3, SSE-KMS, DSSE-KMS)

Importante

Amazon S3 ora applica la crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3) come livello di base della crittografia per ogni bucket di Amazon S3. A partire dal 5 gennaio 2023, tutti i caricamenti di nuovi oggetti su Amazon S3 vengono crittografati automaticamente senza costi aggiuntivi e senza alcun impatto sulle prestazioni. Lo stato di crittografia automatico per la configurazione di crittografia predefinita del bucket S3 e per il caricamento di nuovi oggetti è disponibile nei AWS CloudTrail log, in S3 Inventory, S3 Storage Lens, nella console Amazon S3 e come intestazione di risposta dell'API Amazon S3 aggiuntiva negli SDK and. AWS Command Line Interface AWS Per ulteriori informazioni, consulta Domande frequenti sulla crittografia predefinita.

Quando si replicano oggetti che sono stati crittografati utilizzando la crittografia lato server, è necessario prestare particolare attenzione. Amazon S3 supporta i seguenti tipi di crittografia lato server:

  • Crittografia lato server con chiavi gestite da Amazon S3 (SSE-S3)

  • Crittografia lato AWS Key Management Service server AWS KMS con chiavi () (SSE-KMS)

  • Crittografia lato server a doppio livello con chiavi (DSSE-KMS) AWS KMS

  • Crittografia lato server con chiavi fornite dal cliente (SSE-C)

Per ulteriori informazioni sulla crittografia lato server, consulta Protezione dei dati con la crittografia lato server.

Questo argomento spiega le autorizzazioni necessarie per indirizzare Amazon S3 a replicare oggetti che sono stati crittografati utilizzando la crittografia lato server. Questo argomento fornisce anche elementi di configurazione aggiuntivi che è possibile aggiungere ed esempi di policy AWS Identity and Access Management (IAM) che concedono le autorizzazioni necessarie per la replica di oggetti crittografati.

Per un esempio con step-by-step istruzioni, vedere. Replica di oggetti crittografati Per informazioni sulla creazione di una configurazione di replica, consulta Replica di oggetti.

Nota

Puoi usare più regioni AWS KMS keys in Amazon S3. Tuttavia, Amazon S3 attualmente tratta le chiavi multi-regione come se fossero chiavi a regione singola e non utilizza le caratteristiche multi-regione della chiave. Per ulteriori informazioni, consulta Utilizzo delle chiavi multi-regione nella Guida per gli sviluppatori di AWS Key Management Service .

In che modo la crittografia predefinita del bucket influisce sulla replica

Una volta abilitata la crittografia predefinita per un bucket di destinazione della replica, si applica il seguente comportamento di crittografia:

  • Se gli oggetti nel bucket di origine non sono crittografati, gli oggetti replicati nel bucket di destinazione vengono crittografati in base alle impostazioni di crittografia predefinita del bucket di destinazione. Di conseguenza, i tag di entità (ETag) degli oggetti di origine differiscono dagli ETag degli oggetti di replica. Se disponi di applicazioni che utilizzano ETag, devi aggiornarle per tenere conto di questa differenza.

  • Se gli oggetti nel bucket di origine sono crittografati utilizzando la crittografia lato server con chiavi gestite Amazon S3 (SSE-S3), la crittografia lato server con chiavi () (SSE-KMS AWS KMS) o la crittografia lato server a doppio livello con AWS Key Management Service AWS KMS chiavi (DSSE-KMS), gli oggetti di replica nel bucket di destinazione utilizzano lo stesso tipo di crittografia degli oggetti di origine. Le impostazioni della crittografia predefinita del bucket di destinazione non vengono utilizzate.

Replica di oggetti crittografati con SSE-C

Utilizzando la crittografia lato server con le chiavi fornite dal cliente (SSE-C), puoi gestire le chiavi di crittografia di proprietà. Con SSE-C, puoi gestire le chiavi mentre Amazon S3 si occupa del processo di crittografia e decrittografia. È necessario fornire una chiave di crittografia come parte della richiesta, ma non è necessario scrivere codice per eseguire la crittografia o la decrittografia degli oggetti. Quando carichi un oggetto, Amazon S3 ne esegue la crittografia utilizzando la chiave che hai specificato. Quindi Amazon S3 elimina la chiave dalla memoria. Quando viene recuperato un oggetto, è necessario fornire la stessa chiave di crittografia come parte della richiesta. Per ulteriori informazioni, consulta Utilizzo della crittografia lato server con chiavi fornite dal cliente (SSE-C).

S3 Replication supporta oggetti crittografati con SSE-C. Puoi configurare la replica di oggetti SSE-C nella console Amazon S3 o con gli AWS SDK, allo stesso modo in cui configuri la replica per oggetti non crittografati. Non sono disponibili autorizzazioni SSE-C aggiuntive oltre a quelle attualmente richieste per la replica.

La replica S3 replica automaticamente gli oggetti crittografati con SSE-C appena caricati, se idonei, secondo la configurazione di replica S3 specificata. Per la replica di oggetti esistenti nei bucket, utilizza la replica in batch in S3. Per ulteriori informazioni sulla replica di oggetti, consulta Impostazione della replica e Replica di oggetti esistenti con S3 Batch Replication.

Non sono previsti costi aggiuntivi per la replica di oggetti SSE-C. Per informazioni dettagliate sui prezzi della replica, consulta la pagina Prezzi di Amazon S3.

Replica di oggetti crittografati con SSE-S3, SSE-KMS o DSSE-KMS

Per impostazione predefinita, Amazon S3 non replica gli oggetti crittografati con SSE-KMS o DSSE-KMS. Questa sezione illustra un'ulteriore configurazione che puoi aggiungere per fare in modo che Amazon S3 replichi questi oggetti.

Per un esempio con istruzioni, consulta. step-by-step Replica di oggetti crittografati Per informazioni sulla creazione di una configurazione di replica, consulta Replica di oggetti.

Specifica di informazioni aggiuntive nella configurazione di replica

Nella configurazione di replica, è necessario eseguire queste operazioni:

  • Nell'Destinationelemento della configurazione di replica, aggiungi l'ID della chiave simmetrica gestita dal AWS KMS cliente che desideri che Amazon S3 utilizzi per crittografare le repliche degli oggetti, come mostrato nel seguente esempio di configurazione di replica.

  • Specifica esplicitamente la funzione abilitando la replica di oggetti crittografati mediante le chiavi KMS (SSE-KMS o DSSE-KMS). Per attivare, aggiungi l'elemento SourceSelectionCriteria, come mostrato nel seguente esempio di configurazione della replica.

<ReplicationConfiguration> <Rule> ... <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> <Destination> ... <EncryptionConfiguration> <ReplicaKmsKeyID>AWS KMS key ARN or Key Alias ARN that's in the same Regione AWS as the destination bucket.</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> ... </Rule> </ReplicationConfiguration>
Importante

La chiave KMS deve essere stata creata nello stesso modo in cui sono stati creati i bucket di destinazione. Regione AWS

Chiave KMS deve essere valida. L'operazione PutBucketReplication dell'API non controlla la validità delle chiavi KMS. Se utilizzi una chiave KMS non valida, viene restituito il codice di stato HTTP 200 OK in risposta, ma la replica non riesce.

Nell'esempio seguente viene illustrata una configurazione di replica che include gli elementi di configurazione opzionali. Questa configurazione di replica ha una regola. La regola si applica agli oggetti con il prefisso della chiave Tax. Amazon S3 utilizza l'ID AWS KMS key  specificato per crittografare queste repliche di oggetti.

<?xml version="1.0" encoding="UTF-8"?> <ReplicationConfiguration> <Role>arn:aws:iam::account-id:role/role-name</Role> <Rule> <ID>Rule-1</ID> <Priority>1</Priority> <Status>Enabled</Status> <DeleteMarkerReplication> <Status>Disabled</Status> </DeleteMarkerReplication> <Filter> <Prefix>Tax</Prefix> </Filter> <Destination> <Bucket>arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET</Bucket> <EncryptionConfiguration> <ReplicaKmsKeyID>AWS KMS key ARN or Key Alias ARN that's in the same Regione AWS as the destination bucket. (S3 uses this key to encrypt object replicas.)</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> </Rule> </ReplicationConfiguration>

Concessione di autorizzazioni aggiuntive per il ruolo IAM

Per replicare oggetti crittografati a riposo utilizzando SSE-S3, SSE-KMS o DSSE-KMS, concedi le seguenti autorizzazioni aggiuntive al ruolo (IAM) specificato nella configurazione di replica. AWS Identity and Access Management Queste autorizzazioni vengono concesse aggiornando la policy di autorizzazione associata al ruolo IAM.

  • Operazione s3:GetObjectVersionForReplication per gli oggetti di origine: consente ad Amazon S3 di replicare gli oggetti non crittografati e gli oggetti creati con la crittografia lato server mediante le chiavi SSE-S3, SSE-KMS o DSSE-KMS.

    Nota

    Ti consigliamo di utilizzare l'operazione s3:GetObjectVersionForReplication anziché l'operazione s3:GetObjectVersion in quanto s3:GetObjectVersionForReplication concede ad Amazon S3 solo le autorizzazioni minime necessarie per la replica. Inoltre, l'operazione s3:GetObjectVersion permette la replica di oggetti non crittografati e crittografati SSE-S3, ma non di oggetti crittografati utilizzando le chiavi KMS (SSE-KMS o DSSE-KMS).

  • kms:Decryptkms:Encrypt AWS KMS e azioni per le chiavi KMS

    • È necessario concedere le autorizzazioni kms:Decrypt per la AWS KMS key utilizzata per decrittografare l'oggetto di origine.

    • È necessario concedere le autorizzazioni kms:Encrypt per la AWS KMS key utilizzata per crittografare la replica dell'oggetto.

  • Operazione kms:GenerateDataKey per la replica di oggetti in testo normale: se stai replicando oggetti di testo normale in un bucket con la crittografia SSE-KMS o DSSE-KMS abilitata per impostazione predefinita, devi includere l'autorizzazione kms:GenerateDataKey per il contesto di crittografia di destinazione e la chiave KMS nella policy IAM.

Ti consigliamo di limitare queste autorizzazioni solo ai bucket e agli oggetti di destinazione utilizzando AWS KMS le chiavi di condizione. Il Account AWS titolare del ruolo IAM deve disporre delle kms:Decrypt autorizzazioni kms:Encrypt e delle azioni per le chiavi KMS elencate nella policy. Se le chiavi KMS sono di proprietà di un altro Account AWS, il proprietario delle chiavi KMS deve concedere queste autorizzazioni al proprietario del Account AWS ruolo IAM. Per ulteriori informazioni sulla gestione dell'accesso a queste chiavi KMS, consulta Using IAM Policies with AWS KMS nella Developer Guide. AWS Key Management Service

Chiavi bucket S3 e replica

Per utilizzare la replica con una chiave S3 Bucket, la AWS KMS key policy per la chiave KMS utilizzata per crittografare la replica dell'oggetto deve includere l'autorizzazione per il principale chiamante. kms:Decrypt La chiamata a kms:Decrypt verifica l'integrità della chiave bucket S3 prima del suo utilizzo. Per ulteriori informazioni, consulta Utilizzo di una chiave bucket S3 con la replica.

Quando una chiave del bucket S3 è abilitata per il bucket di origine o di destinazione, il contesto di crittografia sarà il nome della risorsa Amazon (ARN) del bucket e non l'ARN dell'oggetto, ad esempio arn:aws:s3:::bucket_ARN. Dovrai aggiornare le policy IAM per utilizzare l'ARN del bucket per il contesto di crittografia:

"kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::bucket_ARN" ]

Per ulteriori informazioni, consulta Contesto di crittografia (x-amz-server-side-encryption-context) (nella sezione relativa a REST API) e Modifiche alla nota prima dell'abilitazione di una chiave bucket S3.

Policy di esempio: utilizzo di SSE-S3 e SSE-KMS con la replica

Le policy IAM di esempio riportate di seguito mostrano le istruzioni per utilizzare SSE-S3 e SSE-KMS con la replica.

Esempio - Utilizzo di SSE-KMS con bucket di destinazione separati

La seguente policy di esempio mostra le istruzioni per utilizzare SSE-KMS con bucket di destinazione separati.

{ "Version":"2012-10-17", "Statement":[ { "Action": ["kms:Decrypt"], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": "s3.source-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET/key-prefix1*" ] } }, "Resource": [ "List of AWS KMS key ARNs that are used to encrypt source objects." ] }, { "Action": ["kms:Encrypt"], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": "s3.destination-bucket-1-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET1/key-prefix1*" ] } }, "Resource": [ "AWS KMS key ARNs (in the same Regione AWS as destination bucket 1). Used to encrypt object replicas created in destination bucket 1." ] }, { "Action": ["kms:Encrypt"], "Effect": "Allow", "Condition": { "StringLike": { "kms:ViaService": "s3.destination-bucket-2-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET2/key-prefix1*" ] } }, "Resource": [ "AWS KMS key ARNs (in the same Regione AWS as destination bucket 2). Used to encrypt object replicas created in destination bucket 2." ] } ] }
Esempio - Replica di oggetti creati con SSE-S3 e SSE-KMS

Di seguito è riportata una policy IAM completa che concede le autorizzazioni necessarie per la replica di oggetti non crittografati, oggetti creati con SSE-S3 e oggetti creati con SSE-KMS.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET/key-prefix1*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete" ], "Resource":"arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/key-prefix1*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.source-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET/key-prefix1*" ] } }, "Resource":[ "List of the AWS KMS key ARNs that are used to encrypt source objects." ] }, { "Action":[ "kms:Encrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.destination-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/prefix1*" ] } }, "Resource":[ "AWS KMS key ARNs (in the same Regione AWS as the destination bucket) to use for encrypting object replicas" ] } ] }
Esempio -  Replica oggetti con chiavi bucket S3

Di seguito è riportata una policy IAM completa che concede le autorizzazioni necessarie per la replica degli oggetti con chiavi bucket S3.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET/key-prefix1*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete" ], "Resource":"arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/key-prefix1*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.source-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET" ] } }, "Resource":[ "List of the AWS KMS key ARNs that are used to encrypt source objects." ] }, { "Action":[ "kms:Encrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.destination-bucket-region.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET" ] } }, "Resource":[ "AWS KMS key ARNs (in the same Regione AWS as the destination bucket) to use for encrypting object replicas" ] } ] }

Concessione di autorizzazioni aggiuntive per scenari multi-account

In uno scenario con più account, in cui i bucket di origine e di destinazione sono di proprietà di diversi Account AWS, puoi utilizzare una chiave KMS per crittografare le repliche degli oggetti. Tuttavia, il proprietario della chiave KMS deve concedere al proprietario del bucket di origine l'autorizzazione per utilizzare la chiave KMS.

Nota

Gli oggetti crittografati tramite Chiavi gestite da AWS non possono essere condivisi in modalità multi-account perché non è possibile modificare le policy della chiave. Se è necessario replicare i dati SSE-KMS su più account, è necessario utilizzare una chiave gestita dal cliente da. AWS KMS

Per concedere al proprietario del bucket di origine l'autorizzazione per l'utilizzo della chiave KMS (console AWS KMS )
  1. Accedi AWS Management Console e apri la console all'indirizzo https://console.aws.amazon.com/kms. AWS KMS

  2. Per modificare la Regione AWS, usa il selettore della regione nell'angolo in alto a destra della pagina.

  3. Per visualizzare le chiavi nell'account creato e gestito dall'utente, nel riquadro di navigazione, seleziona Chiavi gestite dal cliente.

  4. Scegli la chiave KMS.

  5. In Configurazione generale, seleziona la scheda Policy delle chiavi.

  6. Scorri verso il basso fino a Altro. Account AWS

  7. Scegli Aggiungi altro Account AWS.

    Viene visualizzata la Account AWS finestra di dialogo Altro.

  8. Nella finestra di dialogo, scegli Aggiungi un altro Account AWS. Per arn:aws:iam::, inserisci l'ID account del bucket di origine.

  9. Seleziona Salvataggio delle modifiche.

Per concedere al proprietario del bucket di origine l'autorizzazione per l'utilizzo della chiave KMS (AWS CLI)

AWS KMS considerazioni sulle quote di transazione

Quando si aggiungono molti nuovi oggetti con AWS KMS crittografia dopo aver abilitato la replica tra regioni (CRR), è possibile che si verifichi una limitazione (errori HTTP). 503 Service Unavailable La limitazione (della larghezza di banda della rete) si verifica quando il numero di transazioni AWS KMS al secondo supera la quota corrente. Per ulteriori informazioni, consulta Quote nella Guida per gli sviluppatori di AWS Key Management Service .

Per richiedere un aumento della quota, è possibile utilizzare Service Quotas. Per ulteriori informazioni, consulta la sezione Richiesta di un aumento di quota. Se Service Quotas non è supportato nella tua regione, apri una AWS Support richiesta.