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à.
Replicazione di oggetti crittografati (SSE-C, -S3, -, SSE -) SSE KMS DSSE KMS
Importante
Amazon S3 ora applica la crittografia lato server con chiavi gestite di Amazon S3 (SSE-S3) come livello base di crittografia per ogni bucket in 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 in AWS CloudTrail log, S3 Inventory, S3 Storage Lens, console Amazon S3 e come intestazione di risposta Amazon S3 aggiuntiva nel API AWS Command Line Interface e AWS SDKs. Per ulteriori informazioni, vedere Crittografia predefinita FAQ.
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 Amazon S3 (-S3) SSE
-
Crittografia lato server con AWS Key Management Service (AWS KMS) tasti (-) SSE KMS
-
Crittografia lato server a doppio livello con AWS KMS tasti (-) DSSE KMS
-
Crittografia lato server con chiavi fornite dal cliente (-C) SSE
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 come esempio AWS Identity and Access Management (IAM) politiche che concedono le autorizzazioni necessarie per replicare oggetti crittografati.
Per un esempio con step-by-step istruzioni, vedere. Abilitazione della replica per oggetti crittografati Per informazioni sulla creazione di una configurazione di replica, consulta Panoramica sulla replica degli oggetti.
Nota
È possibile utilizzare Multiregione 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 di chiavi multiregionali in AWS Key Management Service Guida per gli sviluppatori.
Argomenti
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à (ETags) degli oggetti di origine differiscono da quelli ETags degli oggetti di replica. Se disponi di applicazioni che utilizzanoETags, 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 di Amazon S3 (SSE-S3), la crittografia lato server con AWS Key Management Service (AWS KMS) chiavi (SSE-) o crittografia lato server a doppio livello con KMS AWS KMS keys (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 -C SSE
Utilizzando la crittografia lato server con chiavi fornite dal cliente (SSE-C), è possibile gestire le proprie chiavi di crittografia proprietarie. Con SSE -C, gestisci le chiavi mentre Amazon S3 gestisce il 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 (-C) SSE.
S3 Replication supporta oggetti crittografati con -C. SSE Puoi configurare la replica di oggetti SSE -C nella console Amazon S3 o con il AWS SDKs, nello 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.
S3 Replication replica automaticamente gli oggetti crittografati SSE -C appena caricati, se idonei, come specificato nella configurazione di S3 Replication. Per la replica di oggetti esistenti nei bucket, utilizza la replica in batch in S3. Per ulteriori informazioni sulla replica di oggetti, consulta Configurazione della replica in tempo reale e Replica di oggetti esistenti con S3 Batch Replication.
Non sono previsti costi aggiuntivi per la replica di oggetti -C. SSE Per informazioni dettagliate sui prezzi della replica, consulta la pagina Prezzi di Amazon S3
Replica di oggetti crittografati con SSE -S3, - o - SSE KMS DSSE KMS
Per impostazione predefinita, Amazon S3 non replica oggetti crittografati con SSE - o -KMS. 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 step-by-step istruzioni, vedi. Abilitazione della replica per oggetti crittografati Per informazioni sulla creazione di una configurazione di replica, consulta Panoramica sulla replica degli oggetti.
Specifica di informazioni aggiuntive nella configurazione di replica
Nella configurazione di replica, è necessario eseguire queste operazioni:
-
Nell'
Destination
elemento della configurazione di replica, aggiungi l'ID del sistema simmetrico AWS KMS chiave gestita dal cliente che desideri che Amazon S3 utilizzi per crittografare le repliche degli oggetti, come illustrato nel seguente esempio di configurazione di replica. -
Attiva esplicitamente il consenso abilitando la replica di oggetti crittografati utilizzando KMS chiavi (- o -). SSE KMS 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 KMS chiave deve essere stata creata nello stesso Regione AWS come bucket di destinazione.
La KMS chiave deve essere valida. L'PutBucketReplication
APIoperazione non verifica la validità delle KMS chiavi. Se utilizzi una KMS chiave non valida, riceverai il codice di HTTP 200 OK
stato in risposta, ma la replica fallisce.
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 quanto specificato AWS KMS key ID 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:::</Bucket> <EncryptionConfiguration> <ReplicaKmsKeyID>
amzn-s3-demo-destination-bucket
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 - o DSSE - KMSKMS, concedi le seguenti autorizzazioni aggiuntive a AWS Identity and Access Management (IAM) ruolo specificato nella configurazione di replica. Puoi concedere queste autorizzazioni aggiornando la politica di autorizzazione associata al ruolo. IAM
-
s3:GetObjectVersionForReplication
azione per oggetti di origine: questa azione consente ad Amazon S3 di replicare sia oggetti non crittografati che oggetti creati con crittografia lato server utilizzando SSE -S3, - o -. SSE KMS DSSE KMSNota
Ti consigliamo di utilizzare l'operazione
s3:GetObjectVersionForReplication
anziché l'operaziones3:GetObjectVersion
in quantos3:GetObjectVersionForReplication
concede ad Amazon S3 solo le autorizzazioni minime necessarie per la replica. Inoltre, l's3:GetObjectVersion
azione consente la replica di oggetti non crittografati e crittografati con SSE -S3, ma non di oggetti crittografati utilizzando chiavi (- o -). KMS SSE KMS DSSE KMS -
kms:Decrypt
ekms:Encrypt
AWS KMS KMSazioni per le chiavi-
È necessario concedere
kms:Decrypt
le autorizzazioni per AWS KMS key utilizzato per decrittografare l'oggetto sorgente. -
È necessario concedere le
kms:Encrypt
autorizzazioni per AWS KMS key utilizzato per crittografare la replica dell'oggetto.
-
-
kms:GenerateDataKey
azione per la replica di oggetti di testo in chiaro: se stai replicando oggetti di testo in chiaro in un bucket con SSE (KMSoDSSE) KMS crittografia abilitata per impostazione predefinita, devi includere l'kms:GenerateDataKey
autorizzazione per il contesto di crittografia di destinazione e la chiave nella policy. KMS IAM
Ti consigliamo di limitare queste autorizzazioni solo ai bucket e agli oggetti di destinazione utilizzando AWS KMS tasti di condizione. Il Account AWS il titolare del IAM ruolo deve disporre delle kms:Decrypt
autorizzazioni kms:Encrypt
e delle azioni relative alle KMS chiavi elencate nella policy. Se le KMS chiavi sono di proprietà di un altro Account AWS, il proprietario delle KMS chiavi deve concedere queste autorizzazioni a Account AWS che possiede il IAM ruolo. Per ulteriori informazioni sulla gestione dell'accesso a queste KMS chiavi, vedere Utilizzo IAM delle politiche con AWS KMSnel AWS Key Management Service Guida per gli sviluppatori.
Chiavi bucket S3 e replica
Per utilizzare la replica con una chiave S3 Bucket, il AWS KMS key la politica per la KMS chiave utilizzata per crittografare la replica dell'oggetto deve includere l'kms:Decrypt
autorizzazione per il principale chiamante. 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 S3 Bucket Key è abilitata per il bucket di origine o di destinazione, il contesto di crittografia sarà l'Amazon Resource Name ARN () del bucket, non ARN quello dell'oggetto (ad esempio,). arn:aws:s3:::
Devi aggiornare IAM le tue policy per utilizzare il bucket ARN per il contesto di crittografia:bucket_ARN
"kms:EncryptionContext:aws:s3:arn": [ "arn:aws:s3:::
bucket_ARN
" ]
Per ulteriori informazioni, vedere Contesto di crittografia (x-amz-server-side-encryption-context) (nella sezione «Uso del RESTAPI") eModifiche alla nota prima dell'abilitazione di una chiave bucket S3.
Criteri di esempio: utilizzo SSE di -S3 e SSE - KMS con replica
Le IAM politiche di esempio seguenti mostrano le istruzioni per l'utilizzo di SSE -S3 e - con replica. SSE KMS
Esempio — Utilizzo di - con SSE bucket di KMS destinazione separati
La seguente politica di esempio mostra le istruzioni da 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:::/
amzn-s3-demo-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:::/
amzn-s3-demo-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:::/
amzn-s3-demo-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 IAM politica completa che concede le autorizzazioni necessarie per replicare 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:::
" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::
amzn-s3-demo-source-bucket
/
amzn-s3-demo-source-bucket
key-prefix1
*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete" ], "Resource":"arn:aws:s3:::/
amzn-s3-demo-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:::/
amzn-s3-demo-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:::/
amzn-s3-demo-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 IAM politica completa che concede le autorizzazioni necessarie per replicare oggetti con S3 Bucket Keys.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:GetReplicationConfiguration", "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::
" ] }, { "Effect":"Allow", "Action":[ "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl" ], "Resource":[ "arn:aws:s3:::
amzn-s3-demo-source-bucket
/
amzn-s3-demo-source-bucket
key-prefix1
*" ] }, { "Effect":"Allow", "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete" ], "Resource":"arn:aws:s3:::/
amzn-s3-demo-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:::" ] } }, "Resource":[ "
amzn-s3-demo-source-bucket
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:::" ] } }, "Resource":[ "
amzn-s3-demo-destination-bucket
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 che coinvolge più account, in cui i bucket di origine e di destinazione sono di proprietà di diversi Account AWS, è possibile utilizzare una KMS chiave per crittografare le repliche degli oggetti. Tuttavia, il proprietario della KMS chiave deve concedere al proprietario del bucket di origine l'autorizzazione a utilizzare la chiave. KMS
Nota
Se è necessario SSE replicare KMS i dati su più account, la regola di replica deve specificare una chiave gestita dal cliente da AWS KMS per l'account di destinazione. Chiavi gestite da AWSnon consentono l'uso su più account e pertanto non possono essere utilizzati per eseguire la replica tra account.
Per concedere al proprietario del bucket di origine l'autorizzazione a utilizzare la chiave (KMS AWS KMS console)
-
Accedere a AWS Management Console e apri il AWS KMS console in https://console.aws.amazon.com/kms
. -
Per modificare il Regione AWS, usa il selettore della regione nell'angolo superiore destro della pagina.
-
Per visualizzare le chiavi nell'account creato e gestito dall'utente, nel riquadro di navigazione, seleziona Chiavi gestite dal cliente.
-
Scegli la chiave KMS.
-
In Configurazione generale, seleziona la scheda Policy delle chiavi.
-
Scorri verso il basso fino a Altro Account AWS.
-
Scegli Aggiungi altro Account AWS.
L'altro Account AWS Viene visualizzata la finestra di dialogo.
-
Nella finestra di dialogo, scegli Aggiungi un altro Account AWS. Per arn:aws:iam::, inserisci l'ID account del bucket di origine.
-
Scegli Save changes (Salva modifiche).
Per concedere al proprietario del bucket di origine il permesso di utilizzare la KMS chiave (AWS CLI)
-
Per informazioni su
put-key-policy
AWS Command Line Interface (AWS CLI comando), vedere put-key-policynel AWS CLI Riferimento ai comandi. Per informazioni sull'PutKeyPolicy
APIoperazione sottostante, vedere PutKeyPolicy nella AWS Key Management Service APIRiferimento.
AWS KMS considerazioni sulle quote di transazione
Quando si aggiungono molti nuovi oggetti con AWS KMS dopo aver abilitato Cross-Region Replication (CRR), è possibile che si verifichino limitazioni (errori). HTTP 503 Service
Unavailable
La limitazione si verifica quando il numero di AWS KMS
le transazioni al secondo superano la quota corrente. Per ulteriori informazioni, vedere Quotas in AWS Key Management Service Guida per gli sviluppatori.
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 un AWS Support caso
Abilitazione della replica per oggetti crittografati
Per impostazione predefinita, Amazon S3 non replica oggetti crittografati utilizzando la crittografia lato server con AWS Key Management Service (AWS KMS) chiavi (SSE-KMS) o crittografia lato server a doppio livello con AWS KMS tasti (-). DSSE KMS Per replicare oggetti crittografati con SSE - KMS o DSS -KMS, devi modificare la configurazione di replica del bucket per dire ad Amazon S3 di replicare questi oggetti. Questo esempio spiega come utilizzare la console Amazon S3 e il AWS Command Line Interface (AWS CLI) per modificare la configurazione di replica del bucket per consentire la replica di oggetti crittografati.
Per ulteriori informazioni, consulta Replicazione di oggetti crittografati (SSE-C, -S3, -, SSE -) SSE KMS DSSE KMS.
Nota
Quando una S3 Bucket Key è abilitata per il bucket di origine o di destinazione, il contesto di crittografia sarà l'Amazon Resource Name ARN () del bucket, non quello dell'oggetto. ARN È necessario aggiornare IAM le policy per utilizzare il bucket ARN per il contesto di crittografia. Per ulteriori informazioni, consulta Chiavi bucket S3 e replica.
Nota
È possibile utilizzare Multi-regione 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 di chiavi multiregionali in AWS Key Management Service Guida per gli sviluppatori.
Per step-by-step istruzioni, consultaConfigurazione della replica per i bucket di origine e di destinazione di proprietà dello stesso account. Questo argomento fornisce istruzioni per impostare una configurazione di replica quando i bucket sono di proprietà uguale o diversa Account AWS.
Per replicare oggetti crittografati con AWS CLI, si effettuano le seguenti operazioni:
-
Crea i bucket di origine e di destinazione e abilita il controllo delle versioni per questi bucket.
-
Crea un AWS Identity and Access Management (IAM) ruolo di servizio che autorizza Amazon S3 a replicare oggetti. Le autorizzazioni del IAM ruolo includono le autorizzazioni necessarie per replicare gli oggetti crittografati.
-
Aggiungi una configurazione di replica al bucket di origine. La configurazione di replica fornisce informazioni relative alla replica di oggetti crittografati mediante chiavi. KMS
-
Aggiungi gli oggetti crittografati al bucket di origine.
-
Esegui il test della configurazione per verificare che gli oggetti crittografati vengano replicati nel bucket di destinazione.
Le procedure seguenti ti guidano attraverso questo processo.
Per replicare oggetti crittografati sul lato server (AWS CLI)
-
In questo esempio, si creano entrambi i
eamzn-s3-demo-source-bucket
secchi nello stesso Account AWS Imposti anche un profilo di credenziali per la . AWS CLI. Questo esempio utilizza il nome del profiloamzn-s3-demo-destination-bucket
.acctA
Per ulteriori informazioni sull'impostazione dei profili di credenziali, vedere Profili denominati nella AWS Command Line Interface Guida per l'utente. Per usare i comandi in questo esempio, sostituisci
con le tue informazioni.user input placeholders
-
Usa i seguenti comandi per creare il
bucket e abilita il controllo delle versioni su di esso. I seguenti comandi di esempio creano ilDOC-EXAMPLE-SOURCE-BUCKET
bucket nella regione Stati Uniti orientali (Virginia settentrionale) (DOC-EXAMPLE-SOURCE-BUCKET
us-east-1
).aws s3api create-bucket \ --bucket
\ --regionDOC-EXAMPLE-SOURCE-BUCKET
us-east-1
\ --profileacctA
aws s3api put-bucket-versioning \ --bucket
\ --versioning-configuration Status=Enabled \ --profileDOC-EXAMPLE-SOURCE-BUCKET
acctA
-
Utilizzate i seguenti comandi per creare
bucket e abilita il controllo delle versioni su di esso. I seguenti comandi di esempio creano ilDOC-EXAMPLE-DESTINATION-BUCKET
bucket nella regione Stati Uniti occidentali (Oregon) (DOC-EXAMPLE-DESTINATION-BUCKET
us-west-2
).Nota
Per impostare una configurazione di replica quando entrambi
eDOC-EXAMPLE-SOURCE-BUCKET
i bucket si trovano nello stesso Account AWS, usi lo stesso profilo. In questo esempio viene utilizzatoDOC-EXAMPLE-DESTINATION-BUCKET
. Per configurare la replica quando i bucket sono di proprietà di diversi Account AWS, si specificano profili diversi per ciascuno.acctA
aws s3api create-bucket \ --bucket
\ --regionDOC-EXAMPLE-DESTINATION-BUCKET
us-west-2
\ --create-bucket-configuration LocationConstraint=us-west-2
\ --profileacctA
aws s3api put-bucket-versioning \ --bucket
\ --versioning-configuration Status=Enabled \ --profileDOC-EXAMPLE-DESTINATION-BUCKET
acctA
-
Successivamente, si crea un ruolo IAM di servizio. Specificherai questo ruolo nella configurazione di replica che aggiungerai al
secchio più tardi. Amazon S3 assume questo ruolo per replicare gli oggetti per tuo conto. Puoi creare un IAM ruolo in due passaggi:DOC-EXAMPLE-SOURCE-BUCKET
-
Creazione di un ruolo del servizio
-
Collegare una policy di autorizzazione al ruolo.
-
Per creare un ruolo IAM di servizio, procedi come segue:
-
Copiare la seguente policy di attendibilità e salvala in un file denominato
s3-role-trust-policy-kmsobj.json
nella directory corrente sul computer locale. Questa policy fornisce le autorizzazioni ai principali del servizio Amazon S3 per assumere il ruolo in modo che Amazon S3 possa eseguire attività per tuo conto.{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }
-
Usa il comando seguente per creare il ruolo:
$
aws iam create-role \ --role-namereplicationRolekmsobj
\ --assume-role-policy-document file://s3-role-trust-policy-kmsobj.json \ --profileacctA
-
-
Quindi, collega una policy di autorizzazione al ruolo. Questa policy di accesso concede le autorizzazioni per varie operazioni su oggetti e bucket Amazon S3.
-
Copiare la seguente policy di autorizzazioni e salvarla in un file denominato
s3-role-permissions-policykmsobj.json
nella directory corrente sul computer locale. Creerai un IAM ruolo a cui allegherai la policy in un secondo momento.Importante
Nella politica delle autorizzazioni, si specifica il AWS KMS chiave IDs che verrà utilizzata per la crittografia dei
bucketamzn-s3-demo-destination-bucket
and. È necessario creare due KMS chiavi separate per eamzn-s3-demo-source-bucket
amzn-s3-demo-source-bucket
amzn-s3-demo-destination-bucket
secchi. AWS KMS keys non sono condivisi al di fuori del Regione AWS in cui sono stati creati.{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:ListBucket", "s3:GetReplicationConfiguration", "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::
", "arn:aws:s3:::amzn-s3-demo-source-bucket
/*" ] }, { "Action":[ "s3:ReplicateObject", "s3:ReplicateDelete", "s3:ReplicateTags" ], "Effect":"Allow", "Condition":{ "StringLikeIfExists":{ "s3:x-amz-server-side-encryption":[ "aws:kms", "AES256", "aws:kms:dsse" ], "s3:x-amz-server-side-encryption-aws-kms-key-id":[ "amzn-s3-demo-source-bucket
AWS KMS key IDs(in ARN format) to use for encrypting object replicas
" ] } }, "Resource":"arn:aws:s3:::
/*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::amzn-s3-demo-destination-bucket
/*" ] } }, "Resource":[ "amzn-s3-demo-source-bucket
AWS KMS key IDs(in ARN format) used to encrypt source objects.
" ] }, { "Action":[ "kms:Encrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.us-west-2.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::
/*" ] } }, "Resource":[ "amzn-s3-demo-destination-bucket
AWS KMS key IDs(in ARN format) to use for encrypting object replicas
" ] } ] } -
Creare una policy e collegarla al ruolo.
$
aws iam put-role-policy \ --role-name replicationRolekmsobj \ --policy-document file://s3-role-permissions-policykmsobj.json \ --policy-name replicationRolechangeownerPolicy \ --profileacctA
-
-
-
Quindi, aggiungi la seguente configurazione di replica al bucket
che indica ad Amazon S3 di replicare gli oggetti con prefissoamzn-s3-demo-source-bucket
Tax/
nel bucket
.amzn-s3-demo-destination-bucket
Importante
Nella configurazione di replica, si specifica il IAM ruolo che Amazon S3 può assumere. Puoi effettuare questa operazione solo se disponi dell'autorizzazione
iam:PassRole
. Il profilo specificato nel CLI comando deve avere questa autorizzazione. Per ulteriori informazioni, vedere Concessione a un utente delle autorizzazioni per passare un ruolo a un Servizio AWS nella Guida per l'utente di IAM.<ReplicationConfiguration> <Role>
IAM-Role-ARN
</Role> <Rule> <Priority>1</Priority> <DeleteMarkerReplication> <Status>Disabled</Status> </DeleteMarkerReplication> <Filter> <Prefix>Tax</Prefix> </Filter> <Status>Enabled</Status> <SourceSelectionCriteria> <SseKmsEncryptedObjects> <Status>Enabled</Status> </SseKmsEncryptedObjects> </SourceSelectionCriteria> <Destination> <Bucket>arn:aws:s3:::
</Bucket> <EncryptionConfiguration> <ReplicaKmsKeyID>amzn-s3-demo-destination-bucket
AWS KMS key IDs to use for encrypting object replicas
</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> </Rule> </ReplicationConfiguration>Per aggiungere una configurazione di replica al bucket
, procedi come segue:amzn-s3-demo-source-bucket
-
Il AWS CLI richiede di specificare la configurazione di replica come. JSON Salvate quanto segue JSON in un file (
replication.json
) nella directory corrente del computer locale.{ "Role":"
IAM-Role-ARN
", "Rules":[ { "Status":"Enabled", "Priority":1, "DeleteMarkerReplication":{ "Status":"Disabled" }, "Filter":{ "Prefix":"Tax" }, "Destination":{ "Bucket":"arn:aws:s3:::
", "EncryptionConfiguration":{ "ReplicaKmsKeyID":"amzn-s3-demo-destination-bucket
AWS KMS key IDs (in ARN format) to use for encrypting object replicas
" } }, "SourceSelectionCriteria":{ "SseKmsEncryptedObjects":{ "Status":"Enabled" } } } ] } -
Modifica JSON per fornire valori per il
bucketamzn-s3-demo-destination-bucket
, eAWS KMS key IDs (in ARN format)
. Salvare le modifiche.IAM-role-ARN
-
Esegui il comando seguente per aggiungere la configurazione di replica al bucket
. Assicurati di fornire il nome del bucket diamzn-s3-demo-source-bucket
.amzn-s3-demo-source-bucket
$
aws s3api put-bucket-replication \ --replication-configuration file://replication.json \ --bucket
\ --profileamzn-s3-demo-source-bucket
acctA
-
-
Esegui il test della configurazione per verificare che gli oggetti crittografati vengano replicati. Nella console di Amazon S3 effettuare quanto segue:
Accedi a AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
-
Nel bucket di
, crea una cartella denominataamzn-s3-demo-source-bucket
Tax
. -
Aggiungere oggetti campione alla cartella. Assicurati di scegliere l'opzione di crittografia e di specificare la KMS chiave per crittografare gli oggetti.
-
Verifica che il
bucket contenga le repliche degli oggetti e che siano crittografate utilizzando la KMS chiave specificata nella configurazione. Per ulteriori informazioni, consulta Ottenimento delle informazioni sullo stato della replica.amzn-s3-demo-destination-bucket
Per un esempio di codice che illustra come aggiungere una configurazione di replica, consulta Utilizzo di AWS SDKs. La configurazione della replica deve essere modificata di conseguenza.
Per informazioni concettuali, consulta Replicazione di oggetti crittografati (SSE-C, -S3, -, SSE -) SSE KMS DSSE KMS.