配置映像檔的 SLSA 認證集合

工具 tekton-chain 利用 SLSA 認證來收集建置映像檔的證明。

tekton-chain 工具會監視 CI 管線的 build-artifact 階段,並認證建置的映像檔。 證明收集工具會針對已儲存構件 list_artifacts 方法中的每一個映像檔執行,並收集認證。 然後,該工具會建立必要的證明。 如需相關資訊,請參閱 list_artifacts

依預設,tekton 鏈結工具會部署至 IBM 受管理工作者。 如需專用工作者節點的相關資訊,請參閱 何謂 Tekton Chain?

SLSA 認證參數

您可以使用 tekton-chain 工具來設定下列 SLSA 認證參數。

SLSA 證明參數
參數名稱 類型 說明 必要或選用
slsa-attestation ENUM 將此參數設為列舉值 01。 將值設為 1,以啟用 SLSA 認證報告的收集。 預設值為 0 必須
icr-dockerconfigjson SECRET base64-encoded Docker config.json 檔,用來儲存 IBM Container Registry的認證資訊。 如果映像檔必須儲存在 IBM Container Registry中,請設定此參數。 選用
artifactory-dockerconfigjson SECRET base64-encoded Docker config.json 檔案,用於儲存 Artifactory的認證資訊。 如果映像檔儲存在 Artifactory 或其他儲存器登錄中,請設定此參數。 選用
slsa-attestation-public-key SECRET 用來驗證 SLSA 認證報告的 base64-encoded 公開金鑰。 選用

可以透過執行下列指令來手動建立這些密鑰:

kubectl create secret docker-registry mysecret \
--dry-run \
--docker-server=<container registry url>  \
--docker-username=<username> \
--docker-password=<artifactory token> \
--docker-email=<email> \
-o yaml

若為 IBM Container Registry,請使用 iamapikey 作為使用者名稱,並使用 IBM Cloud API 金鑰作為密碼。

此程序會輸出類似下列程式碼 Snippet 的回應:

apiVersion: v1
data:
  .dockerconfigjson: <your secret>
kind: Secret
metadata:
  creationTimestamp: null
  name: regcred
type: kubernetes.io/dockerconfigjson

在管線內容中,將 artifactory-dockerconfigjsonicr-dockerconfigjson 參數更新為 .dockerconfigjson 值。

證明及附件

根據您根據表 2 中的詳細資料所設定的值,會產生證明。 DevSecOps管道將證據上傳到儲物櫃,並將證據包含在變更請求的證據摘要中。

證據欄位和值
欄位
工具類型 tekton-chains
證明類型 com.ibm.cloud.slsa
資產類型 image
attachments Attestation report generated by the tekton chains as JSON

除錯和記載

設定下列參數以進行除錯及記載。

偵錯參數
參數名稱 預設值 說明
pipeline-debug 0 調試標誌 0 關閉;1 開啟

存取掃描結果

您可以使用下列方法來存取掃描結果: