SLSA 정의
SLSA 정의
BuildKit은 실행하는 빌드에 대한 SLSA Provenance 생성을 지원해요. BuildKit이 생성하는 provenance 형식은 SLSA Provenance 형식(v0.2와 v1 모두 지원)으로 정의돼요.
출처: 문서
본문
SLSA v1
SLSA v1에서 provenance에는 빌드 정의(build definition)와 빌드 매개변수 등이 포함돼요:
- buildType (참조: https://slsa.dev/spec/v1.1/provenance#buildType): provenance 내용의 구조를 결정하는 데 사용돼요.
"buildDefinition": {
"buildType": "https://github.com/moby/buildkit/blob/master/docs/attestations/slsa-definitions.md",
...
}
- externalParameters (참조: https://slsa.dev/spec/v1.1/provenance#externalParameters): 빌드를 초기화한 구성을 설명해요.
"buildDefinition": {
"externalParameters": {
"configSource": {
"uri": "https://github.com/moby/buildkit.git#refs/tags/v0.11.0",
"digest": {
"sha1": "4b220de5058abfd01ff619c9d2ff6b09a049bea0"
},
"path": "Dockerfile"
},
...
},
}
- externalParameters (프론트엔드 옵션): 빌드에 전달된 빌드 입력값을 설명해요.
"buildDefinition": {
...
}
이 외에도 resolvedDependencies, internalParameters, byproducts 등의 필드가 있어요. 각 필드의 정확한 의미와 예시는 원본 문서에서 확인할 수 있어요.