---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://sourcecraft.dev/portal/docs/en/sourcecraft/operations/lockbox-integration.md
  - https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/lockbox-integration.md
title: Настроить интеграцию с Yandex Lockbox
description: 'Инструкция по интеграции репозитория SourceCraft с Yandex Lockbox: создание секрета типа Lockbox и его использование в CI/CD-процессах.'
---
> **Documentation Index:** Fetch the complete configuration index at https://sourcecraft.dev/portal/docs/ru/llms.txt


# Настроить интеграцию с Yandex Lockbox в SourceCraft

В [CI/CD](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/ci-cd.md) SourceCraft вы можете использовать [секреты](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/index.md#secrets), значения которых хранятся в сервисе [Yandex Lockbox](https://yandex.cloud/ru/docs/lockbox/). SourceCraft обращается к ним через [сервисное подключение](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/service-connections.md).

<!-- source: ru/_includes/sourcecraft/lockbox-integration-note.md -->
С помощью интеграции с Yandex Lockbox вы можете:
* хранить секреты в Yandex Cloud, не дублируя их значения в SourceCraft;
* использовать полноценный менеджмент секретов с версионированием и гранулярными правами доступа;
* использовать одни и те же секреты в SourceCraft и в других сервисах Yandex Cloud.
<!-- endsource: ru/_includes/sourcecraft/lockbox-integration-note.md -->

Чтобы настроить интеграцию с Yandex Lockbox:

1. [Подготовьтесь к работе](#before-you-begin)
1. [Создайте в SourceCraft секрет типа Lockbox](#create-lockbox-secret)
1. [Используйте значение секрета в CI/CD](#use-in-ci-cd)
1. [Проверить выполнение CI/CD-процесса](#check-ci-cd)

## Перед началом работы {#before-you-begin}

1. Если у вас еще нет секрета в Yandex Lockbox, [создайте его](https://yandex.cloud/ru/docs/lockbox/operations/secret-create). Сохраните названия ключей, которые добавили в секрет, — к ним вы будете обращаться из CI/CD.
1. [Создайте](https://yandex.cloud/ru/docs/iam/operations/sa/create) сервисный аккаунт или используйте существующий. От его имени SourceCraft будет получать секрет из Yandex Lockbox.
1. [Назначьте](https://yandex.cloud/ru/docs/iam/operations/sa/assign-role-for-sa) сервисному аккаунту [роль](https://yandex.cloud/ru/docs/lockbox/security/#lockbox-payloadViewer) `lockbox.payloadViewer` на секрет, созданный ранее, или на каталог с секретом. Эта роль позволяет читать значения версий секрета.
1. Если у вас еще нет [сервисного подключения](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/service-connections.md) с доступом к Yandex Lockbox, [создайте](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/service-connections.md) его. В настройках подключения используйте сервисный аккаунт, которому ранее назначили роль `lockbox.payloadViewer`.

## Создайте в SourceCraft секрет типа Lockbox {#create-lockbox-secret}

1. Откройте [главную страницу](https://sourcecraft.dev) SourceCraft.
1. На вкладке <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M12.5 12.618c.307-.275.5-.674.5-1.118V6.977a1.5 1.5 0 0 0-.585-1.189l-3.5-2.692a1.5 1.5 0 0 0-1.83 0l-3.5 2.692A1.5 1.5 0 0 0 3 6.978V11.5A1.496 1.496 0 0 0 4.493 13H5V9.5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2V13h.507c.381-.002.73-.146.993-.382m2-1.118a3 3 0 0 1-3 3h-7a3 3 0 0 1-3-3V6.977A3 3 0 0 1 2.67 4.6l3.5-2.692a3 3 0 0 1 3.66 0l3.5 2.692a3 3 0 0 1 1.17 2.378zm-5-2A.5.5 0 0 0 9 9H7a.5.5 0 0 0-.5.5V13h3z" clip-rule="evenodd"/></svg> **Домой** в секции <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M3.999 3.5h.242c.559 0 1.049.37 1.202.907l.171.598A2.75 2.75 0 0 0 8.26 7h5.24v4a1.5 1.5 0 0 1-1.5 1.5H4A1.5 1.5 0 0 1 2.5 11V5a1.5 1.5 0 0 1 1.499-1.5m9.501 2h-1.242a1.25 1.25 0 0 1-1.201-.907l-.171-.598a3 3 0 0 0-.195-.495H12A1.5 1.5 0 0 1 13.5 5zM8.241 2H4a3 3 0 0 0-.457.035A3 3 0 0 0 2 2.764 3 3 0 0 0 1 5v6a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zM7 3.5h1.242c.559 0 1.049.37 1.202.907l.171.598q.075.261.195.495H8.26a1.25 1.25 0 0 1-1.202-.907l-.171-.598A3 3 0 0 0 6.69 3.5z" clip-rule="evenodd"/></svg> **Ваша мастерская** перейдите в раздел <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M2.5 8h11v3a1.5 1.5 0 0 1-1.5 1.5H4A1.5 1.5 0 0 1 2.5 11zm10.697-1.5-1.851-2.777a.5.5 0 0 0-.416-.223H5.07a.5.5 0 0 0-.416.223L2.803 6.5zM15 7.408V11a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V7.408a3 3 0 0 1 .504-1.664l1.902-2.853A2 2 0 0 1 5.07 2h5.86a2 2 0 0 1 1.664.89l1.902 2.854A3 3 0 0 1 15 7.408M9.25 11a.75.75 0 0 0 0-1.5h-2.5a.75.75 0 0 0 0 1.5z" clip-rule="evenodd"/></svg> **Репозитории**.
1. Выберите репозиторий, в котором хотите создать секрет.
1. На странице репозитория в разделе <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M7.199 2H8.8a.2.2 0 0 1 .2.2c0 1.808 1.958 2.939 3.524 2.034a.2.2 0 0 1 .271.073l.802 1.388a.2.2 0 0 1-.073.272c-1.566.904-1.566 3.164 0 4.069a.2.2 0 0 1 .073.271l-.802 1.388a.2.2 0 0 1-.271.073C10.958 10.863 9 11.993 9 13.8a.2.2 0 0 1-.199.2H7.2a.2.2 0 0 1-.2-.2c0-1.808-1.958-2.938-3.524-2.034a.2.2 0 0 1-.272-.073l-.8-1.388a.2.2 0 0 1 .072-.271c1.566-.905 1.566-3.165 0-4.07a.2.2 0 0 1-.073-.27l.801-1.389a.2.2 0 0 1 .272-.072C5.042 5.138 7 4.007 7 2.199c0-.11.089-.199.199-.199M5.5 2.2c0-.94.76-1.7 1.699-1.7H8.8c.94 0 1.7.76 1.7 1.7a.85.85 0 0 0 1.274.735 1.7 1.7 0 0 1 2.32.622l.802 1.388c.469.813.19 1.851-.622 2.32a.85.85 0 0 0 0 1.472 1.7 1.7 0 0 1 .622 2.32l-.802 1.388a1.7 1.7 0 0 1-2.32.622.85.85 0 0 0-1.274.735c0 .939-.76 1.7-1.699 1.7H7.2a1.7 1.7 0 0 1-1.699-1.7.85.85 0 0 0-1.274-.735 1.7 1.7 0 0 1-2.32-.622l-.802-1.388a1.7 1.7 0 0 1 .622-2.32.85.85 0 0 0 0-1.471 1.7 1.7 0 0 1-.622-2.32l.801-1.389a1.7 1.7 0 0 1 2.32-.622A.85.85 0 0 0 5.5 2.2m4 5.8a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0M11 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0" clip-rule="evenodd"/></svg> **Настройки репозитория** перейдите в секцию <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M4.5 14.25v-.75h7v.75a.75.75 0 0 0 1.5 0v-.791a3 3 0 0 0 2.5-2.959v-6a3 3 0 0 0-3-3h-9a3 3 0 0 0-3 3v6A3 3 0 0 0 3 13.459v.791a.75.75 0 0 0 1.5 0M3.5 12h9a1.5 1.5 0 0 0 1.5-1.5v-6A1.5 1.5 0 0 0 12.5 3h-9A1.5 1.5 0 0 0 2 4.5v6A1.5 1.5 0 0 0 3.5 12M8 8.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2m2.384-.246a2.5 2.5 0 0 0-.402-2.278l.66-.942a.75.75 0 0 0-1.229-.86l-.66.942a2.5 2.5 0 0 0-2.277.402l-.942-.66a.75.75 0 0 0-.86 1.228l.942.66a2.5 2.5 0 0 0 .402 2.277l-.66.943a.75.75 0 0 0 1.228.86l.66-.942a2.5 2.5 0 0 0 2.277-.402l.943.66a.75.75 0 1 0 .86-1.228z" clip-rule="evenodd"/></svg> **Секреты**.
1. На странице с секретами нажмите <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M8 1.75a.75.75 0 0 1 .75.75v4.75h4.75a.75.75 0 0 1 0 1.5H8.75v4.75a.75.75 0 0 1-1.5 0V8.75H2.5a.75.75 0 0 1 0-1.5h4.75V2.5A.75.75 0 0 1 8 1.75" clip-rule="evenodd"/></svg> **Новый секрет**.
1. В открывшемся окне:
    * В поле **Тип секрета** выберите **Lockbox**.
    * В поле **Название** введите название секрета. По этому названию вы будете обращаться к секрету из CI/CD.
    * В поле **Сервисное подключение** выберите сервисное подключение, подготовленное ранее.
    * В поле **Секрет Lockbox** выберите секрет Yandex Lockbox, созданный ранее.
1. Нажмите **Выбрать ключи**.
1. Отметьте ключи из секрета Yandex Lockbox, которые вы хотите использовать в CI/CD.
1. Нажмите **Создать**.

{% note info %}

SourceCraft обращается к последней актуальной [версии](https://yandex.cloud/ru/docs/lockbox/concepts/secret#version) секрета в Yandex Lockbox.

{% endnote %}

## Используйте значение секрета в CI/CD {#use-in-ci-cd}

1. [Настройте](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/ci-cd.md) CI/CD в репозитории.
1. В конфигурационном файле `.sourcecraft/ci.yaml` обратитесь к ключу из секрета Yandex Lockbox в формате `${{ secrets.<название_секрета_Lockbox>#<ключ>}}`, например:

    <!-- source: ru/_includes/sourcecraft/lockbox-secret-example.md -->
    ```yaml
    workflows:
      test-lockbox-workflow:
        tasks:
          - name: test-lockbox-task
            cubes:
              - name: test-lockbox-task
                script:
                  - |
                    set -eou pipefail
                    echo "Testing lockbox"
                    echo ${{ secrets.lockbox-test#BOT_TOKEN }}
    ```

    В примере используется значение ключа `BOT_TOKEN` из секрета Yandex Lockbox `lockbox-test`.
    <!-- endsource: ru/_includes/sourcecraft/lockbox-secret-example.md -->

## Проверить выполнение CI/CD-процесса {#check-ci-cd} 

1. В зависимости от настроек, указанных в `.sourcecraft/ci.yaml`, выполните событие-триггер.
1. Проверьте выполнение CI/CD-процесса:

    <!-- source: ru/_includes/sourcecraft/ci-cd/ui-overview.md -->
    1. На странице репозитория в разделе <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M10.218 3.216a.75.75 0 0 0-1.436-.431l-3 10a.75.75 0 0 0 1.436.43zM4.53 4.97a.75.75 0 0 1 0 1.06L2.56 8l1.97 1.97a.75.75 0 0 1-1.06 1.06l-2.5-2.5a.75.75 0 0 1 0-1.06l2.5-2.5a.75.75 0 0 1 1.06 0m6.94 6.06a.75.75 0 0 1 0-1.06L13.44 8l-1.97-1.97a.75.75 0 0 1 1.06-1.06l2.5 2.5a.75.75 0 0 1 0 1.06l-2.5 2.5a.75.75 0 0 1-1.06 0" clip-rule="evenodd"/></svg> **Код** перейдите в секцию <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"><g clip-path="url(#svg-xa8zaduj__a)"><path fill="currentColor" fill-rule="evenodd" d="M4.61 2.503a6.47 6.47 0 0 1 3.383-.984 6.48 6.48 0 0 1 4.515 1.77l-.004-.559a.75.75 0 1 1 1.5-.013l.021 2.5a.75.75 0 0 1-.743.756l-2.497.022a.75.75 0 1 1-.013-1.5l.817-.007a4.98 4.98 0 0 0-3.583-1.469 4.97 4.97 0 0 0-2.602.756.75.75 0 0 1-.795-1.272m9.097 8.716a6.5 6.5 0 0 0 .84-3.422.75.75 0 1 0-1.5.053 4.97 4.97 0 0 1-.646 2.63 4.98 4.98 0 0 1-3.064 2.37l.403-.712a.75.75 0 0 0-1.306-.738l-1.229 2.173a.75.75 0 0 0 .283 1.022l2.176 1.23a.75.75 0 1 0 .739-1.305l-.487-.275a6.48 6.48 0 0 0 3.79-3.026m-11.258.099a6.47 6.47 0 0 0 2.544 2.438.75.75 0 0 0 .704-1.325 4.97 4.97 0 0 1-1.955-1.875 4.98 4.98 0 0 1-.52-3.838l.415.705a.75.75 0 1 0 1.292-.762L3.66 4.511a.75.75 0 0 0-1.027-.266L.481 5.513a.75.75 0 1 0 .761 1.293l.483-.284a6.48 6.48 0 0 0 .724 4.796" clip-rule="evenodd"/></g><defs><clipPath id="svg-xa8zaduj__a"><path fill="currentColor" d="M0 0h16v16H0z"/></clipPath></defs></svg> **CI/CD**.
    1. Выберите запущенный рабочий процесс (workflow).
    1. На открывшейся странице будут отображены все задания (tasks) рабочего процесса, шаги задания — кубики (cubes), а также статусы и результаты выполнения.
    <!-- endsource: ru/_includes/sourcecraft/ci-cd/ui-overview.md -->

### Смотри также {#see-also}

* [Секреты](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/index.md#secrets)
* [Управлять секретами в репозитории SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/secrets.md)
* [Настроить в SourceCraft сервисное подключение к Yandex Cloud](https://sourcecraft.dev/portal/docs/ru/sourcecraft/operations/service-connections.md)
* [Непрерывная интеграция и непрерывное развертывание в SourceCraft](https://sourcecraft.dev/portal/docs/ru/sourcecraft/concepts/ci-cd.md)
* [Документация Yandex Lockbox](https://yandex.cloud/ru/docs/lockbox/)
