El cifrado de datos en reposo para Amazon SES - Amazon Simple Email Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

El cifrado de datos en reposo para Amazon SES

De forma predeterminada, Amazon SES cifra todos los datos en reposo. El cifrado predeterminado ayuda a reducir la sobrecarga operativa y la complejidad que implica la protección de los datos. El cifrado también le permite crear archivos de Mail Manager que cumplen con los estrictos requisitos normativos y de conformidad con el cifrado.

SESproporciona las siguientes opciones de cifrado:

  • AWS claves propias: las SES utiliza de forma predeterminada. No puedes ver, administrar ni usar AWS claves propias o auditar su uso. Sin embargo, no tiene que realizar ninguna acción ni cambiar ningún programa para proteger las claves que cifran sus datos. Para obtener más información, consulte AWS claves poseídas en el AWS Key Management Service Guía para desarrolladores.

  • Claves administradas por el cliente: SES admite el uso de claves simétricas administradas por el cliente que usted crea, posee y administra. Como usted tiene el control total del cifrado, puede realizar tareas como las siguientes:

    • Establecer y mantener políticas de claves

    • Establecer y mantener IAM políticas y subvenciones

    • Habilitar y deshabilitar políticas de claves

    • Rotar el material criptográfico

    • Agregar etiquetas.

    • Crear alias de clave

    • Programar la eliminación de claves

    Para usar tu propia clave, elige una clave administrada por el cliente al crear tus SES recursos.

    Para obtener más información, consulte Claves administradas por el cliente en la AWS Key Management Service Guía para desarrolladores.

nota

SEShabilita automáticamente el cifrado en reposo mediante AWS claves propias sin coste alguno.

Sin embargo, AWS KMS se aplican cargos por el uso de una clave gestionada por el cliente. Para obtener más información sobre los precios, consulta la AWS Key Management Service precios.

Crear una clave administrada por el cliente

Puede crear una clave simétrica gestionada por el cliente mediante el AWS Management Console, o el AWS KMS APIs.

Para crear una clave simétrica administrada por el cliente

Siga los pasos para crear KMS claves de cifrado simétricas en el AWS Key Management Service Guía para desarrolladores.

nota

Para archivar, la clave debe cumplir los siguientes requisitos:

  • La clave debe ser simétrica.

  • El origen del material clave debe ser. AWS_KMS

  • El uso de la clave debe serENCRYPT_DECRYPT.

Política de claves

Las políticas de clave controlan el acceso a la clave administrada por el cliente. Cada clave administrada por el cliente debe tener exactamente una política de clave, que contiene instrucciones que determinan quién puede usar la clave y cómo puede utilizarla. Cuando crea la clave administrada por el cliente, puede especificar una política de clave. Para obtener más información, consulte Administrar el acceso a las claves administradas por el cliente en la AWS Key Management Service Guía para desarrolladores.

Para utilizar la clave gestionada por el cliente con el archivado de Mail Manager, la política de claves debe permitir las siguientes API operaciones:

El siguiente ejemplo muestra una política de claves típica:

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

Para obtener más información, consulte cómo especificar los permisos en una política, en AWS Key Management Service Guía para desarrolladores.

Para obtener más información sobre la solución de problemas, consulte la sección de solución de problemas de acceso a las teclas, en la AWS Key Management Service Guía para desarrolladores.

Especificar una clave gestionada por el cliente para archivar Mail Manager

Puede especificar una clave gestionada por el cliente como alternativa al uso AWS claves propias. Al crear un archivo, puede especificar la clave de datos introduciendo una KMSclave ARN, que Mail Manager utiliza para cifrar todos los datos de los clientes del archivo.

  • KMSclave ARN: un identificador clave para un AWS KMS clave gestionada por el cliente. Introduzca un identificador de clave, una claveARN, un nombre de alias o un aliasARN.

Contexto SES de cifrado de Amazon

