Recursos do AWS Key Management Service

Visão geral

O AWS Key Management Service (AWS KMS) oferece o controle das chaves criptográficas usadas para proteger seus dados. O AWS KMS oferece controle centralizado sobre o ciclo de vida e as permissões das chaves. Você pode criar novas chaves sempre que quiser e controlar quem pode gerenciar as chaves separadamente daqueles que irão usá-las. O serviço é integrado a outros serviços da AWS, facilitando a criptografia dos dados armazenados nesses serviços e o controle do acesso às chaves que os descriptografam. O AWS KMS também é integrado ao AWS CloudTrail, que ajuda a auditar quem usou quais chaves, em quais recursos e quando. O AWS KMS ajuda os desenvolvedores a adicionarem mais facilmente funcionalidades de criptografia ou assinatura digital aos código de aplicações, diretamente ou usando o AWS SDK. O SDK de criptografia da AWS oferece suporte ao AWS KMS como provedor de chaves para desenvolvedores que precisam criptografar/descriptografar dados localmente dentro das aplicações.

Page Topics

Principais recursos

Principais recursos

Se você tiver o AWS CloudTrail habilitado para sua conta da AWS, cada solicitação feita ao AWS KMS será registrada em um arquivo de log. Esse arquivo de log é entregue ao bucket do Amazon Simple Storage Service (Amazon S3) especificado quando você habilitou o AWS CloudTrail. As informações registradas incluem detalhes do usuário, hora, data, ação da API e, quando relevante, a chave usada.

O AWS KMS é um serviço gerenciado. Conforme cresce o seu uso da criptografia, o serviço escala automaticamente para atender às suas necessidades. Ele ajuda você a gerenciar milhares de chaves KMS na sua conta e a usá-las sempre que quiser. Ele define limites padrão para o número de chaves e as taxas de solicitação. No entanto, se necessário, é possível solicitar um aumento dos limites.

As chaves KMS que você cria ou as que são criadas em seu nome por outros serviços da AWS não podem ser exportadas do serviço. Portanto, o AWS KMS é responsável por sua resiliência. Para ajudar a confirmar que suas chaves e seus dados estejam altamente disponíveis, o AWS KMS armazena várias cópias de versões criptografadas de suas chaves em sistemas projetados para durabilidade de 99,999999999%.

Para dados criptografados ou fluxos de trabalho de assinatura digital que se deslocam entre regiões (recuperação de desastres, arquiteturas de alta disponibilidade multirregionais, DynamoDB Global Tables e assinaturas digitais consistentes distribuídas globalmente), você pode criar chaves KMS multirregionais. Chaves KMS multirregiões são um conjunto de chaves interoperáveis com o mesmo material de chave e IDs de chave que podem ser replicados em várias regiões.

O AWS KMS foi desenvolvido para ser um serviço altamente disponível com um endpoint regional de API. Como a maioria dos serviços da AWS depende dele para criptografia e descriptografia, o AWS KMS é arquitetado para fornecer um nível de disponibilidade. Essa disponibilidade sustenta o restante da AWS e é respaldada pelo Acordo de nível de serviço do AWS KMS.

O AWS KMS foi projetado para que ninguém, nem mesmo os funcionários da AWS, possam recuperar as chaves em texto simples do serviço. O serviço usa módulos de segurança de hardware (HSMs) que são continuamente validados de acordo com o Cryptographic Module Validation Program no Federal Information Processing Standards (FIPS) 140-2 do National Institute of Standards and Technology (NIST) para proteger a confidencialidade e a integridade das suas chaves. Os HSMs do AWS KMS constituem a raiz criptográfica de confiança para proteger chaves do KMS. Eles criam um limite seguro protegido por hardware para todas as operações criptográficas que ocorrem no KMS. Todo o material para chaves do KMS geradas nos HSMs do AWS KMS e todas as operações que exigem material descriptografado de chaves do KMS ocorrem estritamente dentro do limite de nível de segurança 3 do FIPS 140-2 desses HSMs. As atualizações do firmware de HSM do AWS KMS são monitoradas por um controle de acesso por várias partes, auditado e revisado por um grupo independente dentro da Amazon. Segundo os requisitos do FIPS 140, todas as alterações de firmware em HSMs do KMS são enviadas a um laboratório credenciado pelo NIST para validação em conformidade com o nível de segurança 3 do FIPS 140-2.

