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를 포함한 빌드 환경에 대한 더 많은 세부 정보를 담을 수 있어요.

더 알아보기 (Learn more)