Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Key Management Service
  • Начало работы
  • Пошаговые инструкции
    • Все инструкции
    • Ключ
    • Версия ключа
    • Шифрование данных
    • Права доступа на ключ шифрования
  • Концепции
  • Практические руководства
  • Управление доступом
  • Правила тарификации
  • Справочник API
  • Вопросы и ответы
  1. Пошаговые инструкции
  2. Ключ

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

Статья создана
Yandex Cloud
  • Создать ключ
  • Изменить ключ
  • Ротировать ключ
  • Удалить ключ
  • См. также

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

Создать ключ

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

Консоль управления
CLI
API
Terraform
  1. Войдите в консоль управления.
  2. Выберите сервис Key Management Service.
  3. Нажмите кнопку Создать и задайте атрибуты ключа:
    • Имя и опциональное описание в свободной форме.
    • Алгоритм шифрования, например AES-256.
    • Период ротации (частота смены версии ключа по умолчанию).
    • Нажмите кнопку Создать.

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

Выполните команду со следующими параметрами:

  • name — имя ключа.
  • default-algorithm — алгоритм шифрования: aes-128, aes-192 или aes-256.
  • rotation-period — период ротации ключа. Чтобы создать ключ без автоматической ротации, не указывайте параметр rotation-period.
yc kms symmetric-key create \
  --name example-key \
  --default-algorithm aes-256 \
  --rotation-period 24h

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

Воспользуйтесь методом create для ресурса SymmetricKey.

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

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

При изменении файлов конфигураций 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"
      lifecycle {
        prevent_destroy = true
      }
    }
    

    Где:

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

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

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

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

    Важно

    Удаление ключа KMS равносильно уничтожению всех зашифрованных с его помощью данных — без ключа восстановить данные не получится. Блок 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
    

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

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

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

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

Выполните команду со следующими параметрами:

  • name — имя ключа. Если в каталоге есть несколько ключей с одинаковыми именами, используйте идентификатор ключа.
  • new-name — новое имя ключа.
  • default-algorithm — алгоритм шифрования: aes-128, aes-192 или aes-256.
  • rotation-period — период ротации ключа. Чтобы отключить автоматическую ротацию измененного ключа, не указывайте параметр rotation-period.
yc kms symmetric-key update \
  --name example-key \
  --new-name example-key-2 \
  --default-algorithm aes-128 \
  --rotation-period 48h

Воспользуйтесь методом update для ресурса SymmetricKey.

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

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

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

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

    Более подробную информацию о параметрах ресурса 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 <имя ключа>
    

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

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

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

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

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

yc kms symmetric-key rotate example-key

Воспользуйтесь методом rotate для ресурса SymmetricKey.

Удалить ключ

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

Внимание

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

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

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

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

yc kms symmetric-key delete example-key

Воспользуйтесь методом delete для ресурса SymmetricKey.

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

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

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

    ...
    resource "yandex_kms_symmetric_key" "key-a" {
      name              = "example-symetric-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
    

См. также

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

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

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Создать ключ
  • Изменить ключ
  • Ротировать ключ
  • Удалить ключ
  • См. также