Обзор
Сервис управления ключами AWS (KMS) обеспечивает централизованное управление криптографическими ключами, используемыми для защиты данных. Этот сервис интегрирован с другими сервисами AWS, что упрощает шифрование данных, хранимых в этих сервисах, и управление доступом к ключам для их дешифрования. Благодаря интеграции AWS KMS с AWS CloudTrail существует также возможность проверить, кто использовал ключи, какие именно, когда и для каких ресурсов. AWS KMS позволяет разработчикам без особых затруднений добавлять шифрование или цифровые подписи в код своих приложений, как напрямую, так и через AWS SDK. AWS Шифрование SDK поддерживает AWS KMS в качестве поставщика ключей для разработчиков, которые используют в своих приложениях локальное шифрование и (или) расшифровку данных.
AWS KMS предоставляет централизованное управление жизненным циклом и разрешениями для ключей. Вы сможете создавать новые ключи в любой удобный момент, а также по отдельности управлять правами на создание и использование этих ключей. Кроме использования ключей, сгенерированных AWS KMS, можно также импортировать ключи из вашей собственной инфраструктуры управления ключами, использовать ключи, хранящиеся в вашем кластере AWS CloudHSM, или ключи, хранящиеся за пределами AWS в вашем внешнем менеджере ключей. Вы можете выбрать автоматическую ежегодную ротацию корневых ключей, созданных в AWS KMS, без повторного шифрования ранее зашифрованных данных. Сервис автоматически поддерживает доступность старых версий корневого ключа для расшифровки ранее зашифрованных данных. Управлять корневыми ключами и выполнять аудит их использования можно с помощью Консоли управления AWS, AWS SDK или интерфейса командной строки (CLI) AWS.
* Опция импорта ключей недоступна для асимметричных ключей.
Интеграция с сервисами AWS
AWS KMS интегрируется с сервисами AWS для шифрования данных в местах хранения или для упрощения входа и проверки с помощью ключа AWS KMS. Для защиты данных в местах хранения интегрированные сервисы AWS используют шифрование конвертов, для которого применяется ключ данных, который в свою очередь шифруется с помощью ключа KMS, сохраненного в AWS KMS. Для входа и проверки сервисы AWS используют асимметричные ключи KMS или ECC, сохраненные в AWS KMS. Дополнительные сведения о том, как интегрированный сервис использует AWS KMS, можно найти в документации на соответствующий сервис AWS.
Alexa для бизнеса[1] | Amazon FSx | Amazon Omics | AWS CloudTrail |
Amazon AppFlow | Наземная станция AWS | Amazon Personalize | AWS CodeArtifact |
Amazon Athena | Amazon GuardDuty | Amazon QLDB | AWS CodeBuild |
Amazon Aurora | Amazon HealthLake | Amazon Redshift | AWS CodeCommit[1] |
Журналы Amazon CloudWatch | Amazon Inspector | Amazon Rekognition | AWS CodePipeline |
Amazon CloudWatch Synthetics | Amazon Kendra | Сервис реляционных баз данных Amazon (RDS) | AWS Control Tower |
Amazon CodeGuru | Amazon Keyspaces (для Apache Cassandra) | Amazon Route 53 | Сервис миграции баз данных AWS (AWS DMS) |
Amazon Comprehend | Amazon Kinesis Data Streams | Amazon S3 | Эластичное аварийное восстановление AWS |
Amazon Connect | Amazon Kinesis Firehose | Amazon SageMaker | AWS Elemental MediaTailor |
Профили клиентов сервиса Amazon Connect | Amazon Kinesis Video Streams | Amazon Simple Email Service (SES) | AWS Glue |
Amazon Connect Voice ID | Amazon Lex | Amazon Simple Notification Service (SNS) | AWS Glue DataBrew |
Amazon Connect Wisdom | Amazon Lightsail[1] | Amazon Simple Queue Service (SQS) | AWS IoT SiteWise |
Amazon DocumentDB | Amazon Location Service | Amazon Textract | AWS Lambda |
Amazon DynamoDB | Amazon Lookout for Equipment | Amazon Timestream | Менеджер лицензий AWS |
Ускоритель Amazon DynamoDB (DAX)[1] | Amazon Lookout для метрики | Amazon Transcribe | Сетевой брандмауэр AWS |
Amazon EBS | Amazon Lookout for Vision | Amazon Translate | AWS Proton |
Amazon EC2 Image Builder | Amazon Macie | Amazon WorkMail | AWS Secrets Manager |
Amazon EFS | Amazon Managed Blockchain | Amazon WorkSpaces | AWS Snowball |
Amazon Elastic Container Registry (ECR) | Управляемый сервис Amazon для Prometheus | Amazon WorkSpaces Web | Периферийный AWS Snowball |
Amazon Elastic Kubernetes Service (EKS) | Amazon Managed Streaming for Kafka (MSK) | Диспетчер аудита AWS | AWS Snowcone |
Amazon Elastic Transcoder | Amazon Managed Workflows for Apache Airflow (MWAA) | Профилировщик затрат на приложения AWS | AWS Snowmobile |
Amazon ElastiCache | Amazon MemoryDB | Сервис миграции приложений AWS (AWS MGN) | Шлюз хранилища AWS |
Amazon EMR | Amazon Monitron | AWS App Runner | Менеджер систем AWS |
Amazon EMR Serverless | Amazon MQ | AWS Backup | AWS X-Ray |
Amazon FinSpace | Amazon Neptune | Менеджер сертификатов AWS (ACM)[1] | |
Amazon Forecast | Amazon Nimble Studio | AWS Cloud9[1] | |
Детектор мошенничества Amazon | Amazon OpenSearch | 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 (Amazon S3), которую вы указали при включении AWS CloudTrail. Записанная информация содержит сведения о пользователе, времени, дате, действии API и использованном ключе (когда требуется).
Масштабируемость, надежность и высокая доступность
AWS KMS является полностью управляемым сервисом. При увеличении потребностей в шифровании сервис автоматически масштабируется в соответствии с текущими требованиями. Он позволяет управлять десятками тысяч ключей KMS в аккаунте и использовать их в любое время. Существуют определенные лимиты по умолчанию на количество ключей и запросов, но при необходимости можно запросить их повышение.
Ключи KMS, созданные вами самостоятельно или другими сервисами AWS от вашего имени, не могут быть экспортированы из сервиса. Это означает, что AWS KMS несет полную ответственность за их надежное хранение. Чтобы обеспечить доступность ключей и соответствующих данных в любой момент обращения к ним, AWS KMS хранит множество копий зашифрованных версий ключей в системах с уровнем надежности 99,999999999 %.
Для зашифрованных данных или рабочих процессов цифровой подписи, которые перемещаются между регионами (аварийное восстановление, многорегиональные архитектуры высокой доступности, глобальные таблицы DynamoDB и глобально распределенные согласованные цифровые подписи), вы можете создать многорегиональные ключи KMS. Это набор взаимодействующих ключей с одним и тем же ключевым материалом и идентификаторами ключей, которые могут быть реплицированы в несколько регионов.
AWS KMS разработан как высокодоступный сервис с региональным адресом API. Поскольку большинство сервисов AWS зависит от шифрования и расшифровки AWS KMS, он спроектирован таким образом, чтобы обеспечить уровень доступности, необходимый для поддержки остальных сервисов 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 KMS.
* В регионе AWS Китай (Пекин) под управлением Sinnet и регионе AWS Китай (Нинся) под управлением NWCD модули HSM одобрены государственными учреждениями Китая (а не проверены по стандарту FIPS 140‑2), а вышеупомянутое техническое описание «Сведения о криптографии» не применяется.
Асимметричные ключи
AWS KMS помогает создавать и использовать асимметричные ключи KMS и пары ключей данных. Вы можете назначить ключ KMS для использования в роли пары ключей подписывания или шифрования. Генераций пар ключей и асимметричные криптографические операции с такими ключами KMS выполняются в аппаратных модулях HSM. Вы можете запросить открытую часть асимметричного ключа KMS для использования в локальных приложениях, а закрытая часть никогда не покидает пределов сервиса.
Вы также может создать с помощью сервиса асимметричную пару ключей данных. Такая операция возвращает копию открытого и закрытого ключей в формате обычного текста, а также копию закрытого ключа, зашифрованную предоставленным вами симметричным ключом KMS. Версии ключей в формате обычного текста можно использовать в локальном приложении, а зашифрованную копию закрытого ключа – сохранить отдельно, чтобы использовать в будущем.
* Асимметричные ключи не поддерживаются при использовании собственного хранилища ключей.
HMAC
Вы можете создать и проверить код аутентификации сообщений на основе хэша (HMAC) из аппаратных модулей безопасности (HSM), проверенных AWS 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 требованиям Service Organization Controls (SOC 1, SOC 2 и SOC 3). Загрузить копию этих отчетов можно в AWS Artifact.
- PCI DSS Level 1. Узнайте больше о сервисах, соответствующих стандарту PCI DSS, в AWS на странице вопросов и ответов.
- 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 KMS с возможностью владеть устройствами, на которых находится ключевой материал и выполняются криптографические операции, и контролировать их. В результате вы берете на себя большую ответственность за доступность и долговечность криптографических ключей и за работу HSM. AWS KMS предлагает два типа собственных хранилищ ключей:
Хранилище ключей с поддержкой CloudHSM
Вы можете создать ключ KMS в собственном хранилище ключей AWS CloudHSM, где все ключи генерируются и хранятся в кластере AWS CloudHSM, которым вы владеете и управляете. Когда вы применяете ключ KMS из собственного хранилища ключей, все криптографические операции с этим ключом выполняются только в вашем кластере AWS CloudHSM.
Использование собственного хранилища ключей влечет за собой дополнительные расходы на кластер AWS CloudHSM. Ответственность за доступность материала ключей в этом кластере несет сам клиент. Подробнее о том, подойдет ли собственное хранилище ключей в вашем случае, см. в этом блоге.
Внешнее хранилище ключей
Если у вас есть нормативная необходимость хранить и использовать ключи шифрования на территории или за пределами облака AWS Cloud, вы можете создать ключ KMS во внешнем хранилище ключей AWS KMS (XKS), где все ключи генерируются и хранятся во внешнем менеджере ключей вне AWS, которым вы владеете и управляете. При использовании XKS ключевой материал никогда не покидает HSM.
В отличие от стандартных ключей KMS или ключей в собственном хранилище ключей CloudHSM, при использовании внешнего хранилища ключей вы несете ответственность за долговечность, доступность, задержку, производительность и безопасность ключевого материала и криптографических операций с внешними ключами. На производительность и доступность операций KMS могут влиять аппаратные, программные или сетевые компоненты используемой вами инфраструктуры XKS. Чтобы узнать больше о XKS, вы можете прочитать этот блог AWS News.
* Поддержка cобственных хранилищ ключей недоступна в регионе AWS Китай (Пекин) под управлением Sinnet и регионе AWS Китай (Нинся) под управлением NWCD.
** Функция собственного хранилища ключей недоступна для асимметричных ключей KMS.
*** CodeArtifact не поддерживает ключи KMS в XKS.

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

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