Un contexto de cifrado es un conjunto opcional de pares clave-valor que pueden contener información contextual adicional sobre los datos.

AWS KMS utiliza el contexto de cifrado como datos autenticados adicionales para respaldar el cifrado autenticado. Al incluir un contexto de cifrado en una solicitud de cifrado de datos, AWS KMS vincula el contexto de cifrado a los datos cifrados. Para descifrar los datos, debe incluir el mismo contexto de cifrado en la solicitud.

nota

Amazon SES no admite contextos de cifrado para la creación de archivos. En su lugar, utilizas una KMS política de «IAMO». Para ver políticas de ejemploPolíticas de creación de archivos, consulte más adelante en esta sección.

Contexto SES de cifrado de Amazon

SESutiliza el mismo contexto de cifrado en todos AWS KMS operaciones criptográficas, donde la clave es aws:ses:arn y el valor es el nombre del recurso Amazon Resource Name (ARN).

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

Uso del contexto de cifrado para la supervisión

Si utiliza una clave simétrica gestionada por el cliente para cifrar el SES recurso, también puede utilizar el contexto de cifrado en los registros y registros de auditoría para identificar cómo se utiliza la clave gestionada por el cliente. El contexto de cifrado también aparece en los registros generados por AWS CloudTrail o Amazon CloudWatch Logs.

Utilizar el contexto de cifrado para controlar el acceso a la clave administrada por el cliente

Puede utilizar el contexto de cifrado en las políticas y IAM políticas clave conditions para controlar el acceso a su clave simétrica gestionada por el cliente. Puede usar también una restricción de contexto de cifrado en una concesión.

SESutiliza una restricción de contexto de cifrado en las concesiones para controlar el acceso a la clave gestionada por el cliente en su cuenta o región. La restricción de concesión requiere que las operaciones que permite la concesión utilicen el contexto de cifrado especificado.

Los siguientes son ejemplos de declaraciones de política de claves para conceder acceso a una clave administrada por el cliente para un contexto de cifrado específico. La condición de esta declaración de política exige que las concesiones tengan una restricción de contexto de cifrado que especifique el contexto de cifrado.

{ "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" } } }

Políticas de creación de archivos

Los siguientes ejemplos de políticas muestran cómo habilitar la creación de archivos. Las políticas funcionan en todos los activos.

IAMpolítica

{ "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 política

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

Supervisión de tus claves de cifrado para Amazon SES

Cuando utilizas un AWS KMS clave gestionada por el cliente con tus SES recursos de Amazon, puedes usar AWS CloudTrailo Amazon CloudWatch Logs para realizar un seguimiento de las solicitudes que se SES envían a AWS KMS.

Los siguientes ejemplos son AWS CloudTrail eventos para GenerateDataKey y supervisar KMS las operaciones solicitadas DescribeKey para acceder SES a los datos cifrados por la clave gestionada por el cliente: Decrypt

GenerateDataKey

Cuando habilita una AWS KMS clave gestionada por el cliente para su recurso, SES crea una clave de tabla única. Envía una GenerateDataKey solicitud a AWS KMS que especifica el AWS KMS clave gestionada por el cliente para el recurso.

Cuando se habilita una AWS KMS clave gestionada por el cliente para su recurso de archivado de Mail Manager, que GenerateDataKey se utilizará al cifrar los datos archivados en reposo.

El siguiente evento de ejemplo registra la operación 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

Al acceder a un recurso cifrado, SES solicita a la Decrypt operación que utilice la clave de datos cifrados almacenada para acceder a los datos cifrados.

El siguiente evento de ejemplo registra la operación 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

SESutiliza la DescribeKey operación para comprobar si el AWS KMS La clave gestionada por el cliente asociada a su recurso existe en la cuenta y la región.

El siguiente evento de ejemplo registra la operación 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" }

Más información

Los siguientes recursos proporcionan más información sobre cifrado de datos en reposo.