Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Key Management Service
  • Начало работы
    • Все инструкции
      • Ключ
      • Версия ключа
      • Шифрование данных
      • Права доступа к ключу шифрования
    • Посмотреть операции с ресурсами сервиса
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • Вопросы и ответы
  • Обучающие курсы

В этой статье:

  • Создать ключ
  • Изменить ключ
  • Ротировать ключ
  • Удалить ключ
  • См. также
  1. Пошаговые инструкции
  2. Симметричное шифрование
  3. Ключ

Управление ключами

Статья создана
Yandex Cloud
Улучшена
Обновлена 6 марта 2025 г.
  • Создать ключ
  • Изменить ключ
  • Ротировать ключ
  • Удалить ключ
  • См. также

С помощью Key Management Service вы можете создавать, ротировать и удалять симметричные ключи шифрования.

Создать ключСоздать ключ

Чтобы создать новый ключ:

Консоль управления
CLI
Terraform
API
  1. Войдите в консоль управления.

  2. Выберите сервис Key Management Service.

  3. На панели слева выберите Симметричные ключи.

  4. Нажмите кнопку Создать ключ и задайте атрибуты ключа:

    • Имя и опциональное описание в свободной форме.
    • Алгоритм шифрования, например AES-256.
    • Период ротации (частота смены версии ключа по умолчанию).
    • (Опционально) Включите защиту от удаления.
  5. Нажмите кнопку Создать.

Вместе с ключом создается его первая версия: нажмите на ключ в списке, чтобы открыть страницу с его атрибутами.

Выполните команду:

yc kms symmetric-key create \
  --name example-key \
  --default-algorithm aes-256 \
  --rotation-period 24h \
  --deletion-protection

Где:

  • --name — имя ключа.
  • --default-algorithm — алгоритм шифрования: aes-128, aes-192 или aes-256.
  • --rotation-period — период ротации ключа. Чтобы создать ключ без автоматической ротации, не указывайте параметр --rotation-period.
  • --deletion-protection — защита от удаления ключа. Чтобы создать ключ без защиты от удаления, не указывайте параметр --deletion-protection.

Вместе с ключом создается его первая версия. Она указана в поле primary_version.

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

Чтобы создать новый ключ:

  1. Опишите в конфигурационном файле параметры ресурса yandex_kms_symmetric_key:

    resource "yandex_kms_symmetric_key" "key-a" {
      name                = "<имя_ключа>"
      description         = "<описание_ключа>"
      default_algorithm   = "AES_128"
      rotation_period     = "8760h"
      deletion_protection = true
      lifecycle {
        prevent_destroy = true
      }
    }
    

    Где:

    • name — имя ключа. Формат имени:

      • длина — от 2 до 63 символов;
      • может содержать строчные буквы латинского алфавита, цифры и дефисы;
      • первый символ — буква, последний — не дефис.
    • description — описание ключа.

    • default_algorithm — алгоритм шифрования. Возможные значения: AES-128, AES-192 или AES-256.

    • rotation_period — период ротации (частота смены версии ключа по умолчанию). Чтобы создать ключ без автоматической ротации, не указывайте параметр rotation_period.

    • deletion_protection — защита от удаления ключа. Чтобы создать ключ без защиты от удаления, не указывайте параметр deletion_protection.

    • lifecycle.prevent_destroy — защита от удаления ключа при выполнении команд Terraform. Чтобы создать ключ без такой защиты, не указывайте блок lifecycle.

    Важно

    Удаление ключа KMS равносильно уничтожению всех зашифрованных с его помощью данных — без ключа восстановить данные не получится. Параметр deletion_protection и блок lifecycle необходимы, чтобы обезопасить ключ от удаления (например, командой terraform destroy).

    Более подробную информацию о параметрах ресурсов в Terraform см. в документации провайдера.

  2. Проверьте конфигурацию командой:

    terraform validate
    

    Если конфигурация является корректной, появится сообщение:

    Success! The configuration is valid.
    
  3. Выполните команду:

    terraform plan
    

    В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

  4. Примените изменения конфигурации:

    terraform apply
    
  5. Подтвердите изменения: введите в терминал слово yes и нажмите Enter.

    После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления или с помощью команд CLI:

    yc kms symmetric-key list
    

Воспользуйтесь методом REST API create для ресурса SymmetricKey или вызовом gRPC API SymmetricKeyService/Create.

Изменить ключИзменить ключ

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

Чтобы изменить ключ:

Консоль управления
CLI
Terraform
API
  1. Войдите в консоль управления.
  2. Выберите сервис Key Management Service.
  3. На панели слева выберите Симметричные ключи.
  4. В строке с нужным ключом нажмите значок и выберите Редактировать.
  5. Изменив атрибуты ключа, нажмите кнопку Сохранить.

Выполните команду:

yc kms symmetric-key update \
  --name example-key \
  --new-name example-key-2 \
  --default-algorithm aes-128 \
  --rotation-period 48h \
  --deletion-protection

