1.5. 추가 인증 없이 작업 실행 서명 생성 및 확인
추가 인증과 함께 Tekton Chains를 사용하여 작업 실행 서명을 확인하려면 다음 작업을 수행합니다.
- 암호화된 x509 키 쌍을 생성하여 Kubernetes 시크릿으로 저장합니다.
- Tekton 체인 백엔드 스토리지를 구성합니다.
- 작업 실행을 생성하고 서명하고, 서명 및 페이로드를 작업 실행 자체에 주석으로 저장합니다.
- 서명된 작업 실행에서 서명 및 페이로드를 검색합니다.
- 작업 실행 서명을 확인합니다.
사전 요구 사항
다음 구성 요소가 클러스터에 설치되어 있는지 확인합니다.
- Red Hat OpenShift Pipelines Operator
- Tekton 체인
- cosign
프로세스
- 암호화된 x509 키 쌍을 생성하여 Kubernetes 시크릿으로 저장합니다. 키 쌍을 생성하여 시크릿으로 저장하는 방법에 대한 자세한 내용은 " Tekton 체인에서 시크릿 서명"을 참조하십시오.
Tekton 체인 구성에서 OCI 스토리지를 비활성화하고 작업 실행 스토리지 및 형식을
tekton
로 설정합니다.TektonConfig
사용자 지정 리소스에서 다음 값을 설정합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow TektonConfig
사용자 지정 리소스를 사용하여 Tekton 체인 구성에 대한 자세한 내용은 " Tekton 체인 구성"을 참조하십시오.Tekton 체인 컨트롤러를 다시 시작하여 수정된 구성이 적용되었는지 확인하려면 다음 명령을 입력합니다.
oc delete po -n openshift-pipelines -l app=tekton-chains-controller
$ oc delete po -n openshift-pipelines -l app=tekton-chains-controller
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 작업 실행을 생성합니다.
oc create -f https://raw.githubusercontent.com/tektoncd/chains/main/examples/taskruns/task-output-image.yaml
$ oc create -f https://raw.githubusercontent.com/tektoncd/chains/main/examples/taskruns/task-output-image.yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 예제 URI를 작업 실행을 가리키는 URI 또는 파일 경로로 바꿉니다.
출력 예
taskrun.tekton.dev/build-push-run-output-image-qbjvh created
taskrun.tekton.dev/build-push-run-output-image-qbjvh created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 단계의 상태를 확인합니다. 프로세스가 완료될 때까지 기다립니다.
tkn tr describe --last
$ tkn tr describe --last
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow base64
로 인코딩된 주석으로 저장된 오브젝트에서 서명을 검색하려면 다음 명령을 입력합니다.tkn tr describe --last -o jsonpath="{.metadata.annotations.chains\.tekton\.dev/signature-taskrun-$TASKRUN_UID}" | base64 -d > sig
$ tkn tr describe --last -o jsonpath="{.metadata.annotations.chains\.tekton\.dev/signature-taskrun-$TASKRUN_UID}" | base64 -d > sig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow export TASKRUN_UID=$(tkn tr describe --last -o jsonpath='{.metadata.uid}')
$ export TASKRUN_UID=$(tkn tr describe --last -o jsonpath='{.metadata.uid}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 생성한 공개 키를 사용하여 서명을 확인하려면 다음 명령을 입력합니다.
cosign verify-blob-attestation --insecure-ignore-tlog --key path/to/cosign.pub --signature sig --type slsaprovenance --check-claims=false /dev/null
$ cosign verify-blob-attestation --insecure-ignore-tlog --key path/to/cosign.pub --signature sig --type slsaprovenance --check-claims=false /dev/null
- 1
path/to/cosign.pub
를 공개 키 파일의 경로 이름으로 바꿉니다.출력 예
Verified OK
Verified OK
Copy to Clipboard Copied! Toggle word wrap Toggle overflow