As chaves em texto simples nunca são gravadas em disco e são usadas exclusivamente na memória volátil dos HSMs pelo tempo necessário para executar as operações criptográficas solicitadas. Isso ocorre independentemente de você solicitar que o AWS KMS crie chaves em seu nome, importe-as para o serviço ou crie-as em um cluster do AWS CloudHSM usando o recurso de armazenamento de chaves personalizado. Você escolhe se deseja criar chaves de região única ou de várias regiões. As chaves de região única nunca são transmitidas fora da região da AWS em que foram criadas e só podem ser usadas na região em que foram criadas.
 

Para saber mais sobre a arquitetura do AWS KMS e a criptografia usada para proteger suas chaves, leia o whitepaper AWS KMS Cryptographic Details.

* Na região da AWS China (Pequim), operada pela Sinnet Technology Co., Ltd. ("Sinnet") de Pequim, e na região China (Ningxia), operada pela Ningxia Western Cloud Data Technology Co., Ltd. ("NWCD") NWCD, as HSMs são aprovadas pelo governo chinês (não validados pelo FIPS 140-2), e o whitepaper sobre os detalhes de criptografia, mencionado acima, não é aplicável.  

O AWS KMS ajuda a criar e usar chaves do KMS assimétricas e pares de chaves de dados. Você pode designar uma chave do KMS para uso como um par de chaves de assinatura, de criptografia ou de contrato de chaves. A geração de pares de chaves e as operações criptográficas assimétricas utilizando essas chaves do KMS são executadas dentro dos HSMs. Você pode solicitar a parte pública da chave assimétrica do KMS para uso em aplicações locais, enquanto a parte privada nunca sai do serviço. Você pode importar a parte privada de uma chave assimétrica de sua própria infraestrutura de gerenciamento de chaves.

Você também pode solicitar que o serviço gere um par de chaves de dados assimétricas. Essa operação retorna uma cópia da chave pública e da chave privada em texto simples e uma cópia da chave privada criptografada com a chave KMS simétrica que você especificou. Você pode usar a chave pública ou privada em texto simples na aplicação local e armazenar a cópia criptografada da chave privada para uso futuro.

** O armazenamento de chaves personalizadas não é compatível com as chaves assimétricas.

Você pode gerar e verificar o código de autenticação de mensagem por hash (HMACs) de dentro dos HSMs (módulos de segurança de hardware) validados pelo FIPS 140-2 do AWS KMS. Os HMACs são blocos de construção criptográfica que incorporam material da chave de segredo em uma função hash para criar um código exclusivo de autenticação de mensagem chaveada. As chaves HMAC do KMS oferecem uma vantagem sobre os HMACs do software de aplicação, porque o material da chave é gerado e usado inteiramente no AWS KMS. Ele também está sujeito aos controles de acesso que você define na chave. As chaves HMAC do KMS e os algoritmos HMAC que o AWS KMS usa estão em conformidade com os padrões do setor definidos em RFC 2104. As chaves HMAC do KMS são geradas em módulos de segurança de hardware do AWS KMS certificados no Programa de Validação de Módulo Criptográfico FIPS 140-2 e nunca deixam o AWS KMS sem criptografia. Você também pode importar sua própria chave HMAC de sua infraestrutura de gerenciamento de chaves particular.

*As chaves HMAC do AWS KMS não são compatíveis com os armazenamentos de chaves personalizadas.
** FIPS 140-2 não se aplica ao AWS KMS na região China (Pequim) da AWS, operada pela Sinnet, e na região China (Ningxia) da AWS, operada pela NWCD. Nas regiões da China, as HSMs são aprovadas para uso pelo governo chinês.

Os controles de segurança e qualidade no AWS KMS foram validados e certificados pelos seguintes regimes de conformidade:

O AWS KMS foi validado e certificado para os regimes de conformidade relacionados aqui.

* FIPS 140-2 não se aplica ao AWS KMS na região China (Pequim) da AWS, operada pela Sinnet, e na região China (Ningxia) da AWS, operada pela NWCD. Nas regiões da China, as HSMs são aprovadas para uso pelo governo chinês.

