Быстрый старт
Данное руководство поможет новым пользователям быстро настроить Tekton Chains для обеспечения безопасности своих CI/CD пайплайнов, создавая и проверяя криптографические подписи для Tekton TaskRuns.
Содержание
ВведениеСценарии использованияОценочное время чтенияВажные замечанияПредварительные требованияОбзор процессаПошаговые инструкцииШаг 1: Генерация ключей подписиШаг 2: Настройка Tekton ChainsШаг 3: Запуск тестовой задачиШаг 4: Проверка подписиОжидаемые результатыВведение
Сценарии использования
Tekton Chains поможет вам защитить вашу цепочку поставок программного обеспечения, автоматически создавая криптографические подписи для ваших артефактов сборки. Это быстрое руководство демонстрирует, как настроить Tekton Chains, сгенерировать ключ подписи, выполнить простую задачу и проверить ее подпись.
Оценочное время чтения
10–15 минут
Важные замечания
- Tekton Chains устанавливается по умолчанию в пространстве имен
tekton-pipelinesпри использовании оператора Alauda Devops Pipelines - Ключи подписи должны быть надежно защищены; в производственных средах стоит рассмотреть возможность использования системы управления ключами (KMS)
- В этом руководстве используется наиболее простая конфигурация в демонстрационных целях
Предварительные требования
- Кластер Kubernetes с установленными Tekton Pipelines и Tekton Chains через оператор Alauda Devops Pipelines
- Установленный и настроенный CLI
kubectlдля доступа к вашему кластеру - Установленный
tkn(CLI Tekton) - Установленный CLI
cosign(для генерации ключей и проверки подписей)
Обзор процесса
Пошаговые инструкции
Шаг 1: Генерация ключей подписи
Tekton Chains использует криптографические ключи для подписи артефактов. По умолчанию он ищет секрет с именем signing-secrets в пространстве имен Chains.
-
Установите cosign, если вы этого еще не сделали
-
Сгенерируйте пару ключей и сохраните ее в виде секрета Kubernetes:
Вам будет предложено ввести пароль, который будет сохранен в секрете. Эта команда также сгенерирует публичный ключ
cosign.pubв текущей папке, который будет использоваться позже при проверке. -
Проверьте, что секрет был создан:
Шаг 2: Настройка Tekton Chains
По умолчанию Tekton Chains настроен для хранения подписей в OCI реестре. Для этого быстрого старта мы настроим его для хранения подписей в виде аннотаций на самом TaskRun.
-
Настройте Chains для использования хранилища Tekton:
-
Установите формат в in-toto (SLSA v0.2):
-
Перезапустите контроллер Chains, чтобы применить изменения:
Шаг 3: Запуск тестовой задачи
Теперь давайте создадим простой TaskRun, который Chains автоматически подпишет.
-
Создайте простой Task и TaskRun:
TIPЕсли вы работаете в среде с ограниченным доступом к интернету, пожалуйста, измените образ на локальный, содержащий
sh. -
Дождитесь завершения TaskRun:
Подождите, пока статус не станет
Succeeded.
Шаг 4: Проверка подписи
После завершения TaskRun Tekton Chains автоматически подпишет его. Давайте проверим подпись.
-
Получите UID TaskRun:
-
Извлеките подпись:
-
Проверьте подпись с помощью cosign:
Если все прошло успешно, вы увидите сообщение
Verified OK. -
Удалите созданные ресурсы:
Ожидаемые результаты
После выполнения этого быстрого старта:
- У вас есть работающая установка Tekton Chains с ключом подписи
- Ваши TaskRuns автоматически подписываются по завершении
- Вы можете проверять подписи, чтобы гарантировать целостность ваших сборок
Это демонстрирует основные функции Tekton Chains. В реальных сценариях вы бы:
- Настроили Chains для подписания контейнерных образов и хранения подписей в вашем реестре
- Настроили этап проверки в вашем процессе развертывания
- Возможно, использовали облачный KMS для более безопасного управления ключами
Для получения более сложных конфигураций обратитесь к документации Tekton Chains.