{"meta":{"title":"아티팩트 증명 및 재사용 가능한 워크플로를 사용하여 SLSA v1 빌드 수준 3 달성","intro":"재사용 가능한 워크플로 및 아티팩트 증명을 사용하여 소프트웨어를 빌드하면 공급망 보안을 간소화하고 SLSA v1.0 빌드 수준 3을 달성할 수 있습니다.","product":"GitHub Actions","breadcrumbs":[{"href":"/ko/actions","title":"GitHub Actions"},{"href":"/ko/actions/how-tos","title":"사용법"},{"href":"/ko/actions/how-tos/secure-your-work","title":"작업 보안"},{"href":"/ko/actions/how-tos/secure-your-work/use-artifact-attestations","title":"아티팩트 증명 사용"},{"href":"/ko/actions/how-tos/secure-your-work/use-artifact-attestations/increase-security-rating","title":"보안 등급 강화"}],"documentType":"article"},"body":"# 아티팩트 증명 및 재사용 가능한 워크플로를 사용하여 SLSA v1 빌드 수준 3 달성\n\n재사용 가능한 워크플로 및 아티팩트 증명을 사용하여 소프트웨어를 빌드하면 공급망 보안을 간소화하고 SLSA v1.0 빌드 수준 3을 달성할 수 있습니다.\n\n## 필수 조건\n\n이 가이드를 시작하기 전에 다음 사항을 숙지해야 합니다.\n\n* 아티팩트 증명의 사용 및 보안상의 이점입니다.\n  [아티팩트 증명](/ko/actions/concepts/security/artifact-attestations)을(를) 참조하세요.\n* 아티팩트 증명을 생성하기.\n  [아티팩트 증명을 사용하여 빌드의 출처 설정](/ko/actions/how-tos/secure-your-work/use-artifact-attestations/use-artifact-attestations)을(를) 참조하세요.\n* 재사용 가능한 워크플로를 작성하고 사용하기.\n  [워크플로 재사용](/ko/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빌드에서 생성된 아티팩트 증명을 확인하려면 GitHub CLI에서 [`gh attestation verify`](https://cli.github.com/manual/gh_attestation_verify)을 사용할 수 있습니다.\n\n`gh attestation verify` 명령은 `--owner` 또는 `--repo` 플래그를 함께 사용해야 합니다. 이 플래그들은 두 가지 작업을 수행합니다.\n\n* 증명을 가져올 위치를 `gh attestation verify`에게 알려줍니다. 이는 항상 호출자의 워크플로우가 실행됩니다.\n* 서명을 한 워크플로가 어디에서 왔는지 `gh attestation verify`에게 알려줍니다. 이는 <c1><c0 /> 작업을 항상 사용하는 워크플로이며, 재사용 가능한 워크플로일 수 있습니다.\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```"}