Где:

  • --name — имя ключа. Если в каталоге есть несколько ключей с одинаковыми именами, используйте идентификатор ключа.
  • --new-name — новое имя ключа.
  • --default-algorithm — алгоритм шифрования: aes-128, aes-192 или aes-256.
  • --rotation-period — период ротации ключа. Чтобы отключить автоматическую ротацию измененного ключа, не указывайте параметр --rotation-period.
  • --deletion-protection — защита от удаления ключа. Чтобы отключить защиту от удаления, вместо этого укажите параметр --no-deletion-protection.

Чтобы изменить ключ:

  1. Откройте файл конфигурации Terraform и измените необходимые параметры ресурса yandex_kms_symmetric_key.

    Пример структуры конфигурационного файла:

    ...
    resource "yandex_kms_symmetric_key" "key-a" {
      name                = "example-symmetric-key"
      description         = "description for key"
      default_algorithm   = "AES_128"
      rotation_period     = "8760h"
      deletion_protection = true
    }
    ...
    

    Более подробную информацию о параметрах ресурса yandex_kms_symmetric_key в Terraform см. в документации провайдера.

  2. Проверьте конфигурацию командой:

    terraform validate
    

    Если конфигурация является корректной, появится сообщение:

    Success! The configuration is valid.
    
  3. Выполните команду:

    terraform plan
    

    В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

  4. Примените изменения конфигурации:

    terraform apply
    
  5. Подтвердите изменения: введите в терминал слово yes и нажмите Enter.

    Проверить изменение ключа можно в консоли управления или с помощью команды CLI:

    yc kms symmetric-key get <имя_ключа>
    

Воспользуйтесь методом REST API update для ресурса SymmetricKey или вызовом gRPC API SymmetricKeyService/Update.

Ротировать ключРотировать ключ

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

Чтобы ротировать ключ:

Консоль управления
CLI
API
  1. Войдите в консоль управления.
  2. Выберите сервис Key Management Service.
  3. На панели слева выберите Симметричные ключи.
  4. В строке с нужным ключом нажмите значок и выберите Ротировать.
  5. Подтвердите ротацию (убедитесь, что смена версии по умолчанию не повредит вашей работе).

Выполните команду, указав идентификатор или имя ключа:

yc kms symmetric-key rotate example-key

Воспользуйтесь методом REST API rotate для ресурса SymmetricKey или вызовом gRPC API SymmetricKeyService/Rotate.

Удалить ключУдалить ключ

При удалении ключа также удаляются все его версии. Ключ невозможно удалить сразу: версии помеченного на удаление ключа переходят в статус Scheduled For Destruction на 3 дня. В это время версии ключей продолжают тарифицироваться. В течение этих 3 дней по запросу в техническую поддержку можно восстановить ключ вместе с его версиями.

Внимание

Через 3 дня после запроса на удаление ключа сам ключ и его версии удаляются безвозвратно: если у вас остались зашифрованные с помощью этого ключа данные, расшифровать их будет невозможно.

Если у ключа включена защита от удаления, предварительно отключите ее.

Чтобы удалить ключ:

Консоль управления
CLI
Terraform
API
  1. Войдите в консоль управления.
  2. Выберите сервис Key Management Service.
  3. На панели слева выберите Симметричные ключи.
  4. В строке с нужным ключом нажмите значок и выберите Удалить.
  5. В открывшемся окне нажмите кнопку Удалить.

Выполните команду, указав идентификатор или имя ключа:

yc kms symmetric-key delete example-key

Чтобы удалить ключ, созданный с помощью Terraform:

  1. Откройте файл конфигураций Terraform и удалите фрагмент с описанием ключа.

    Пример описания ключа в конфигурации Terraform:

    ...
    resource "yandex_kms_symmetric_key" "key-a" {
      name              = "example-symmetric-key"
      description       = "description for key"
      default_algorithm = "AES_128"
      rotation_period   = "8760h"
    }
    ...
    
  2. В командной строке перейдите в папку, где расположен файл конфигурации Terraform.

  3. Проверьте конфигурацию командой:

    terraform validate
    

    Если конфигурация является корректной, появится сообщение:

    Success! The configuration is valid.
    
  4. Выполните команду:

    terraform plan
    

    В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.

  5. Примените изменения конфигурации:

    terraform apply
    
  6. Подтвердите изменения: введите в терминал слово yes и нажмите Enter.

    Проверить изменения можно в консоли управления или с помощью команд CLI:

    yc kms symmetric-key list
    

Воспользуйтесь методом REST API delete для ресурса SymmetricKey или вызовом gRPC API SymmetricKeyService/Delete.

См. такжеСм. также

  • Управление ключами Key Management Service с Terraform.

Была ли статья полезна?

Предыдущая
Все инструкции
Следующая
Версия ключа
Проект Яндекса
© 2025 ООО «Яндекс.Облако»