Replica di oggetti crittografati - 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 crittografati

Per impostazione predefinita, Amazon S3 non replica oggetti crittografati utilizzando la crittografia lato server con AWS Key Management Service () chiavi (SSE-KMS AWS KMS) o la crittografia lato server a due livelli con chiavi (DSSE-KMS). AWS KMS Per replicare gli oggetti crittografati con SSE-KMS o DSS-KMS, devi modificare la configurazione di replica del bucket per indicare ad Amazon S3 di replicare questi oggetti. Questo esempio spiega come utilizzare la console Amazon S3 e AWS Command Line Interface (AWS CLI) per modificare la configurazione della replica dei bucket per consentire la replica di oggetti crittografati.

Per ulteriori informazioni, consulta Replica di oggetti creati con crittografia lato server (SSE-C, SSE-S3, SSE-KMS, DSSE-KMS).

Nota

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. Dovrai aggiornare le policy IAM per utilizzare l'ARN del bucket per il contesto di crittografia. Per ulteriori informazioni, consulta Chiavi bucket S3 e replica.

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 .

Per step-by-step istruzioni, consulta. Configurazione 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, effettuate le seguenti operazioni:

  • Crea i bucket di origine e di destinazione e abilita il controllo delle versioni per questi bucket.

  • Crea un ruolo di servizio AWS Identity and Access Management (IAM) che autorizzi Amazon S3 a replicare oggetti. Le autorizzazioni del ruolo IAM 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 con le 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 gli oggetti crittografati lato server (AWS CLI)
  1. In questo esempio crei entrambi i bucket DOC-EXAMPLE-SOURCE-BUCKET e DOC-EXAMPLE-DESTINATION-BUCKET nello stesso Account AWS. Imposti anche un profilo di credenziali per la AWS CLI. In questo esempio si utilizza il nome del profilo acctA.

    Per ulteriori informazioni sull'impostazione dei profili di credenziali, consulta Named Profiles nella Guida per l' AWS Command Line Interface utente. Per usare i comandi in questo esempio, sostituisci user input placeholders con le tue informazioni.

  2. Usa i seguenti comandi per creare il bucket DOC-EXAMPLE-SOURCE-BUCKET e abilitare il controllo delle versioni. Il seguente comando di esempio crea il bucket DOC-EXAMPLE-SOURCE-BUCKET nella regione Stati Uniti orientali (Virginia settentrionale) (us-east-1).

    aws s3api create-bucket \ --bucket DOC-EXAMPLE-SOURCE-BUCKET \ --region us-east-1 \ --profile acctA
    aws s3api put-bucket-versioning \ --bucket DOC-EXAMPLE-SOURCE-BUCKET \ --versioning-configuration Status=Enabled \ --profile acctA
  3. Usa i seguenti comandi per creare il bucket DOC-EXAMPLE-DESTINATION-BUCKET e abilitare il controllo delle versioni. Il seguente comando di esempio crea il bucket DOC-EXAMPLE-DESTINATION-BUCKET nella regione Stati Uniti occidentali (Oregon) (us-west-2).

    Nota

    Per impostare una configurazione di replica quando entrambi DOC-EXAMPLE-SOURCE-BUCKETi DOC-EXAMPLE-DESTINATION-BUCKETbucket sono nello stesso Account AWS, si utilizza lo stesso profilo. In questo esempio viene utilizzato acctA. Per configurare la replica quando i bucket sono di proprietà di Account AWS diversi, occorre specificare profili differenti per ciascuno di essi.

    aws s3api create-bucket \ --bucket DOC-EXAMPLE-DESTINATION-BUCKET \ --region us-west-2 \ --create-bucket-configuration LocationConstraint=us-west-2 \ --profile acctA
    aws s3api put-bucket-versioning \ --bucket DOC-EXAMPLE-DESTINATION-BUCKET \ --versioning-configuration Status=Enabled \ --profile acctA
  4. Quindi, crea un ruolo di servizio IAM. Specifica questo ruolo nella configurazione di replica che aggiungi al bucket DOC-EXAMPLE-SOURCE-BUCKET in un secondo momento. Amazon S3 assume questo ruolo per replicare gli oggetti per tuo conto. Il ruolo IAM si crea in due fasi:

    • Creazione di un ruolo del servizio

    • Collegare una policy di autorizzazione al ruolo.

    1. Per creare un ruolo di servizio IAM, procedi come segue:

      1. 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" } ] }
      2. Usa il comando seguente per creare il ruolo:

        $ aws iam create-role \ --role-name replicationRolekmsobj \ --assume-role-policy-document file://s3-role-trust-policy-kmsobj.json \ --profile acctA
    2. Quindi, collega una policy di autorizzazione al ruolo. Questa policy di accesso concede le autorizzazioni per varie operazioni su oggetti e bucket Amazon S3.

      1. Copiare la seguente policy di autorizzazioni e salvarla in un file denominato s3-role-permissions-policykmsobj.json nella directory corrente sul computer locale. Crea un ruolo IAM e successivamente collegalo alla policy.

        Importante

        Nella politica di autorizzazione, si specificano gli ID delle AWS KMS chiavi che verranno utilizzati per la crittografia dei DOC-EXAMPLE-SOURCE-BUCKET bucket and. DOC-EXAMPLE-DESTINATION-BUCKET È necessario creare due chiavi KMS separate per i bucket DOC-EXAMPLE-SOURCE-BUCKET e DOC-EXAMPLE-DESTINATION-BUCKET. AWS KMS keys non sono condivise al di fuori di quella in cui sono state create. Regione AWS

        { "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:ListBucket", "s3:GetReplicationConfiguration", "s3:GetObjectVersionForReplication", "s3:GetObjectVersionAcl", "s3:GetObjectVersionTagging" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-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":[ "AWS KMS key IDs(in ARN format) to use for encrypting object replicas" ] } }, "Resource":"arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/*" }, { "Action":[ "kms:Decrypt" ], "Effect":"Allow", "Condition":{ "StringLike":{ "kms:ViaService":"s3.us-east-1.amazonaws.com", "kms:EncryptionContext:aws:s3:arn":[ "arn:aws:s3:::DOC-EXAMPLE-SOURCE-BUCKET/*" ] } }, "Resource":[ "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:::DOC-EXAMPLE-DESTINATION-BUCKET/*" ] } }, "Resource":[ "AWS KMS key IDs(in ARN format) to use for encrypting object replicas" ] } ] }
      2. 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 \ --profile acctA
  5. Quindi, aggiungi la seguente configurazione di replica al bucket DOC-EXAMPLE-SOURCE-BUCKET che indica ad Amazon S3 di replicare gli oggetti con prefisso Tax/ nel bucket DOC-EXAMPLE-DESTINATION-BUCKET.

    Importante

    Nella configurazione di replica dovrai specificare il ruolo IAM che Amazon S3 può assumere. Puoi effettuare questa operazione solo se disponi dell'autorizzazione iam:PassRole. Il profilo specificato nel comando della CLI deve disporre di questa autorizzazione. Per ulteriori informazioni, consulta Concessione di autorizzazioni utente per il passaggio di 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:::DOC-EXAMPLE-DESTINATION-BUCKET</Bucket> <EncryptionConfiguration> <ReplicaKmsKeyID>AWS KMS key IDs to use for encrypting object replicas</ReplicaKmsKeyID> </EncryptionConfiguration> </Destination> </Rule> </ReplicationConfiguration>

    Per aggiungere una configurazione di replica al bucket DOC-EXAMPLE-SOURCE-BUCKET, procedi come segue:

    1. AWS CLI Richiede di specificare la configurazione di replica come JSON. Salvare il seguente JSON in un file (replication.json) nella directory corrente sul computer locale.

      { "Role":"IAM-Role-ARN", "Rules":[ { "Status":"Enabled", "Priority":1, "DeleteMarkerReplication":{ "Status":"Disabled" }, "Filter":{ "Prefix":"Tax" }, "Destination":{ "Bucket":"arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET", "EncryptionConfiguration":{ "ReplicaKmsKeyID":"AWS KMS key IDs (in ARN format) to use for encrypting object replicas" } }, "SourceSelectionCriteria":{ "SseKmsEncryptedObjects":{ "Status":"Enabled" } } } ] }
    2. Modifica il JSON per fornire valori per il bucket DOC-EXAMPLE-DESTINATION-BUCKET, AWS KMS key IDs (in ARN format) e IAM-role-ARN. Salvare le modifiche.

    3. Esegui il comando seguente per aggiungere la configurazione di replica al bucket DOC-EXAMPLE-SOURCE-BUCKET. Assicurati di fornire il nome del bucket di DOC-EXAMPLE-SOURCE-BUCKET.

      $ aws s3api put-bucket-replication \ --replication-configuration file://replication.json \ --bucket DOC-EXAMPLE-SOURCE-BUCKET \ --profile acctA
  6. Esegui il test della configurazione per verificare che gli oggetti crittografati vengano replicati. Nella console di Amazon S3 effettuare quanto segue:

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

    2. Nel bucket di DOC-EXAMPLE-SOURCE-BUCKET, crea una cartella denominata Tax.

    3. Aggiungere oggetti campione alla cartella. Assicurati di scegliere l'opzione di crittografia e specifica la chiave KMS per crittografare gli oggetti.

    4. Verifica che il bucket DOC-EXAMPLE-DESTINATION-BUCKET contenga le repliche dell'oggetto e che queste vengano crittografate utilizzando la chiave KMS specificata nella configurazione. Per ulteriori informazioni, consulta Ottenimento delle informazioni sullo stato della replica.

Per un esempio di codice che illustra come aggiungere una configurazione di replica, consulta Utilizzo degli SDK AWS. La configurazione della replica deve essere modificata di conseguenza.

Per informazioni concettuali, consulta Replica di oggetti creati con crittografia lato server (SSE-C, SSE-S3, SSE-KMS, DSSE-KMS).