{"meta":{"title":"Использование аттестаций артефактов и повторно используемых рабочих процессов для достижения уровня сборки SLSA версии 3","intro":"Создание программного обеспечения с помощью многократно используемых рабочих процессов и аттестаций артефактов может упростить безопасность цепочки поставок и помочь вам достичь уровня сборки SLSA версии 1.0 3.","product":"GitHub Actions","breadcrumbs":[{"href":"/ru/actions","title":"GitHub Actions"},{"href":"/ru/actions/how-tos","title":"Инструкции"},{"href":"/ru/actions/how-tos/secure-your-work","title":"Защита работы"},{"href":"/ru/actions/how-tos/secure-your-work/use-artifact-attestations","title":"Использование аттестаций артефактов"},{"href":"/ru/actions/how-tos/secure-your-work/use-artifact-attestations/increase-security-rating","title":"Повышение рейтинга безопасности"}],"documentType":"article"},"body":"# Использование аттестаций артефактов и повторно используемых рабочих процессов для достижения уровня сборки SLSA версии 3\n\nСоздание программного обеспечения с помощью многократно используемых рабочих процессов и аттестаций артефактов может упростить безопасность цепочки поставок и помочь вам достичь уровня сборки SLSA версии 1.0 3.\n\n## Необходимые компоненты\n\nПеред началом работы с этим руководством необходимо ознакомиться со следующими сведениями:\n\n* Преимущества использования и безопасности аттестаций артефактов. См [. раздел AUTOTITLE](/ru/actions/concepts/security/artifact-attestations).\n* Создание аттестаций артефактов. См [. раздел AUTOTITLE](/ru/actions/how-tos/secure-your-work/use-artifact-attestations/use-artifact-attestations).\n* Написание и использование повторно используемых рабочих процессов. См [. раздел AUTOTITLE](/ru/actions/how-tos/reuse-automations/reuse-workflows).\n\n## Шаг 1. Настройка сборок\n\nВо-первых, необходимо создать сборку как с аттестациями артефактов, так и с повторно используемым рабочим процессом.\n\n### Создание с помощью повторно используемых рабочих процессов\n\nЕсли вы еще не используете повторно используемые рабочие процессы для сборки программного обеспечения, вам потребуется выполнить шаги сборки и переместить их в повторно используемый рабочий процесс.\n\n### Создание с аттестациями артефактов\n\nПовторно используемый рабочий процесс, используемый для сборки программного обеспечения, также должен создавать аттестации артефактов для установления подтверждения сборки.\n\nПри использовании повторно используемого рабочего процесса для создания аттестаций артефактов вызов рабочий процесс и повторно используемый рабочий процесс должны иметь следующие разрешения.\n\n```yaml copy\npermissions:\n  attestations: write\n  contents: read\n  id-token: write\n```\n\nЕсли вы создаете образы контейнеров, вам также потребуется включить `packages: write` разрешение.\n\n## Шаг 2. Проверка аттестаций артефактов, созданных с помощью повторно используемых рабочих процессов\n\nЧтобы проверить аттестации артефактов, генерируемые с помощью ваших билдов, можно использовать [`gh attestation verify`](https://cli.github.com/manual/gh_attestation_verify) из GitHub CLI.\n\nДля `gh attestation verify` выполнения команды требуется `--owner` использовать с ней флаги или `--repo` флаги. Эти флаги выполняют две действия.\n\n* Они говорят `gh attestation verify` , откуда получить аттестацию. Это всегда будет рабочий процесс вызывающего объекта.\n* Они говорят `gh attestation verify` , откуда пришел рабочий процесс, из которого была подписана подпись. Это всегда будет рабочий процесс, использующий [действие`attest`](https://github.com/actions/attest) — возможно, это будет повторно используемый рабочий процесс.\n\nС помощью команды можно использовать необязательные флаги `gh attestation verify` .\n\n* Если повторно используемый рабочий процесс не находится в том же репозитории, что и рабочий процесс вызывающего объекта, используйте `--signer-repo` флаг, чтобы указать репозиторий, содержащий повторно используемый рабочий процесс.\n* Если требуется подписать аттестацию артефактов с определенным рабочим процессом, используйте `--signer-workflow` флаг, чтобы указать файл рабочего процесса, который следует использовать.\n\nНапример, если ваш вызывающий рабочий процесс и `ORGANIZATION_NAME/REPOSITORY_NAME/.github/workflows/calling.yml` используется `REUSABLE_ORGANIZATION_NAME/REUSABLE_REPOSITORY_NAME/.github/workflows/reusable.yml` , можно сделать следующее:\n\n```bash copy\ngh attestation verify -o ORGANIZATION_NAME --signer-repo REUSABLE_ORGANIZATION_NAME/REUSABLE_REPOSITORY_NAME PATH/TO/YOUR/BUILD/ARTIFACT-BINARY\n```\n\nИли если вы хотите указать точный рабочий процесс:\n\n```bash copy\ngh attestation verify -o ORGANIZATION_NAME --signer-workflow REUSABLE_ORGANIZATION_NAME/REUSABLE_REPOSITORY_NAME/.github/workflows/reusable.yml PATH/TO/YOUR/BUILD/ARTIFACT-BINARY\n```"}