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

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

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

Управление версиями секрета

Статья создана
Yandex Cloud
Улучшена
Обновлена 21 апреля 2025 г.
  • Создать новую версию пользовательского секрета
  • Создать новую версию генерируемого секрета
  • Получить информацию о версии
  • Создать версию на основе существующей
  • Изменить текущую версию
  • Запланировать удаление версии
  • См. также

Управление версиями секрета позволяет:

  • Создать новую версию пользовательского секрета.
  • Создать новую версию генерируемого секрета.
  • Получить информацию о версии.
  • Создать версию на основе существующей.
  • Откатиться к определенной версии.
  • Запланировать удаление версии.

Создать новую версию пользовательского секретаСоздать новую версию пользовательского секрета

Консоль управления
Terraform
API
  1. В консоли управления выберите каталог, которому принадлежит секрет.

  2. В списке сервисов выберите сервис Lockbox.

  3. Нажмите на имя нужного секрета.

  4. В разделе Версии нажмите Добавить версию.

  5. Добавьте следующие параметры:

    • (Опционально) Описание — описание версии.
    • Ключ — несекретное название для значения, по которому вы будете его идентифицировать.
    • Значение — секретные данные в явном виде.
      Вы можете создать несколько пар ключей и значений в одной версии.
  6. Нажмите кнопку Добавить версию.

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

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

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

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

  1. Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:

    resource "yandex_lockbox_secret_version_hashed" "my_version" {
      secret_id    = "<идентификатор_секрета>"
    
      key_1        = "<ключ_секрета_1>"
      text_value_1 = "<значение_секрета_1>"
    
      key_2        = "<ключ_секрета_2>"
      text_value_2 = "<значение_секрета_2>"
    }
    

    Где:

    • secret_id — идентификатор секрета, для которого создается версия.
    • (Опционально) description — произвольный комментарий к версии секрета.
    • key_N — ключ секрета. Несекретное название для значения, по которому вы будете его идентифицировать.
    • text_value_N — секретные данные в явном виде.

    Пары key_N/text_value_N нумеруются последовательно от 1 до 10 (поддерживается 10 пар). Если нужна только одна пара, используйте key_1/text_value_1.

    Примечание

    Рекомендуется использовать ресурс yandex_lockbox_secret_version_hashed, он хранит в состоянии Terraform значения в хешированном виде. Поддержка ресурса yandex_lockbox_secret_version остается.

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

  2. Создайте ресурсы:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

yc lockbox secret list-versions <идентификатор_секрета>

Чтобы создать новую версию секрета, воспользуйтесь методом REST API addVersion для ресурса Secret или вызовом gRPC API SecretService/AddVersion.

Создать новую версию генерируемого секретаСоздать новую версию генерируемого секрета

Консоль управления
Terraform
  1. В консоли управления выберите каталог, которому принадлежит секрет.
  2. В списке сервисов выберите сервис Lockbox.
  3. Нажмите на имя нужного секрета.
  4. В разделе Версии нажмите Добавить версию.
  5. (Опционально) Добавьте Описание версии.
  6. (Опционально) Чтобы изменить другие параметры, нажмите Редактировать секрет и укажите:
    • Тип секрета — вы можете оставить генерируемый тип или выбрать пользовательский.

    • Ключ и Параметры автоматической генерации — для генерируемого типа секрета.

    • Ключ и Значение — для пользовательского типа секрета.

      Вы можете создать несколько пар ключей и значений в одной версии.

  7. Нажмите кнопку Добавить версию или Сохранить.

