Crittografia dei dati a riposo per Amazon SES - Amazon Simple Email 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à.

Crittografia dei dati a riposo per Amazon SES

Per impostazione predefinita, Amazon SES crittografa tutti i dati inattivi. La crittografia predefinita aiuta a ridurre il sovraccarico operativo e la complessità associati alla protezione dei dati. La crittografia consente inoltre di creare archivi di Mail Manager che soddisfano i rigorosi requisiti normativi e di conformità alla crittografia.

SESoffre le seguenti opzioni di crittografia:

  • AWS chiavi possedute: le SES utilizza per impostazione predefinita. Non è possibile visualizzare, gestire o utilizzare AWS chiavi possedute o controllarne l'utilizzo. Tuttavia, non è necessario effettuare alcuna operazione o modificare programmi per proteggere le chiavi che eseguono la crittografia dei dati. Per ulteriori informazioni, consulta AWS chiavi possedute in AWS Key Management Service Guida per gli sviluppatori.

  • Chiavi gestite dal cliente: SES supporta l'uso di chiavi gestite dal cliente simmetriche create, possedute e gestite dall'utente. Poiché hai il pieno controllo della crittografia, puoi eseguire attività come:

    • Stabilire e mantenere le policy delle chiavi

    • Stabilire e mantenere IAM politiche e sovvenzioni

    • Abilitare e disabilitare le policy delle chiavi

    • Ruotare i materiali crittografici delle chiavi

    • Aggiungere tag

    • Creare alias delle chiavi

    • Pianificare l’eliminazione delle chiavi

    Per utilizzare la tua chiave, scegli una chiave gestita dal cliente quando crei SES le tue risorse.

    Per ulteriori informazioni, consulta Customer managed keys nel AWS Key Management Service Guida per gli sviluppatori.

Nota

SESabilita automaticamente la crittografia a riposo utilizzando AWS chiavi di proprietà senza alcun costo.

Tuttavia, AWS KMS si applicano costi per l'utilizzo di una chiave gestita dal cliente. Per ulteriori informazioni sui prezzi, consulta il AWS Key Management Service prezzi.

Creazione di una chiave gestita dal cliente

È possibile creare una chiave simmetrica gestita dal cliente utilizzando AWS Management Console, oppure AWS KMS APIs.

Per creare una chiave simmetrica gestita dal cliente

Segui i passaggi per la creazione di KMS chiavi di crittografia simmetriche nel AWS Key Management Service Guida per gli sviluppatori.

Nota

Per l'archiviazione, la chiave deve soddisfare i seguenti requisiti:

  • La chiave deve essere simmetrica.

  • L'origine del materiale chiave deve essere. AWS_KMS

  • L'utilizzo della chiave deve essereENCRYPT_DECRYPT.

Policy della chiave

Le policy della chiave controllano l'accesso alla chiave gestita dal cliente. Ogni chiave gestita dal cliente deve avere esattamente una policy della chiave, che contiene istruzioni che determinano chi può usare la chiave e come la possono usare. Quando crei la chiave gestita dal cliente, puoi specificare una policy della chiave. Per ulteriori informazioni, vedere Gestione dell'accesso alle chiavi gestite dal cliente nella AWS Key Management Service Guida per gli sviluppatori.

Per utilizzare la chiave gestita dal cliente con l'archiviazione di Mail Manager, la policy chiave deve consentire le seguenti API operazioni:

L'esempio seguente mostra una politica chiave tipica:

{ "Sid": "Allow SES to encrypt/decrypt", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" },

Per ulteriori informazioni, vedere Specificazione delle autorizzazioni in una politica, nella AWS Key Management Service Guida per gli sviluppatori.

Per ulteriori informazioni sulla risoluzione dei problemi, consulta la sezione Risoluzione dei problemi di accesso tramite chiave, nella AWS Key Management Service Guida per gli sviluppatori.

Specificazione di una chiave gestita dal cliente per l'archiviazione di Mail Manager

È possibile specificare una chiave gestita dal cliente come alternativa all'utilizzo AWS chiavi di proprietà. Quando si crea un archivio, è possibile specificare la chiave dati inserendo una KMSchiave ARN, che l'archiviazione di Mail Manager utilizza per crittografare tutti i dati dei clienti presenti nell'archivio.

  • KMSchiave ARN: un identificatore chiave per un AWS KMS chiave gestita dal cliente. Inserisci un ID chiave, una chiaveARN, un nome alias o un aliasARN.

Contesto SES di crittografia Amazon

Un contesto di crittografia è un set facoltativo di coppie chiave-valore che contengono ulteriori informazioni contestuali sui dati.

AWS KMS utilizza il contesto di crittografia come dati autenticati aggiuntivi per supportare la crittografia autenticata. Quando includi un contesto di crittografia in una richiesta di crittografia dei dati, AWS KMS associa il contesto di crittografia ai dati crittografati. Per decrittografare i dati, nella richiesta deve essere incluso lo stesso contesto di crittografia.

Nota

Amazon SES non supporta i contesti di crittografia per la creazione di archivi. Al contrario, utilizzi una KMS politica IAM or. Ad esempio, consulta le politichePolitiche di creazione degli archivi, più avanti in questa sezione.

Contesto SES di crittografia Amazon

SESutilizza lo stesso contesto di crittografia in tutti i casi AWS KMS operazioni crittografiche, in cui la chiave è aws:ses:arn e il valore è la risorsa Amazon Resource Name (ARN).

"encryptionContext": { "aws:ses:arn": "arn:aws:ses:us-west-2:111122223333:ExampleResourceName/ExampleResourceID" }

Utilizzo del contesto di crittografia per il monitoraggio

Quando utilizzi una chiave simmetrica gestita dal cliente per crittografare la tua SES risorsa, puoi anche utilizzare il contesto di crittografia nei record e nei log di controllo per identificare come viene utilizzata la chiave gestita dal cliente. Il contesto di crittografia appare anche nei log generati da AWS CloudTrail o Amazon CloudWatch Logs.

Utilizzo del contesto di crittografia per controllare l'accesso alla chiave gestita dal cliente

Puoi utilizzare il contesto di crittografia nelle politiche e IAM nelle policy chiave conditions per controllare l'accesso alla tua chiave simmetrica gestita dal cliente. È possibile utilizzare i vincoli del contesto di crittografia in una concessione.

SESutilizza un vincolo di contesto di crittografia nelle concessioni per controllare l'accesso alla chiave gestita dal cliente nell'account o nella regione dell'utente. Il vincolo della concessione richiede che le operazioni consentite dalla concessione utilizzino il contesto di crittografia specificato.

Di seguito sono riportati alcuni esempi di istruzioni delle policy delle chiavi per concedere l'accesso a una chiave gestita dal cliente per un contesto di crittografia specifico. Questa istruzione della policy impone come condizione che le concessioni abbiano un vincolo che specifica il contesto di crittografia.

{ "Sid": "Enable DescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "Enable CreateGrant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:ses:arn": "arn:aws:ses:us-west-2:111122223333:ExampleResourceName/ExampleResourceID" } } }

Politiche di creazione degli archivi

Le seguenti politiche di esempio mostrano come abilitare la creazione di archivi. Le politiche funzionano su tutte le risorse.

IAMpolitica

{ "Sid": "VisualEditor0", "Effect": "Allow", "Action": "ses:CreateArchive", "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "ses.us-east-1.amazonaws.com", "kms:CallerAccount": "012345678910" } } }

AWS KMS politica

{ "Sid": "Allow SES to encrypt/decrypt", "Effect": "Allow", "Principal": { "Service": "ses.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*" },

Monitoraggio delle chiavi di crittografia per Amazon SES

Quando usi un AWS KMS chiave gestita dal cliente con le tue SES risorse Amazon, che puoi usare AWS CloudTrailo Amazon CloudWatch Logs per tenere traccia delle richieste SES inviate a AWS KMS.

I seguenti esempi sono AWS CloudTrail eventi per GenerateDataKey e per DescribeKey monitorare KMS le operazioni richieste SES per accedere ai dati crittografati dalla chiave gestita dal cliente: Decrypt

GenerateDataKey

Quando abiliti un AWS KMS chiave gestita dal cliente per la tua risorsa, SES crea una chiave di tabella univoca. Invia una GenerateDataKey richiesta a AWS KMS che specifica il AWS KMS chiave gestita dal cliente per la risorsa.

Quando si abilita un AWS KMS chiave gestita dal cliente per la risorsa di archivio di Mail Manager, che verrà utilizzata GenerateDataKey per crittografare i dati di archivio inattivi.

L'evento di esempio seguente registra l'operazione GenerateDataKey:

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "ses.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "encryptionContext": { "aws:ses:arn": "arn:aws:ses:us-west-2:111122223333:ExampleResourceName/ExampleResourceID" }, "keySpec": "AES_256", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "57f5dbee-16da-413e-979f-2c4c6663475e" }
Decrypt

Quando si accede a una risorsa crittografata, SES richiama l'Decryptoperazione per utilizzare la chiave dati crittografata memorizzata per accedere ai dati crittografati.

L'evento di esempio seguente registra l'operazione Decrypt:

{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "ses.amazonaws.com" }, "eventTime": "2021-04-22T17:10:51Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "encryptionContext": { "aws:ses:arn": "arn:aws:ses:us-west-2:111122223333:ExampleResourceName/ExampleResourceID" }, "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333", "sharedEventID": "dc129381-1d94-49bd-b522-f56a3482d088" }
DescribeKey

SESutilizza l'DescribeKeyoperazione per verificare se il AWS KMS la chiave gestita dal cliente associata alla tua risorsa esiste nell'account e nella regione.

L'evento di esempio seguente registra l'operazione DescribeKey:

{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE3", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "webIdFederationData": {}, "attributes": { "mfaAuthenticated": "false", "creationDate": "2021-04-22T17:02:00Z" } }, "invokedBy": "ses.amazonaws.com" }, "eventTime": "2021-04-22T17:07:02Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "172.12.34.56", "userAgent": "ExampleDesktop/1.0 (V1; OS)", "requestParameters": { "keyId": "00dd0db0-0000-0000-ac00-b0c000SAMPLE" }, "responseElements": null, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "eventCategory": "Management", "recipientAccountId": "111122223333" }

Ulteriori informazioni

Le seguenti risorse forniscono ulteriori informazioni sulla crittografia dei dati a riposo.