Os armazenamentos de chaves personalizadas combinam a interface prática e abrangente do gerenciamento de chaves do AWS KMS com a capacidade de ter e controlar os dispositivos nos quais o material da chave e as operações criptográficas ocorrem. Como resultado, você assume mais responsabilidade pela disponibilidade e durabilidade das chaves criptográficas e pela operação dos HSMs. O AWS KMS oferece dois tipos de armazenamento de chave personalizada:

Armazenamento de chave baseado no CloudHSM

Você pode criar uma chave do KMS em um armazenamento de chaves personalizadas do AWS CloudHSM, no qual todas as chaves são geradas e armazenadas em um cluster do AWS CloudHSM que você detém e gerencia. Quando você usa uma chave do KMS em um armazenamento de chaves personalizadas, as operações de criptografia realizadas com essa chave são executadas apenas em seu cluster do AWS CloudHSM.

O uso de um armazenamento de chaves personalizadas envolve o custo adicional do cluster do AWS CloudHSM, e você se torna responsável pela disponibilidade do material de chaves nesse cluster. Para obter orientação sobre a adequação dos armazenamentos de chaves personalizadas aos seus requisitos, consulte este blog.

Armazenamento de chave externa

Se você tiver uma necessidade regulamentar de armazenar e usar suas chaves de criptografia no local ou fora da Nuvem AWS, é possível criar uma chave do KMS em um armazenamento de chave externa do AWS KMS (XKS), no qual todas as chaves são geradas e armazenadas em um gerenciador de chaves externo fora da AWS que você possui e gerencia. Ao usar um XKS, seu material de chave nunca sai de seu HSM.

Ao contrário das chaves do KMS padrão ou de uma chave em um armazenamento de chaves personalizadas do CloudHSM, você é responsável pela durabilidade, disponibilidade, latência, desempenho e segurança do material da chave e pelas operações criptográficas de chaves externas ao usar um repositório de chaves externo. A performance e a disponibilidade das operações do KMS podem ser afetadas pelo hardware, software ou componentes de rede da infraestrutura XKS que você usa. Para saber mais sobre o XKS, leia este Blog de notícias da AWS.

*Armazenamentos das chaves personalizadas não estão disponíveis nas regiões da AWS China (Pequim), operada pela Sinnet e China (Ningxia), operada pela NWCD.
** O armazenamento de chaves personalizadas não está disponível para chaves KMS assimétricas.
*** O CodeArtifact não é compatível com chaves do KMS em um XKS.

Você pode usar o AWS KMS com bibliotecas de criptografia do lado do cliente para proteger os dados diretamente em seu aplicativo na AWS ou em ambientes híbridos e multinuvem. Você pode usar essas bibliotecas para criptografar dados antes de armazená-los nos serviços da AWS ou em qualquer outro meio de armazenamento e serviços de terceiros que desejar. Essas bibliotecas foram projetadas para ajudar você a criptografar e descriptografar dados usando padrões e práticas recomendadas do setor. As bibliotecas de criptografia permitem que você se concentre na funcionalidade principal do seu aplicativo e não em como criptografar e descriptografar seus dados.

  • O SDK de criptografia da AWS fornece uma biblioteca de criptografia de uso geral para implementar operações de criptografia e descriptografia em todos os tipos de dados.
  • O SDK de criptografia de banco de dados da AWS é uma biblioteca de criptografia que ajuda a proteger dados sigilosos armazenados em seu banco de dados e fornece atributos adicionais para pesquisar e consultar os dados criptografados.
  • O Amazon S3 Encryption Client é uma biblioteca de criptografia para criptografar e descriptografar objetos armazenados em seu bucket do S3.

Para saber mais, acesse a Documentação do AWS Crypto Tools.

Integração de produtos da AWS

O AWS KMS integra-se aos serviços da AWS para criptografar dados em repouso ou para facilitar a assinatura e a verificação usando uma chave do AWS KMS. Para proteger os dados em repouso, os serviços integrados da AWS usam criptografia envelopada, na qual uma chave de dados é usada para criptografar dados e é criptografada em uma chave KMS armazenada no AWS KMS. Para assinatura e verificação, os serviços integrados da AWS usam chaves KMS RSA ou ECC assimétricas no AWS KMS. Para obter mais detalhes sobre como um serviço integrado usa o AWS KMS, consulte a documentação do seu serviço da AWS.

