AWS Key Management Service - Entendendo a conformidade com o GDPR na AWS

AWS Key Management Service

AWS Key Management Service é um serviço gerenciado que facilita a criação e o controle das chaves de criptografia usadas para criptografar seus dados e usa módulos de segurança de hardware (HSMs) para proteger a segurança de suas chaves. O AWS KMS está integrado a vários outros serviços da AWS para ajudar você a proteger os dados armazenados com esses serviços. O AWS KMS também é integrado ao AWS CloudTrail para fornecer logs de todo o uso de chaves para suas necessidades regulatórias e de conformidade.

Você pode criar, importar e alternar facilmente as chaves, além de definir políticas de uso e fazer auditoria da utilização por meio do AWS Management Console ou usando o AWS SDK ou a AWS CLI.

As CMKS no AWS KMS, tanto as importadas quanto as criadas em seu nome pelo KMS, são armazenadas em um formato criptografado em um armazenamento altamente durável, o que ajuda a garantir que elas possam ser usadas quando necessário. Você pode solicitar que o KMS alterne automaticamente as CMKs criadas no KMS uma vez por ano sem a necessidade de criptografar novamente os dados que já foram criptografados com sua chave primária. Não é necessário monitorar as versões anteriores de suas CMKs, pois o KMS as mantém disponíveis para descriptografar automaticamente dados criptografados anteriormente.

Para qualquer CMK no AWS KMS, é possível controlar quem tem acesso às respectivas chaves e em quais serviços elas podem ser usadas com diversos controles de acesso, inclusive concessões, e condições de política de chave nas políticas de chave ou políticas do IAM. Você também pode importar chaves de sua própria infraestrutura de gerenciamento de chaves e usá-las no KMS.

Por exemplo, a política abaixo usa a condição kms:ViaService para permitir que uma CMK gerenciada pelo cliente seja usada nas ações específicas exclusivamente quando a solicitação tiver origem do Amazon EC2 ou do Amazon RDS em uma região específica (us-west-2) em nome de um usuário específico (ExampleUser).

{ “Version”: “2012-10-17”, “Statement”: [ { “Effect”: “Allow”, “Principal”: { “AWS”: “arn:aws:iam::111122223333:user/ExampleUser” } “Action”: [ “kms:Encrypt*”, “kms:Decrypt”, ”kms:ReEncrypt*”, “kms:GenerateDataKey*”, “kms:CreateGrant”, “kms:ListGrants”, “kms:DescribeKey” ], “Resource”: “*”, “Condition”: { “ForAnyValue:StringEquals”: { “kms:ViaService”: [ “ec2.us-west-2.amazonaws.com”, “rds.us-west-2.amazonaws.com” ] } } }