Генерация секрета с помощью Yandex CloudГенерация секрета с помощью Yandex Cloud

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

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

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

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

  1. Вы можете создать новую версию генерируемого секрета, при его создании. Укажите в описании ресурса yandex_lockbox_secret параметры генерации секрета в блоке password_payload_specification и создайте новую версию секрета с указанием на этот секрет:

    # Создание генерируемого секрета
    resource "yandex_lockbox_secret" "my_secret" {
      name = "<имя_секрета>"
    
      password_payload_specification {
        password_key        = "<ключ_секрета>"
        length              = "<длина>"
        include_uppercase   = true
        include_lowercase   = true
        include_digits      = true
        include_punctuation = true
      }
    }
    
    # Создание версии секрета
    resource "yandex_lockbox_secret_version" "my_version" {
      secret_id = yandex_lockbox_secret.my_secret.id
    }
    

    Где:

    • password_payload_specification — параметры генерации секрета:
      • password_key — ключ секрета. Несекретное название для значения, по которому вы будете его идентифицировать.
      • length — длина генерируемого значения секрета. Обязательный параметр.
      • include_uppercase — использовать заглавные буквы латинского алфавита (A...Z). Значение по умолчанию true.
      • include_lowercase — использовать строчные буквы латинского алфавита (a...z). Значение по умолчанию true.
      • include_digits — использовать цифры (0...9). Значение по умолчанию true.
      • include_punctuation — использовать специальные символы. Значение по умолчанию true.

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

  2. Примените изменения:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

yc lockbox payload get <имя_или_идентификатор_секрета>

Генерация секрета с помощью пользовательского скриптаГенерация секрета с помощью пользовательского скрипта

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

