Обзор

Сервис 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 для шифрования данных при хранении или для упрощения входа и проверки с помощью ключа AWS KMS. Для защиты данных при хранении интегрированные сервисы AWS используют конвертное шифрование, для которого применяется ключ данных, который в свою очередь шифруется с помощью ключа KMS, сохраненного в AWS KMS. Для входа и проверки сервисы AWS используют пары ключей из асимметричного ключа KMS, сохраненного в AWS KMS. Дополнительные сведения о том, как интегрированный сервис использует AWS KMS, можно найти в документации на соответствующий сервис AWS.

В аккаунте AWS можно создавать ресурсы ключа KMS двух типов: 1) Управляемый в AWS ключ KMS создается автоматически по мере необходимости. Вы можете получить список управляемых в AWS ключей KMS и сведения об их использовании с помощью AWS CloudTrail, но разрешения на этот ресурс управляются сервисом AWS, для работы с которым он был создан. 2) Управляемый пользователем ключ KMS обеспечивает максимальный контроль над разрешениями и жизненным циклом для ключа.

Сервисы AWS, интегрированные с AWS KMS
Alexa for Business[1] Amazon Fraud Detector
Amazon Personalize
AWS CloudTrail
Amazon AppFlow Amazon FSx
Amazon QLDB
AWS CodeArtifact
Amazon Athena Amazon GuardDuty Amazon Redshift
AWS CodeBuild
Amazon Aurora Amazon HealthLake Amazon Rekognition AWS CodeCommit[1]
Amazon CloudWatch Logs Amazon Inspector Amazon Relational Database Service (RDS) AWS CodePipeline
Amazon CloudWatch Synthetics Amazon Kendra Amazon Route 53 AWS Control Tower
Amazon CodeGuru Amazon Keyspaces (для Apache Cassandra) Amazon S3 AWS Database Migration Service
Amazon Comprehend Amazon Kinesis Data Streams Amazon SageMaker Аварийное восстановление AWS Elastic
Amazon Connect Amazon Kinesis Firehose Amazon Simple Email Service (SES) AWS Elemental MediaTailor
Профили клиентов сервиса Amazon Connect Amazon Kinesis Video Streams Amazon Simple Notification Service (SNS) AWS Glue
Amazon Connect Voice ID Amazon Lex Amazon Simple Queue Service (SQS)
AWS Glue DataBrew
Amazon Connect Wisdom Amazon Lightsail[1] Amazon Textract AWS IoT SiteWise
Amazon DocumentDB Amazon Location Service Amazon Timestream AWS Lambda
Amazon DynamoDB Amazon Lookout for Equipment Amazon Transcribe AWS License Manager
Amazon DynamoDB Accelerator (DAX)[1] Amazon Lookout for Metrics Amazon Translate AWS Network Firewall
Amazon EBS Amazon Lookout for Vision Amazon WorkMail AWS Proton
Amazon EC2 Image Builder Amazon Macie Amazon WorkSpaces AWS Secrets Manager
Amazon EFS Amazon Managed Blockchain Amazon WorkSpaces Web AWS Snowball
Amazon Elastic Container Registry (ECR) Управляемый сервис Amazon для Prometheus Управление аудитом AWS AWS Snowball Edge
Amazon Elastic Kubernetes Service (EKS) Amazon Managed Streaming for Kafka (MSK) AWS Application Cost Profiler AWS Snowcone
Amazon Elastic Transcoder Amazon Managed Workflows for Apache Airflow (MWAA) AWS Application Migration Service AWS Snowmobile
Amazon ElastiCache Amazon MemoryDB AWS App Runner AWS Storage Gateway
Amazon OpenSearch Amazon Monitron AWS Backup AWS Systems Manager
Amazon EMR Amazon MQ AWS Certificate Manager[1] AWS X-Ray
Amazon FinSpace Amazon Neptune AWS Cloud9[1]  
Amazon Forecast Amazon Nimble Studio AWS CloudHSM[2]  

[1] Поддерживает только ключи под управлением AWS.

[2] AWS KMS поддерживает пользовательское хранилище ключей, для которого кластер AWS CloudHSM создает резервную копию.

[3] Список сервисов, интегрированных с KMS в регионе AWS Китай (Пекин) под управлением Sinnet и регионе AWS Китай (Нинся) под управлением NWCD, см. на странице интеграции AWS KMS с сервисами в Китае.

Сервисы AWS, которые не перечислены выше, шифруют данные клиента с помощью ключей, принадлежащих самому сервису и управляемых им же.

Возможности аудита

Если в аккаунте AWS включен сервис AWS CloudTrail, каждый запрос в AWS KMS записывается в файл журнала, который сохраняется в корзине Amazon S3, указанной при включении AWS CloudTrail. Записанная информация содержит сведения о пользователе, времени, дате, действии API и использованном ключе (когда требуется).

Масштабирование, надежность и высокая доступность

AWS KMS является полностью управляемым сервисом. При увеличении потребностей в шифровании сервис автоматически масштабируется в соответствии с текущими требованиями. Он позволяет управлять тысячами ключей KMS в аккаунте и использовать их в любое время. Существуют определенные лимиты по умолчанию на количество ключей и запросов, но при необходимости можно запросить их повышение.

Ключи KMS, созданные вами самостоятельно или другими сервисами AWS от вашего имени, не могут быть экспортированы из сервиса. Это означает, что AWS KMS несет полную ответственность за их надежное хранение. Чтобы обеспечить доступность ключей и соответствующих данных в любой момент обращения к ним, сервис хранит множество копий зашифрованных версий ключей в системах с уровнем надежности 99,999999999 %.

