Обзор сервиса Key Management Service
Key Management Service — сервис для создания ключей шифрования в Yandex Cloud и управления ими.
Современные алгоритмы шифрования открыты. Знания шифртекста и алгоритма шифрования недостаточно для расшифрования данных, если нет доступа к ключу. Таким образом задача безопасного хранения данных сводится к задаче безопасного хранения ключей шифрования.
Шифруемые данные бывают разных типов: от паролей, OAuth-токенов и SSH-ключей до массивов данных гигабайтных размеров. Они могут требовать разный тип доступа (произвольный или последовательный) и разные виды хранилищ. В зависимости от всех этих факторов подбираются оптимальные алгоритмы шифрования. При большом количестве данных важно не только единообразно контролировать доступ к ним, но и учитывать специфику каждого конкретного вида.
Сервис Key Management Service решает описанные выше задачи и обеспечивает безопасное и централизованное хранение ключей шифрования.
Интерфейсы работы с сервисом
Для взаимодействия с KMS можно использовать:
- Консоль управления
. - Интерфейс командной строки (CLI).
- SDK: на Java
, Go , Python или Node.js . - API: REST или gRPC.
Управление симметричными ключами шифрования
Симметричный ключ шифрования — это ресурс KMS, представляющий собой набор версий криптоматериала, которые можно использовать для шифрования или расшифрования данных. Контролируйте жизненный цикл криптоматериала, управляя ключами:
Управление асимметричными ключевыми парами шифрования
Асимметричная ключевая пара шифрования — это ресурс KMS, состоящий из двух частей: открытого ключа шифрования (Public key) и закрытого ключа шифрования (Private key). Открытый ключ используется для шифрования, а закрытый — для расшифрования. Управляйте ключевыми парами шифрования:
Управление асимметричными ключевыми парами электронной подписи
Асимметричная ключевая пара электронной подписи — это ресурс KMS, состоящий из двух частей: открытого ключа подписи (Public key) и закрытого ключа подписи (Private key). Закрытый ключ используется для создания электронной подписи, открытый ключ — для ее проверки. Управляйте ключевыми парами подписи:
Интеграция ключей с сервисами и инструментами
Вы можете использовать ключи KMS:
- В сервисах Yandex Cloud:
- При работе с Terraform.
- В библиотеках шифрования:
Безопасное хранение ключей
Криптоматериал ключей хранится в зашифрованном виде и недоступен в открытом виде вне сервиса KMS. При использовании API сервиса вы можете зашифровать или расшифровать переданные данные определенным ключом, но не можете получить криптоматериал в явном виде. Он восстанавливается исключительно в оперативную память и только на время выполнения операций с соответствующим ключом.
В случае использования аппаратного модуля безопасности (HSM) ключи пользователя в открытом виде никогда не покидают HSM. Создание ключа так же происходит внутри HSM.
Для ключей доступны все возможности управления доступом, предоставляемые Identity and Access Management. Подробнее об управлении доступом и назначении ролей читайте в разделе Управление доступом в Key Management Service.
Аудит использования ключей
Шифртекст нельзя прочитать без доступа к соответствующему ключу. Все операции с ключами записываются в аудитные логи. Таким образом помимо шифрования, важным плюсом использования KMS является проверка доступа к зашифрованным данным с помощью логов использования ключей.
Каждая запись аудитного лога содержит следующую информацию:
- Дата и время.
- Тип операции.
- Используемый ключ.
- Субъект (аккаунт в Yandex Cloud или сервисный аккаунт).
Чтобы получить аудитные логи, обратитесь в службу технической поддержки