Provenance 자격 증명
Provenance 자격 증명
Provenance 자격 증명은 빌드 과정의 사실을 포함해요. 여기에는 다음과 같은 세부 정보가 담겨요:
- 빌드 타임스탬프 (Build timestamps)
- 빌드 매개변수와 환경 (Build parameters and environment)
- 버전 관리 메타데이터 (Version control metadata)
- 소스 코드 세부 정보 (Source code details)
- 빌드 중 소비된 재료(Materials, 파일·스크립트)
출처: 문서
본문
BuildKit이 이러한 provenance 속성을 어떻게 채우는지에 대한 자세한 내용은 SLSA definitions 문서를 참고해요.
Provenance 자격 증명 만들기 (Create provenance attestations)
--attest type=provenance로 생성할 수 있어요:
$ docker buildx build --tag <namespace>/<image>:<version> \
--attest type=provenance,mode=[min,max],version=[v0.2,v1] .
GitHub Actions로 provenance 자격 증명을 추가하는 예시는 Add attestations with GitHub Actions를 참고해요.
모드 (Mode)
Min
min 모드의 provenance 자격 증명은 최소한의 정보 집합만 포함해요:
- 빌드 타임스탬프
- 사용된 프론트엔드
- 빌드 재료(Materials)
- 소스 저장소와 리비전
- 빌드 플랫폼
- 재현성(Reproducibility)
min 수준의 provenance는 빌드 환경의 어떤 부분에서도 정보를 누출하지 않으므로 모든 빌드에 안전하게 사용할 수 있어요.
Max
max 모드는 더 상세한 정보를 포함해요. 예시:
{
"_type": "https://in-toto.io/Statement/v0.1",
...
}
max 모드는 buildkitd를 포함한 빌드 환경에 대한 더 많은 세부 정보를 담을 수 있어요.