SLSA provenance 명세
GitLab SLSA provenance statement 에서 사용하는 buildType 참조를 설명합니다.
히스토리 GitLab 18.3에서 slsa_provenance_statement 라는 기능 플래그와 함께 도입 되었습니다. 기본적으로 비활성화되어 있습니다. Feature flag 이 기능의 가용성은 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조합니다. 이 기능은 테스트용으로 제공되며, 프로덕션 환경에서 사용할 준비가 되어 있지 않습니다. SLSA provenance 명세 는 buildType 참조를 문서화하고 공개할 것을 요구합니다. 이 참조는 GitLab SLSA attestation을 사용하는 이들이 GitLab SLSA provenance statement에 고유한 특정 필드를 파싱하는 데 도움을 주기 위한 것입니다. 자세한 내용은 SLSA의 buildType 문서 를 참조합니다. buildType # 이 공식 SLSA Provenance buildType 참조는 다음과 같습니다. GitLab CI/CD job 의 실행을 설명합니다. GitLab에서 호스팅하고 관리합니다. 설명 # 이 buildType 은 소프트웨어 아티팩트를 빌드하는 워크플로의 실행을 설명합니다. Note 사용자는 인식되지 않는 외부 매개변수를 무시해야 합니다. 어떤 변경도 기존 외부 매개변수의 시맨틱을 변경해서는 안 됩니다. 외부 매개변수 # 외부 매개변수는 다음과 같습니다. Field Value source 프로젝트의 URL입니다. entryPoint 빌드를 트리거한 CI/CD job의 이름입니다. variables 빌드에 사용된 다음 CI/CD 변수의 값입니다: CI_PIPELINE_ID , CI_PIPELINE_URL , CI_JOB_ID , CI_JOB_URL , CI_JOB_NAME , CI_PROJECT_ID , CI_PROJECT_NAME . 내부 매개변수 # 내부 매개변수는 기본적으로 채워집니다. Field Value name 러너의 이름입니다. executor 러너 executor입니다. architecture CI/CD job이 실행되는 아키텍처입니다. job 빌드를 트리거한 CI/CD job의 ID입니다. 예시 # 다음 예시는 GitLab이 생성한 provenance statement의 형식을 보여줍니다. { "_type" : "https://in-toto.io/Statement/v1" , "subject" : [ { "name" : "artifacts.zip" , "digest" : { "sha256" : "717a1ee89f0a2829cf5aad57054c83615675b04baa913bdc19999d7519edf3f2" } } ] , "predicateType" : "https://slsa.dev/provenance/v1" , "predicate" : { "buildDefinition" : { "buildType" : "" , "externalParameters" : { "source" : "http://gdk.test:3000/root/repo_name" , "entryPoint" : "build-job" , "variab