Начало работы
Это руководство помогает новым пользователям быстро настроить Tekton Chains для защиты своих CI/CD-пайплайнов с помощью генерации и проверки криптографических подписей для Tekton TaskRun.
Содержание
ВведениеСценарии использованияОценочное время чтенияВажные примечанияПредварительные требованияОбзор процессаПошаговые инструкцииШаг 1: Генерация ключей подписиШаг 2: Настройка Tekton ChainsШаг 3: Запуск примера задачиШаг 4: Проверка подписиОжидаемые результатыСсылкиВведение
Сценарии использования
Tekton Chains помогает защитить цепочку поставки программного обеспечения, автоматически генерируя криптографические подписи для ваших артефактов сборки. В этом руководстве показано, как настроить Tekton Chains, сгенерировать ключ подписи, запустить простую задачу и проверить ее подпись.
Оценочное время чтения
10-15 минут
Важные примечания
- Tekton Chains по умолчанию устанавливается в namespace
tekton-pipelinesпри использовании Alauda Devops Pipelines Operator - Ключи подписи следует надежно хранить и управлять ими; в production-средах рассмотрите использование системы управления ключами (KMS)
- В этом руководстве для демонстрации используется самая простая конфигурация
Предварительные требования
- Kubernetes cluster с установленными Tekton Pipelines и Tekton Chains
- Установленный и настроенный для доступа к вашему cluster CLI
kubectl - Установленный инструмент CLI
cosign - Установленный инструмент CLI
jq
Обзор процесса
Пошаговые инструкции
Шаг 1: Генерация ключей подписи
Для получения более подробной информации см. Signing Key Configuration
Tekton Chains использует криптографические ключи для подписи артефактов. По умолчанию он ищет secret с именем signing-secrets в namespace Chains.
-
Установите cosign, если вы еще этого не сделали
-
Сгенерируйте пару ключей и сохраните ее как Kubernetes secret:
TIPЭтот пароль будет сохранен в Kubernetes secret с именем
signing-secretsв namespacetekton-pipelines. -
Проверьте, что secret был создан:
Шаг 2: Настройка Tekton Chains
Настройте Tekton Chains для хранения артефактов в формате Tekton, применив следующую конфигурацию:
Пояснение полей YAML:
artifacts.oci.storage: Тип хранилища для OCI artifacts. Установите пустую строку, чтобы пропустить сохранение.artifacts.taskrun.format: Формат артефакта taskrun. Установитеin-toto, чтобы использовать формат in-toto.artifacts.taskrun.storage: Тип хранилища для артефактов taskrun. Установитеtekton, чтобы сохранять их в аннотациях Tekton TaskRun.
Шаг 3: Запуск примера задачи
Теперь создадим простой TaskRun, который Chains автоматически подпишет.
-
Создайте простой TaskRun:
TIPЗамените image
<registry>/ops/busybox:latestна фактический image, который вы хотите использовать. -
Дождитесь завершения TaskRun:
Дождитесь, пока в статусе не отобразится
Succeeded.
Шаг 4: Проверка подписи
После завершения TaskRun Tekton Chains автоматически подпишет его. Давайте проверим подпись.
-
Получите UID TaskRun:
-
Извлеките подпись:
-
Извлеките payload с помощью jq:
Payload подписи
-
Проверьте подпись с помощью cosign:
Если проверка успешна, вы увидите
Verified OK.
Ожидаемые результаты
После выполнения этого руководства:
- У вас будет рабочая конфигурация Tekton Chains с ключом подписи
- Ваши TaskRun будут автоматически подписываться после завершения
- Вы сможете проверять подписи, чтобы убедиться в целостности ваших сборок
Это демонстрирует базовую функциональность Tekton Chains. В реальном сценарии вы бы:
- Настроили Chains на подпись container images и сохранение подписей в вашем registry
- Добавили этап проверки в процесс deployment
- При необходимости использовали cloud KMS для более безопасного управления ключами