Alexa for Business[1] Amazon FSx Amazon Rekognition AWS CodePipeline
Amazon AppFlow Amazon GuardDuty Amazon Relational Database Service (RDS) AWS Control Tower
Amazon Athena Amazon HealthLake Amazon Route 53 AWS Data Exchange
Amazon Aurora Amazon Inspector Amazon Simple Storage Service (Amazon S3)[3] AWS Database Migration Service
SDK do Amazon Chime Amazon Kendra Amazon SageMaker AWS DeepRacer
Amazon CloudWatch Logs Amazon Keyspaces (para Apache Cassandra) Amazon Simple Email Service (SES)
AWS Elastic Disaster Recovery
Amazon CloudWatch Synthetics Amazon Kinesis Data Streams Amazon Simple Notification Service (SNS) AWS Elemental MediaTailor
Amazon CodeGuru Amazon Kinesis Firehose Amazon Simple Queue Service (SQS) AWS Entity Resolution
Amazon CodeWhisperer Amazon Kinesis Video Streams Amazon Textract AWS GameLift
Amazon Comprehend Amazon Lex Amazon Timestream AWS Glue
Amazon Connect Amazon Lightsail[1] Amazon Transcribe AWS Glue DataBrew
Amazon Connect Customer Profiles Amazon Location Service Amazon Translate AWS Ground Station
Amazon Connect Voice ID Amazon Lookout for Equipment Amazon WorkMail AWS IoT SiteWise
Amazon Connect Wisdom Amazon Lookout for Metrics Amazon WorkSpaces AWS Lambda
Amazon DocumentDB Amazon Lookout for Vision Amazon WorkSpaces Thin Client AWS License Manager
Amazon DynamoDB Amazon Macie Amazon WorkSpaces Web AWS Mainframe Modernization
Amazon DynamoDB Accelerator (DAX)[1]
Amazon Managed Blockchain AWS AppConfig AWS Network Firewall
Amazon EBS Amazon Managed Service for
Prometheus
AWS AppFabric AWS Proton
Amazon EC2 Image Builder Amazon Managed Streaming for Kafka (MSK) AWS Application Cost Profiler AWS Secrets Manager
Amazon EFS Amazon Managed Workflows for Apache Airflow (MWAA) AWS Application Migration Service AWS Snowball 
Amazon Elastic Container Registry (ECR) Amazon MemoryDB AWS App Runner AWS Snowball Edge
Amazon Elastic Kubernetes Service (EKS) Amazon Monitron AWS Audit Manager AWS Snowcone
Amazon Elastic Transcoder Amazon MQ AWS Backup AWS Storage Gateway
Amazon ElastiCache Amazon Neptune AWS Certificate Manager[1] AWS Systems Manager
Amazon EMR Amazon Nimble Studio AWS Cloud9[1] Cadeia de Suprimentos AWS
Amazon EMR Sem Servidor Amazon OpenSearch AWS CloudHSM[2] Acesso Verificado pela AWS
Agendador do Amazon EventBridge Amazon Omics AWS CloudTrail AWS X-Ray
Amazon FinSpace Amazon Personalize AWS CodeArtifact  
Amazon Forecast Amazon QLDB AWS CodeBuild  
Amazon Fraud Detector Amazon Redshift AWS CodeCommit[1]  

[1] Compatível somente com chaves gerenciadas pela AWS.

[2] O AWS KMS é compatível com armazenamento de chaves personalizadas respaldado por um cluster do AWS CloudHSM.

[3] O S3 Express One Zone não está integrado ao AWS KMS, mas oferece suporte à criptografia do lado do servidor com chaves gerenciadas do Amazon S3 (SSE-S3). Para saber mais sobre a criptografia de objetos do S3 Express One Zone, visite Proteção e criptografia de dados do S3 Express One Zone.

[4] Para obter uma lista de serviços integrados ao AWS KMS nas regiões da AWS China (Pequim), operada pela Sinnet, e AWS China (Ningxia), operada pela NWCD, consulte a integração do AWS KMS Service na China.

Os serviços da AWS não listados acima criptografam os dados do cliente usando chaves pertencentes ao respectivo serviço e por ele gerenciadas.