Управление версиями секрета
Управление версиями секрета позволяет:
- Создать новую версию.
- Получить информацию о версии.
- Создать версию на основе существующей.
- Откатиться к определенной версии.
- Запланировать удаление версии.
Создать новую версию
- В консоли управления
выберите каталог, которому принадлежит секрет. - В списке сервисов выберите сервис Lockbox.
- Нажмите на имя нужного секрета.
- В разделе Версии нажмите Добавить версию.
- Добавьте следующие параметры:
- (Опционально) Описание — описание версии.
- Ключ — несекретное название для значения, по которому вы будете его идентифицировать.
- Значение — секретные данные в явном виде.
Вы можете создать несколько пар ключей и значений в одной версии.
- Нажмите кнопку Добавить версию.
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:
terraform { required_providers { yandex = { source = "yandex-cloud/yandex" } } required_version = ">= 0.13" } provider "yandex" { zone = "ru-central1-a" } resource "yandex_lockbox_secret_version" "my_version" { secret_id = "<идентификатор_секрета>" entries { key = "<ключ_секрета_1>" text_value = "<значение_секрета_1>" } entries { key = "<ключ_секрета_2>" text_value = "<значение_секрета_2>" } }
Где:
secret_id
— идентификатор секрета, для которого создается версия. Обязательный параметр.entries
— блок с параметрами секрета. Для каждого секрета необходимо создать отдельный блокentries
. Может содержать следующие параметры:key
— ключ секрета — несекретное название для значения, по которому вы будете его идентифицировать. Обязательный параметр.text_value
— секретные данные в явном виде. Обязательный параметр.
Более подробную информацию о параметрах ресурса
yandex_lockbox_secret_version
в Terraform, см. в документации провайдера . -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
-
После этого для указанного секрета будет создана версия. Проверить появление версии и ее настройки можно в консоли управления
yc lockbox secret list-versions <идентификатор_секрета>
Чтобы создать новую версию секрета, воспользуйтесь методом REST API addVersion для ресурса Secret или вызовом gRPC API SecretService/AddVersion.
Получить информацию о версии
- В консоли управления
выберите каталог, которому принадлежит секрет. - В списке сервисов выберите сервис Lockbox.
- Нажмите на имя нужного секрета.
- В разделе Версии будет показан список всех версий секрета и информация о них.
- Нажмите на нужную версию, чтобы получить информацию о ее парах ключ — значение.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для просмотра версий секрета:
yc lockbox secret list-version --help
-
Выполните команду:
yc lockbox secret list-version <имя_секрета>
Будет отображена информация обо всех версиях секрета, содержащая имена ключей. Значения версий секрета отображаться не будут.
Чтобы получить информацию о версии, воспользуйтесь методом REST API listVersions для ресурса Secret или вызовом gRPC API SecretService/ListVersions.
Создать версию на основе существующей
- В консоли управления
выберите каталог, которому принадлежит секрет. - В списке сервисов выберите сервис Lockbox.
- Нажмите на имя нужного секрета.
- В разделе Версии, напротив нужной версии нажмите
. - Выберите пункт Создать новую версию на основе этой.
- Измените или добавьте следующие параметры:
- (Опционально) Описание — описание версии.
- Ключ — несекретное название для значения, по которому вы будете его идентифицировать.
- Значение — секретные данные в явном виде.
Вы можете создать несколько пар ключей и значений в одной версии.
- Нажмите кнопку Добавить версию.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для создания новой версии секрета:
yc lockbox secret add-version --help
-
Выполните команду:
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.
Изменить текущую версию
- В консоли управления
выберите каталог, которому принадлежит секрет. - В списке сервисов выберите сервис Lockbox.
- Нажмите на имя нужного секрета.
- В разделе Версии, напротив нужной версии нажмите
. - Выберите пункт Сделать текущей версией.
- Нажмите кнопку Сделать текущей версией.
Чтобы изменить текущую версию, воспользуйтесь методом REST API addVersion для ресурса Secret или вызовом gRPC API SecretService/AddVersion с указанием целевой версии.
Запланировать удаление версии
- В консоли управления
выберите каталог, которому принадлежит секрет. - В списке сервисов выберите сервис Lockbox.
- Нажмите на имя нужного секрета.
- В разделе Версии, напротив нужной версии нажмите
. - Выберите пункт Запланировать удаление.
- Введите время до удаления.
- Нажмите кнопку Запланировать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для планирования удаления версии:
yc lockbox secret schedule-version-destruction --help
-
Запланируйте удаление версии, указав имя секрета, идентификатор версии и время до удаления. Например 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
Чтобы запланировать удаление версии, воспользуйтесь методом REST API scheduleVersionDestruction для ресурса Secret или вызовом gRPC API SecretService/ScheduleVersionDestruction.