Пример bash скрипта для генерации секрета
#!/bin/bash
choose() { echo ${1:RANDOM%${#1}:1}; }

{
    choose 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    choose 'abcdefghijklmnopqrstuvwxyz'
    choose '0123456789'
    choose '!@#$%^\&'
    for i in $( seq 1 $(( 4 + RANDOM % 8 )) )
    do
        choose '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    done
} | sort -R | tr -d '\n'
echo ""
  1. Укажите в описании ресурса yandex_lockbox_secret_version в блоке entries параметр command.path — путь к скрипту для генерации пароля.

    # Создание версии секрета с генерация пароля скриптом
    resource "yandex_lockbox_secret_version" "my_version" {
      secret_id = "<идентификатор_секрета>"
    
      entries {
        key = "<ключ_секрета>"
        command {
          path = "<путь_к_скрипту>"
        }
      }
    }
    

    Где:

    • secret_id — идентификатор секрета, для которого создается версия.
    • key — ключ секрета. Несекретное название для значения, по которому вы будете его идентифицировать.
    • path — путь к скрипту для генерации значения секрета.

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

  2. Примените изменения:

    1. В терминале перейдите в папку, где вы отредактировали конфигурационный файл.

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

      terraform validate
      

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

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

      terraform plan
      

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

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

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

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

yc lockbox payload get <имя_или_идентификатор_секрета>

Получить информацию о версииПолучить информацию о версии

Консоль управления
CLI
API
  1. В консоли управления выберите каталог, которому принадлежит секрет.
  2. В списке сервисов выберите сервис Lockbox.
  3. Нажмите на имя нужного секрета.
  4. В разделе Версии будет показан список всех версий секрета и информация о них.
  5. Нажмите на нужную версию, чтобы получить информацию о ее парах ключ — значение.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для просмотра версий секрета:

    yc lockbox secret list-version --help
    
  2. Выполните команду:

    yc lockbox secret list-version <имя_секрета>
    

Будет отображена информация обо всех версиях секрета, содержащая имена ключей. Значения версий секрета отображаться не будут.

Чтобы получить информацию о версии, воспользуйтесь методом REST API listVersions для ресурса Secret или вызовом gRPC API SecretService/ListVersions.

Создать версию на основе существующейСоздать версию на основе существующей

Консоль управления
CLI
API
  1. В консоли управления выберите каталог, которому принадлежит секрет.
  2. В списке сервисов выберите сервис Lockbox.
  3. Нажмите на имя нужного секрета.
  4. В разделе Версии, напротив нужной версии нажмите .
  5. Выберите пункт Создать новую версию на основе этой.
  6. Измените или добавьте следующие параметры:
    • (Опционально) Описание — описание версии.
    • Ключ — несекретное название для значения, по которому вы будете его идентифицировать.
    • Для пользовательского секрета Значение — секретные данные в явном виде.
      Вы можете создать несколько пар ключей и значений в одной версии.
    • Для генерируемого секрета вы можете изменить ключ и параметры значения. Для этого нажмите Редактировать секрет и укажите новые параметры.
  7. Нажмите кнопку Добавить версию.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для создания новой версии секрета:

    yc lockbox secret add-version --help
    
  2. Выполните команду:

    yc lockbox secret add-version <имя_секрета> \
      --description <описание_версии_секрета> \
      --payload "<массив_с_содержимым_версии_секрета>" \
      --base-version-id <идентификатор_существующей_версии_секрета>
    

    Где:

    • <имя_секрета> — имя секрета, для которого создается версия.
    • --description — описание новой версии секрета (необязательно).
    • --payload — содержимое новой версии секрета в виде массива формата YAML или JSON.
    • --base-version-id — идентификатор версии секрета, на основе которой требуется создать новый секрет. Если параметр не указан, новая версия будет создана на основе текущей версии.

    Результат:

    id: e6qor8pe3ju7********
    secret_id: e6qkkp3k29jf********
    created_at: "2024-04-25T13:49:26.621Z"
    status: ACTIVE
    payload_entry_keys:
      - secret-key1
      - secret-key2
    

Чтобы создать версию на основе существующей, воспользуйтесь методом REST API addVersion для ресурса Secret или вызовом gRPC API SecretService/AddVersion.

Изменить текущую версиюИзменить текущую версию

Консоль управления
API
  1. В консоли управления выберите каталог, которому принадлежит секрет.
  2. В списке сервисов выберите сервис Lockbox.
  3. Нажмите на имя нужного секрета.
  4. В разделе Версии, напротив нужной версии нажмите .
  5. Выберите пункт Сделать текущей версией.
  6. Нажмите кнопку Сделать текущей версией.

Чтобы изменить текущую версию, воспользуйтесь методом REST API addVersion для ресурса Secret или вызовом gRPC API SecretService/AddVersion с указанием целевой версии.

Запланировать удаление версииЗапланировать удаление версии

Консоль управления
CLI
Terraform
API
  1. В консоли управления выберите каталог, которому принадлежит секрет.
  2. В списке сервисов выберите сервис Lockbox.
  3. Нажмите на имя нужного секрета.
  4. В разделе Версии, напротив нужной версии нажмите .
  5. Выберите пункт Запланировать удаление.
  6. Введите время до удаления.
  7. Нажмите кнопку Запланировать.

Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

  1. Посмотрите описание команды CLI для планирования удаления версии:

    yc lockbox secret schedule-version-destruction --help
    
  2. Запланируйте удаление версии, указав имя секрета, идентификатор версии и время до удаления. Например 1 неделя — 168h:

    yc lockbox secret schedule-version-destruction <имя_секрета> \
      --version-id <идентификатор_версии> \
      --pending-period 168h
    

    Результат:

    id: e6qor8pe3ju7********
    secret_id: e6qkkp3k29jf********
    created_at: "2023-11-08T13:14:34.676Z"
    destroy_at: "2023-11-15T17:06:28.795Z"
    status: SCHEDULED_FOR_DESTRUCTION
    payload_entry_keys:
      - secret-key
    

Чтобы запланировать удаление версии, удалите из конфигурационного файла описание ресурсов этой версии. Через Terraform нельзя задать время до удаления, время будет установлено по умолчанию — 7 дней.

Чтобы запланировать удаление версии, воспользуйтесь методом REST API scheduleVersionDestruction для ресурса Secret или вызовом gRPC API SecretService/ScheduleVersionDestruction.

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

  • Секреты в Yandex Lockbox

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

Предыдущая
Деактивировать и активировать секрет
Следующая
Передать секрет в Yandex Serverless Containers
Проект Яндекса
© 2025 ООО «Яндекс.Облако»