Criptografia de dados em repouso para a Amazon SES - Amazon Simple Email Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criptografia de dados em repouso para a Amazon SES

Por padrão, a Amazon SES criptografa todos os dados em repouso. A criptografia, por padrão, ajuda a reduzir a sobrecarga operacional e a complexidade envolvidas na proteção dos dados. A criptografia também permite que você crie arquivos do Mail Manager que atendam aos rigorosos requisitos regulamentares e de conformidade de criptografia.

SESfornece as seguintes opções de criptografia:

  • AWS chaves próprias — as SES usa por padrão. Você não pode visualizar, gerenciar ou usar AWS chaves de propriedade ou audite seu uso. No entanto, não é necessário tomar nenhuma medida nem alterar qualquer programa para proteger as chaves que criptografam seus dados. Para ter mais informações, consulte AWS chaves de propriedade no AWS Key Management Service Guia do desenvolvedor.

  • Chaves gerenciadas pelo cliente — SES suporta o uso de chaves simétricas gerenciadas pelo cliente que você cria, possui e gerencia. Como você tem controle total da criptografia, você pode realizar tarefas como:

    • Estabelecer e manter as políticas de chave

    • Estabelecendo e mantendo IAM políticas e subsídios

    • Habilitar e desabilitar políticas de chaves

    • Alternar os materiais de criptografia de chave

    • Adicionar etiquetas

    • Criar réplicas de chaves

    • Programar chaves para exclusão

    Para usar sua própria chave, escolha uma chave gerenciada pelo cliente ao criar seus SES recursos.

    Para obter mais informações, consulte Chaves gerenciadas pelo cliente no AWS Key Management Service Guia do desenvolvedor.

nota

SESativa automaticamente a criptografia em repouso usando AWS chaves de propriedade sem nenhum custo.

No entanto, AWS KMS cobranças são aplicadas pelo uso de uma chave gerenciada pelo cliente. Para obter mais informações sobre preços, consulte o AWS Key Management Service preços.

Criar uma chave gerenciada pelo cliente

Você pode criar uma chave simétrica gerenciada pelo cliente usando o AWS Management Console, ou o AWS KMS APIs.

Para criar uma chave simétrica gerenciada pelo cliente

Siga as etapas para criar KMS chaves de criptografia simétricas no AWS Key Management Service Guia do desenvolvedor.

nota

Para arquivamento, sua chave deve atender aos seguintes requisitos:

  • A chave deve ser simétrica.

  • A origem do material chave deve serAWS_KMS.

  • O uso da chave deve serENCRYPT_DECRYPT.

Política de chave

As políticas de chaves controlam o acesso à chave gerenciada pelo seu cliente. Cada chave gerenciada pelo cliente deve ter exatamente uma política de chaves, que contém declarações que determinam quem pode usar a chave e como pode usá-la. Ao criar a chave gerenciada pelo cliente, é possível especificar uma política de chaves. Para obter mais informações, consulte Gerenciando o acesso às chaves gerenciadas pelo cliente no AWS Key Management Service Guia do desenvolvedor.

Para usar sua chave gerenciada pelo cliente com o arquivamento do Mail Manager, sua política de chaves deve permitir as seguintes API operações:

O exemplo a seguir mostra uma política de chaves típica:

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

Para obter mais informações, consulte a especificação de permissões em uma política, no AWS Key Management Service Guia do desenvolvedor.

Para obter mais informações sobre solução de problemas, consulte Solução de problemas de acesso por chave, no AWS Key Management Service Guia do desenvolvedor.

Especificação de uma chave gerenciada pelo cliente para arquivamento do Mail Manager

Você pode especificar uma chave gerenciada pelo cliente como alternativa ao uso AWS chaves de propriedade. Ao criar um arquivamento, você pode especificar a chave de dados inserindo uma KMSchave ARN, que o arquivamento do Mail Manager usa para criptografar todos os dados do cliente no arquivamento.

  • KMSchave ARN — Um identificador de chave para um AWS KMS chave gerenciada pelo cliente. Insira um ID de chave, chaveARN, nome de alias ou ARN alias.