При импорте ключей в сервис вы сохраняете в надежном расположении копию ключей KMS, чтобы в случае недоступности их можно было в любое время импортировать повторно. Если вы используете возможности собственного хранилища ключей и создаете ключи KMS в кластере AWS CloudHSM, для зашифрованных копий ключей будут автоматически создаваться резервные копии, а процесс их восстановления можно будет полностью контролировать.

Для зашифрованных данных или рабочих процессов цифровой подписи, которые перемещаются между регионами (аварийное восстановление, многорегиональные архитектуры высокой доступности, глобальные таблицы DynamoDB и глобально распределенные согласованные цифровые подписи), вы можете создать многорегиональные ключи KMS, набор взаимодействующих ключей с один и тот же ключевой материал и идентификаторы ключей, которые могут быть реплицированы в несколько регионов.

AWS KMS разработан как высокодоступный сервис с региональным адресом API. Поскольку большинство сервисов AWS зависит от шифрования и расшифровки, сервис спроектирован таким образом, чтобы обеспечить уровень доступности, необходимый для поддержки остальных сервисов AWS, а также подкреплен Соглашением об уровне обслуживания AWS KMS.

Безопасность

Сервис AWS KMS устроен таким образом, что никто, включая сотрудников AWS, не может извлечь из него ваши незашифрованные ключи. Этот сервис использует для защиты ключей аппаратные модули безопасности (HSM), проверенные или находящиеся в процессе проверки на соответствие стандарту FIPS 140‑2, чтобы гарантировать конфиденциальность и целостность ключей. Незашифрованные ключи никогда не записываются на диск и используются только в энергозависимой памяти HSM в течение времени, необходимого для выполнения запрошенной криптографической операции. Эти гарантии одинаково применимы к ключам, которые AWS KMS создает от вашего имени, которые вы импортируете в службу извне или самостоятельно создаете в кластере AWS CloudHSM с использованием пользовательского хранилища ключей. Ключи, созданные сервисом 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 создает резервную копию. Когда вы создаете ключ KMS в собственном хранилище ключей, сервис генерирует материалы ключей и сохраняет их в кластере AWS CloudHSM, который находится под вашим полным управлением. Когда вы применяете ключ KMS из собственного хранилища ключей, все криптографические операции с этим ключом выполняются в вашем кластере AWS CloudHSM.

Ключи KMS, сохраненные в собственном хранилище ключей и управляемые вами, как и любые другие ключи KMS, можно использовать в любом сервисе AWS, который поддерживает интеграцию с AWS KMS.

Использование собственного хранилища ключей влечет за собой дополнительные расходы на кластер AWS CloudHSM. Ответственность за доступность материала ключей в этом кластере несет сам клиент. Подробнее о том, подойдет ли собственное хранилище ключей в вашем случае, см. в этом блоге.

* Возможность использования собственного хранилища ключей недоступна в регионе AWS Китай (Пекин) под управлением Sinnet и регионе AWS Китай (Нинся) под управлением NWCD.

** Функция собственного хранилища ключей недоступна для асимметричных ключей KMS.

Асимметричные ключи

AWS KMS предоставляет возможность создавать и использовать асимметричные ключи KMS и пары ключей данных. Вы можете назначить ключ KMS для использования в роли пары ключей подписывания или шифрования. Генераций пар ключей и асимметричные криптографические операции с такими ключами KMS выполняются в аппаратных модулях HSM. Вы можете запросить открытую часть асимметричного ключа KMS для использования в локальных приложениях, а закрытая часть никогда не покидает пределов сервиса.

Вы также может создать с помощью сервиса асимметричную пару ключей данных. Такая операция возвращает копию открытого и закрытого ключей в формате обычного текста, а также копию закрытого ключа, зашифрованную предоставленным вами симметричным ключом KMS. Версии ключей в формате обычного текста можно использовать в локальном приложении, а зашифрованную копию закрытого ключа – сохранить отдельно, чтобы использовать в будущем.

** Асимметричные ключи не поддерживаются при использовании собственного хранилища ключей.

HMAC

Вы можете создать и проверить хэш-код аутентификации сообщений (HMAC) из аппаратных модулей безопасности (HSM), проверенных KMS FIPS 140-2. HMAC – это криптографический структурный элемент, который содержит секретный ключ в хэш-функции для создания кода аутентификации сообщения с уникальным ключом. Ключи KMS HMAC имеют преимущество перед HMAC из приложений, поскольку материал для ключа создается и используется полностью в KMS AWS, а также применяются меры контроля доступа, заданные для ключа. Ключи KMS HMAC и алгоритмы HMAC, которые используются KMS AWS, отвечают промышленным стандартам, определенным в RFC 2104. Ключи KMS HMAC генерируются в аппаратных модулях безопасности (HSM) KMS AWS, сертифицированных в соответствии с программой проверки криптографических модулей FIPS 140-2, кроме регионов Китай (Пекин) и Китай (Нинся), и никогда не оставляют KMS AWS без шифрования.

** Ключи HMAC KMS AWS не поддерживаются в пользовательских хранилищах ключей.

Соответствие требованиям

Средства управления безопасностью и качеством сервиса AWS KMS были подтверждены и сертифицированы по следующим схемам соответствия требованиям.

 
Здесь мы приводим список других режимов соответствия, по которым AWS KMS прошел проверку и сертификацию.
 
* Стандарт FIPS 140‑2 неприменим к AWS KMS в регионах Китая. Аппаратные модули безопасности, используемые в Китае, одобрены государственными учреждениями Китая.
Standard Product Icons (Features) Squid Ink
Подробнее о ценах

Ознакомьтесь с примерами расчета стоимости и рассчитайте свои расходы.

Подробнее 
Sign up for a free account
Зарегистрировать бесплатный аккаунт

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

Регистрация 
Standard Product Icons (Start Building) Squid Ink
Начать разработку в консоли

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

Вход