Перейти к основному содержимому

Хранилище ключей

Хранилище ключей в Semaphore используется для хранения учётных данных для доступа к удалённым репозиториям, доступа к удалённым хостам, учётных данных sudo и паролей Ansible Vault.

Типы

1. SSH

SSH-ключи используются для доступа к удалённым серверам, а также к удалённым репозиториям.

Если вам нужна помощь в быстром создании ключа и размещении его на хосте, вот краткое руководство.

Для Git-репозиториев, использующих аутентификацию по SSH, в Git-репозитории, который вы хотите клонировать, должен быть добавлен ваш публичный ключ, соответствующий приватному.

Ниже приведены ссылки на документацию некоторых популярных Git-хостингов:

2. Логин с паролем

Логин с паролем — это комбинация имени пользователя и пароля/токена доступа, которую можно использовать для следующего:

  • Аутентификация на удалённых хостах (хотя это менее безопасно, чем использование SSH-ключей)
  • Учётные данные sudo на удалённых хостах
  • Аутентификация в удалённых Git-репозиториях по HTTPS (хотя SSH безопаснее)
  • Разблокировка Ansible Vault
подсказка

Этот тип секрета можно использовать как персональный токен доступа (PAT) или произвольную секретную строку. Просто оставьте поле «Логин» пустым.

3. None

Используется как заглушка для репозиториев, не требующих аутентификации, например для open-source-репозитория на GitLab.

Хранилища секретов

Semaphore UI поддерживает различные хранилища для секретов. Вы можете выбрать хранилище для каждого секрета отдельно при его создании или редактировании.

База данных

По умолчанию секреты хранятся в базе данных в зашифрованном виде. Ключ шифрования задаётся параметром конфигурации access_key_encryption или SEMAPHORE_ACCESS_KEY_ENCRYPTION (должен быть сгенерирован с помощью head -c32 /dev/urandom | base64).

HashiCorp Vault

Секреты могут храниться во внешнем экземпляре HashiCorp Vault вместо базы данных.

Подробнее...

OpenBao

Секреты могут храниться во внешнем экземпляре OpenBao (open-source-форк HashiCorp Vault с совместимым API).

Подробнее...

AWS Secrets Manager

Static Badge

Секреты могут храниться в AWS Secrets Manager. Аутентификация выполняется через IAM-роль/instance profile или статические ключи доступа.

Подробнее...

Devolutions Server

Секреты могут храниться во внешнем экземпляре Devolutions Server вместо базы данных.

Подробнее...

Синхронизация секретов из удалённых хранилищ

Semaphore может автоматически импортировать секреты из внешнего менеджера секретов (HashiCorp Vault, OpenBao, AWS Secrets Manager, Azure Key Vault или Devolutions Server) и поддерживать их в актуальном состоянии. Пути синхронизации позволяют выбрать, какие секреты импортировать и как их называть.

Подробнее...