配置映像檔的 SLSA 認證集合
工具 tekton-chain 利用 SLSA 認證來收集建置映像檔的證明。
tekton-chain 工具會監視 CI 管線的 build-artifact 階段,並認證建置的映像檔。 證明收集工具會針對已儲存構件 list_artifacts 方法中的每一個映像檔執行,並收集認證。 然後,該工具會建立必要的證明。 如需相關資訊,請參閱 list_artifacts。
依預設,tekton 鏈結工具會部署至 IBM 受管理工作者。 如需專用工作者節點的相關資訊,請參閱 何謂 Tekton Chain?。
SLSA 認證參數
您可以使用 tekton-chain 工具來設定下列 SLSA 認證參數。
| 參數名稱 | 類型 | 說明 | 必要或選用 |
|---|---|---|---|
slsa-attestation |
ENUM | 將此參數設為列舉值 0 或 1。 將值設為 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-dockerconfigjson 或 icr-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 開啟 |
存取掃描結果
您可以使用下列方法來存取掃描結果:
- 使用 DevSecOps CLI 透過階段日誌中列印的資訊從證物櫃下載掃描結果。 如需相關資訊,請參閱下列資源: