Skip to main content

Проверка аттестаций в автономном режиме

Аттестации артефактов можно проверить без подключения к Интернету.

Введение

Аттестации артефактов — отличный способ создания нефиксируемых подтверждений и гарантий целостности создаваемого программного обеспечения.

По умолчанию аттестации хранятся в API аттестации GitHub, который gh attestation verify будет запрашивать при проверке аттестации. Эта команда также свяжется с серверами GitHub, чтобы проверить наличие обновленного материала ключа для проверки аттестации.

Эта команда может работать без подключения к Интернету, но необходимо указать пакет аттестации и материал ключа в доверенном корневом каталоге вручную.

Перед началом работы с этим руководством необходимо создать с помощью создания аттестаций артефактов. См. раздел "Использование аттестаций артефактов для установления происхождения сборок".

Шаг 1. Скачивание пакета аттестации

Сначала получите пакет аттестации из API аттестации.

Это можно сделать с помощью следующей команды на компьютере, который находится в сети:

Bash
gh attestation download PATH/TO/YOUR/BUILD/ARTIFACT-BINARY -R ORGANIZATION_NAME/REPOSITORY_NAME

Ниже приведен пример выходных данных из этой команды:

Wrote attestations to file sha256:ae57936def59bc4c75edd3a837d89bcefc6d3a5e31d55a6fa7a71624f92c3c3b.jsonl.
Any previous content has been overwritten

The trusted metadata is now available at sha256:ae57936def59bc4c75edd3a837d89bcefc6d3a5e31d55a6fa7a71624f92c3c3b.jsonl

Шаг 2. Скачивание доверенных корней

Затем получите ключевой материал из доверенных корней.

Аттестации артефактов используют общедоступный экземпляр Sigstore для общедоступных репозиториев и экземпляр Sigstore GitHub для частных репозиториев. Для получения обоих доверенных корней можно использовать одну команду:

Bash
gh attestation trusted-root > trusted_root.jsonl

Обновление доверенных корневых данных в автономной среде

Рекомендуется создать новый файл при импорте нового trusted_root.jsonl подписанного материала в автономную среду.

В ключевом материале trusted_root.jsonl нет встроенной даты окончания срока действия, поэтому перед созданием доверенного корневого файла все будет успешно проверено. Все, подписанное после создания файла, будет проверять, пока экземпляр Sigstore не сменит свой ключевой материал, который обычно происходит несколько раз в год. Вы не узнаете, был ли отозван материал ключа с момента последнего создания доверенного корневого файла.

Шаг 3. Выполнение автономной проверки

Теперь вы готовы проверить артефакт в автономном режиме.

Вы должны импортировать в автономную среду:

  • GitHub CLI
  • Артефакт
  • Файл пакета
  • Доверенный корневой файл

Затем можно выполнить автономную проверку с помощью следующей команды:

Bash
gh attestation verify PATH/TO/YOUR/BUILD/ARTIFACT-BINARY -R ORGANIZATION_NAME/REPOSITORY_NAME --bundle sha256:ae57936def59bc4c75edd3a837d89bcefc6d3a5e31d55a6fa7a71624f92c3c3b.jsonl --custom-trusted-root trusted_root.jsonl

Заключение

Теперь вы проверяете аттестации артефактов в автономной среде. Мы рекомендуем импортировать новый доверенный корневой каталог всякий раз, когда вы вводите новые подписанные артефакты в автономную среду.