Contexto SES de criptografia da Amazon

Um contexto de criptografia é um conjunto opcional de pares chave-valor que pode conter informações contextuais adicionais sobre os dados.

AWS KMS usa o contexto de criptografia como dados autenticados adicionais para oferecer suporte à criptografia autenticada. Quando você inclui um contexto de criptografia em uma solicitação para criptografar dados, AWS KMS vincula o contexto de criptografia aos dados criptografados. Para descriptografar os dados, você inclui o mesmo contexto de criptografia na solicitação.

nota

A Amazon SES não oferece suporte a contextos de criptografia para criação de arquivos. Em vez disso, você usa uma KMS política IAM or. Por exemplo, políticas, consultePolíticas de criação de arquivos, mais adiante nesta seção.

Contexto SES de criptografia da Amazon

SESusa o mesmo contexto de criptografia em todos AWS KMS operações criptográficas, em que a chave está aws:ses:arn e o valor é o recurso Amazon Resource Name (ARN).

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

Uso do contexto de criptografia para monitoramento

Ao usar uma chave simétrica gerenciada pelo cliente para criptografar seu SES recurso, você também pode usar o contexto de criptografia nos registros e registros de auditoria para identificar como a chave gerenciada pelo cliente está sendo usada. O contexto de criptografia também aparece nos registros gerados pelo AWS CloudTrail ou Amazon CloudWatch Logs.

Uso do contexto de criptografia para controlar o acesso à chave gerenciada pelo cliente

Você pode usar o contexto de criptografia nas principais políticas e IAM políticas conditions para controlar o acesso à sua chave simétrica gerenciada pelo cliente. Você também pode usar restrições no contexto de criptografia em uma concessão.

SESusa uma restrição de contexto de criptografia nas concessões para controlar o acesso à chave gerenciada pelo cliente em sua conta ou região. A restrição da concessão exige que as operações permitidas pela concessão usem o contexto de criptografia especificado.

Veja a seguir exemplos de declarações de políticas de chave para conceder acesso a uma chave gerenciada pelo cliente para um contexto de criptografia específico. A condição nesta declaração de política exige que as concessões tenham uma restrição de contexto de criptografia que especifique o contexto de criptografia.

{ "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 criação de arquivos

O exemplo de políticas a seguir mostra como habilitar a criação de arquivamento. As políticas funcionam em todos os ativos.

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": "*" },

Monitorando suas chaves de criptografia para a Amazon SES

Quando você usa um AWS KMS chave gerenciada pelo cliente com seus SES recursos da Amazon, você pode usar AWS CloudTrailou Amazon CloudWatch Logs para rastrear solicitações SES enviadas para AWS KMS.

Os exemplos a seguir são AWS CloudTrail eventos paraGenerateDataKey,Decrypt, e DescribeKey para monitorar KMS operações chamadas por SES para acessar dados criptografados por sua chave gerenciada pelo cliente:

GenerateDataKey

Quando você ativa um AWS KMS chave gerenciada pelo cliente para seu recurso, SES cria uma chave de tabela exclusiva. Ele envia uma GenerateDataKey solicitação para AWS KMS que especifica o AWS KMS chave gerenciada pelo cliente para o recurso.

Quando você ativa um AWS KMS chave gerenciada pelo cliente para seu recurso de arquivamento do Mail Manager, que será usada GenerateDataKey ao criptografar dados de arquivamento em repouso.

O evento de exemplo a seguir registra a operação 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 você acessa um recurso criptografado, SES chama a Decrypt operação para usar a chave de dados criptografados armazenada para acessar os dados criptografados.

O evento de exemplo a seguir registra a operação 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

SESusa a DescribeKey operação para verificar se o AWS KMS a chave gerenciada pelo cliente associada ao seu recurso existe na conta e na região.

O evento de exemplo a seguir registra a operação 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" }

Saiba mais

Os recursos a seguir fornecem mais informações sobre a criptografia de dados em repouso.