Salta al contenuto

Come posso configurare il mio bucket S3 per archiviare solo oggetti crittografati dalla mia chiave KMS?

3 minuti di lettura
0

Desidero che il mio bucket Amazon Simple Storage Service (Amazon S3) memorizzi solo oggetti crittografati da una chiave del Servizio AWS di gestione delle chiavi (AWS KMS) dal mio account AWS. Come posso essere sicuro che solo quegli oggetti possano essere caricati nel mio bucket?

Breve descrizione

Utilizza la crittografia predefinita di Amazon S3 per assicurarti che gli oggetti caricati senza intestazioni di crittografia (come x-amz-server-side-encryption and x-amz-server-side-encryption-aws-kms-key-id) siano crittografati da AWS KMS prima di essere archiviati nel bucket S3. Quindi utilizza la policy del bucket per assicurarti che gli oggetti con un'altra impostazione di crittografia (AES-256) non possano essere caricati e che gli oggetti caricati con la crittografia AWS KMS contengano un ID della chiave proveniente dall'account AWS.

Nota: per caricare un oggetto crittografato da una chiave AWS KMS, la chiave e il bucket S3 devono trovarsi nella stessa Regione AWS.

Risoluzione

Crittografia predefinita di Amazon S3

Segui questi passaggi per impostare la crittografia predefinita di Amazon S3 del bucket su AWS KMS utilizzando la console Amazon S3:

  1. Apri la console Amazon S3.
  2. Scegli il bucket che desideri utilizzare per gli oggetti crittografati da AWS KMS.
  3. Scegli la vista Proprietà.
  4. Scegli Crittografia predefinita, quindi seleziona ** AWS-KMS**.
  5. Scegli Salva.

Nota: per abilitare la crittografia predefinita di Amazon S3 utilizzando la REST API, l'Interfaccia della linea di comando AWS (AWS CLI) o un SDK AWS, consulta Configurazione della crittografia predefinita.

Policy del bucket

Segui questi passaggi per configurare la policy del bucket in modo da rifiutare le richieste di caricamento che utilizzano un'altra impostazione di crittografia (AES-256) o che utilizzano la crittografia AWS KMS ma contengono un ID della chiave che non proviene dall'account AWS:

  1. Apri la console Amazon S3.
  2. Scegli il bucket che desideri utilizzare per gli oggetti crittografati da AWS KMS.
  3. Scegli la vista Autorizzazioni.
  4. Scegli Policy del bucket.
  5. Inserisci una policy del bucket simile alla seguente:
    Nota: sostituisci samplebucketname con il nome del tuo bucket e us-east-1:111122223333 con la Regione AWS corretta e l'ID del tuo account AWS.
{
    "Version": "2012-10-17",
    "Id": "PutObjPolicy",
    "Statement": [
        {
            "Sid": "DenySSE-S3",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::samplebucketname/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-server-side-encryption": "AES256"
                }
            }
        },
  {
            "Sid": "RequireKMSEncryption",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::samplebucketname/*",
            "Condition": {
                "StringNotLikeIfExists": {
                    "s3:x-amz-server-side-encryption-aws-kms-key-id": "arn:aws:kms:us-east-1:111122223333:key/*"
                }
            }
        }
    ]
}

Informazioni correlate

Servizio AWS di gestione delle chiavi

AWS UFFICIALEAggiornata 2 anni fa