Обзор
Сервис AWS Key Management Service (KMS) обеспечивает централизованный управление криптографическими ключами, используемыми для защиты данных. Этот сервис интегрирован с другими сервисами AWS, что упрощает шифрование данных, хранимых в этих сервисах, и управление доступом к ключам для их дешифрования. Благодаря интеграции AWS KMS с AWS CloudTrail существует возможность проверить, кто использовал ключи, какие именно, когда и для каких ресурсов. AWS KMS позволяет разработчикам без особых затруднений добавлять шифрование или цифровые подписи в код своих приложений, как напрямую, так и через AWS SDK. AWS Encryption SDK поддерживает AWS KMS в качестве поставщика главных ключей для разработчиков, которые используют в своих приложениях локальное шифрование и (или) расшифровку данных.
Централизованное управление ключами
AWS KMS предоставляет централизованное управление жизненным циклом и разрешениями для ключей. Вы сможете создавать новые ключи в любой удобный момент, а также управлять правами на создание и использование этих ключей. Кроме использования ключей, сгенерированных AWS KMS, можно также импортировать ключи из вашей собственной инфраструктуры управления ключами, или же ключи, хранящиеся в вашем кластере AWS CloudHSM. Вы можете выбрать автоматическую ежегодную ротацию главных ключей, созданных в AWS KMS, без повторного шифрования ранее зашифрованных данных. Сервис автоматически поддерживает доступность старых версий главного ключа для расшифровки ранее зашифрованных данных. Управлять главными ключами и выполнять аудит их использования можно с помощью Консоли управления AWS, AWS SDK или интерфейса командной строки (CLI) AWS.
*Опция импорта ключей недоступна для асимметричных ключей.
Интеграция с сервисами AWS
AWS KMS интегрируется с сервисами AWS для шифрования данных при хранении или для упрощения входа и проверки с помощью главного ключа клиента (CMK) из AWS KMS. Для защиты данных при хранении интегрированные сервисы AWS используют конвертное шифрование, для которого применяется ключ данных, который в свою очередь шифруется с помощью ключа CMK, сохраненного в AWS KMS. Для входа и проверки сервисы AWS используют пары ключей из асимметричного ключа CMK, сохраненного в AWS KMS. Дополнительные сведения о том, как интегрированный сервис использует AWS KMS, можно найти в документации на соответствующий сервис AWS.
В аккаунте AWS можно создавать ресурсы CMK двух типов: 1) Управляемый в AWS ключ CMK создается автоматически по мере необходимости. Вы можете получить список управляемых в AWS ключей CMK и сведения об их использовании с помощью AWS CloudTrail, но разрешения на этот ресурс управляются сервисом AWS, для работы с которым он был создан. 2) Управляемый пользователем ключ CMK обеспечивает максимальный контроль над разрешениями и жизненным циклом для ключа.
Alexa for Business* | Amazon EMR | Amazon Relational Database Service (RDS) | AWS CodeArtifact |
Amazon AppFlow | Amazon Forecast | Amazon Route 53 | AWS CodeBuild |
Amazon Athena | Amazon Fraud Detector | Amazon S3 | AWS CodeCommit* |
Amazon Aurora | Amazon FSx for Windows File Server | Amazon SageMaker | AWS CodePipeline |
Amazon CloudWatch Logs | Amazon GuardDuty | Amazon Simple Email Service (SES) | AWS Database Migration Service |
Amazon Comprehend | Amazon Kendra | Amazon Simple Notification Service (SNS) | AWS Glue |
Amazon Connect | Amazon Kinesis Data Streams | Amazon Simple Queue Service (SQS) | AWS Glue DataBrew |
Профили клиентов сервиса Amazon Connect | Amazon Kinesis Firehose | Amazon Textract | AWS IoT SiteWise |
Amazon DocumentDB | Amazon Kinesis Video Streams | Amazon Timestream | AWS Lambda |
Amazon DynamoDB | Amazon Lex | Amazon Transcribe | AWS License Manager |
Amazon DynamoDB Accelerator (DAX)* | Amazon Lightsail* | Amazon Translate | AWS Secrets Manager |
Amazon EBS | Amazon Macie | Amazon WorkMail | AWS Snowball |
Amazon EC2 Image Builder | Amazon Managed Streaming for Kafka (MSK) | Amazon WorkSpaces | AWS Snowball Edge |
Amazon EFS | Управляемые рабочие процессы Amazon для Apache Airflow (MWAA) | Управление аудитом AWS | AWS Snowcone |
Amazon Elastic Container Registry (ECR) | Amazon Monitron | AWS Backup | AWS Snowmobile |
Amazon Elastic Kubernetes Service (EKS) | Amazon MQ | AWS Certificate Manager* | AWS Storage Gateway |
Amazon Elastic Transcoder | Amazon Neptune | AWS Cloud9* | AWS Systems Manager |
Amazon ElastiCache | Amazon Personalize | AWS CloudHSM | AWS X‑Ray |
Amazon Elasticsearch | Amazon Redshift | AWS CloudTrail |
* Поддерживает только ключи AWS KMS под управлением AWS.
** Список сервисов, интегрированных с KMS в регионе AWS Китай (Пекин) под управлением Sinnet и регионе AWS Китай (Нинся) под управлением NWCD, см. на странице интеграции AWS KMS с сервисами в Китае.
Сервисы AWS, которые не перечислены выше, шифруют данные клиента с помощью ключей, принадлежащих самому сервису и управляемых им же.
Возможности аудита
Если в аккаунте AWS включен сервис AWS CloudTrail, каждый запрос в AWS KMS записывается в файл журнала, который сохраняется в корзине Amazon S3, указанной при включении AWS CloudTrail. Записанная информация содержит сведения о пользователе, времени, дате, действии API и использованном ключе (когда требуется).
Масштабирование, надежность и высокая доступность
AWS KMS является полностью управляемым сервисом. При увеличении потребностей в шифровании сервис автоматически масштабируется в соответствии с текущими требованиями. Он позволяет управлять тысячами CMK в аккаунте и использовать их в любое время. Существуют определенные лимиты по умолчанию на количество ключей и запросов, но при необходимости можно запросить их повышение.
CMK, созданные вами самостоятельно или другими сервисами AWS от вашего имени, не могут быть экспортированы из сервиса. Это означает, что AWS KMS несет полную ответственность за их надежное хранение. Чтобы обеспечить доступность ключей и соответствующих данных в любой момент обращения к ним, сервис хранит множество копий зашифрованных версий ключей в системах с уровнем надежности 99,999999999 %.
При импорте ключей в сервис вы сохраняете в надежном расположении копию CMK, чтобы в случае недоступности их можно было в любое время импортировать повторно. Если вы используете возможности собственного хранилища ключей и создаете CMK в кластере AWS CloudHSM, для зашифрованных копий ключей будут автоматически создаваться резервные копии, а процесс их восстановления можно будет полностью контролировать.
AWS KMS разработан как высокодоступный сервис с региональным адресом API. Поскольку большинство сервисов AWS зависит от шифрования и расшифровки, сервис спроектирован таким образом, чтобы обеспечить уровень доступности, необходимый для поддержки остальных сервисов AWS, а также подкреплен Соглашением об уровне обслуживания AWS KMS.
Безопасность
Сервис AWS KMS устроен таким образом, что никто, включая сотрудников AWS, не может извлечь из него ваши незашифрованные ключи. Этот сервис использует для защиты ключей аппаратные модули безопасности (HSM), проверенные или находящиеся в процессе проверки на соответствие стандарту FIPS 140‑2, чтобы гарантировать конфиденциальность и целостность ключей. Эти гарантии одинаково применимы к ключам, которые AWS KMS создает от вашего имени, которые вы самостоятельно создаете в кластере AWS CloudHSM, и которые импортируете в службу извне. Незашифрованные ключи никогда не записываются на диск и используются только в энергозависимой памяти HSM в течение времени, необходимого для выполнения запрошенной криптографической операции. Ключи, созданные сервисом AWS KMS, могут использоваться только в том регионе AWS, где они были созданы, и никогда не передаются за его пределы. Обновление встроенного ПО модулей HSM в AWS KMS управляется системой многостороннего контроля доступа. За ее аудит и проверку на соответствие требованиям стандарта FIPS 140‑2 отвечает независимая группа в составе Amazon, а также лаборатория, прошедшая аккредитацию NIST.
Подробнее об архитектуре AWS KMS и криптографии, которая используется в этом сервисе для защиты ключей, см. в техническом описании «Сведения о криптографии в сервисе AWS Key Management Service».
* В регионе AWS Китай (Пекин) под управлением Sinnet и регионе AWS Китай (Нинся) под управлением NWCD модули HSM одобрены государственными учреждениями Китая (а не проверены по стандарту FIPS 140‑2), а вышеупомянутое техническое описание «Сведения о криптографии» не применяется.
Собственное хранилище ключей
AWS KMS позволяет создать собственное хранилище ключей, используя управляемые клиентом модули HSM. Для каждого собственного хранилища ключей кластер AWS CloudHSM создает резервную копию. Когда вы создаете CMK в собственном хранилище ключей, сервис генерирует материалы ключей и сохраняет их в кластере AWS CloudHSM, который находится под вашим полным управлением. Когда вы применяете CMK из собственного хранилища ключей, все криптографические операции с этим ключом выполняются в вашем кластере AWS CloudHSM.
CMK, сохраненные в собственном хранилище ключей и управляемые вами, как и любые другие CMK, можно использовать в любом сервисе AWS, который поддерживает интеграцию с AWS KMS.
Использование собственного хранилища ключей влечет за собой дополнительные расходы на кластер AWS CloudHSM. Ответственность за доступность материала ключей в этом кластере несет сам клиент. Подробнее о том, подойдет ли собственное хранилище ключей в вашем случае, см. в этом блоге.
* Возможность использования собственного хранилища ключей недоступна в регионе AWS Китай (Пекин) под управлением Sinnet и регионе AWS Китай (Нинся) под управлением NWCD.
** Функция собственного хранилища ключей недоступна для асимметричных CMK.
Асимметричные ключи
AWS KMS предоставляет возможность создавать и использовать асимметричные CMK и пары ключей данных. Вы можете назначить CMK для использования в роли пары ключей подписывания или шифрования. Генераций пар ключей и асимметричные криптографические операции с такими CMK выполняются в аппаратных модулях HSM. Вы можете запросить открытую часть асимметричного CMK для использования в локальных приложениях, а закрытая часть никогда не покидает пределов сервиса.
Вы также может создать с помощью сервиса асимметричную пару ключей данных. Такая операция возвращает копию открытого и закрытого ключей в формате обычного текста, а также копию закрытого ключа, зашифрованную предоставленным вами симметричным CMK. Версии ключей в формате обычного текста вы можете использовать в локальном приложении, а зашифрованную копию закрытого ключа сохранить отдельно для использования в будущем.
* Поддержка асимметричных ключей недоступна в регионе AWS Китай (Пекин) под управлением Sinnet и регионе AWS Китай (Нинся) под управлением NWCD.
** Асимметричные ключи не поддерживаются при использовании собственного хранилища ключей.
Соответствие требованиям
Средства управления безопасностью и качеством сервиса AWS KMS были подтверждены и сертифицированы по следующим схемам соответствия требованиям.
- Отчеты о соответствии AWS требованиям Service Organization Controls (SOC 1, SOC 2 и SOC 3). Загрузить копию этих отчетов можно в AWS Artifact.
- PCI DSS Level 1. Подробнее о соответствии сервисов AWS стандарту PCI DSS см. на странице вопросов и ответов по PCI DSS.
- FIPS 140‑2. Все криптографические модули AWS KMS уже проверены или проверяются на соответствие стандарту FIPS 140‑2 Level 2, а по некоторым аспектам, включая физическую защиту, на соответствие уровню Level 3. Подробные сведения можно найти в сертификате FIPS 140‑2 для модулей HSM сервиса AWS KMS и в соответствующей политике безопасности.
- FedRAMP. Подробнее о соответствии AWS требованиям FedRAMP см. на странице соответствия требованиям FedRAMP.
- HIPAA. Подробнее см. на странице соответствия требованиям HIPAA.

Получите мгновенный доступ к уровню бесплатного пользования AWS.

Начните разработку с использованием AWS Key Management Service в Консоли AWS.