管理 DevSecOps 工具鏈存取的雲端資源的 IAM 存取權限

IBM Cloud® Identity and Access Management (IAM) 可讓管理員為使用者和服務識別指定特定角色,例如檢視員、編輯員、操作員和管理員。 這定義了他們對 Continuous Delivery, Secrets Manager, Container Registry, Cloud Object Storage 等資源,以及 Kubernetes 叢集和 Code Engine 等部署目標的存取層級。

在 IBM Cloud DevSecOps 管道中,根據角色的不同,需要不同的 IAM 權限集。 大致上,IBM Cloud DevSecOps 管道中的角色可分為兩大類:

  • 管道管理員 這些角色負責管理和設定 DevSecOps 管道、工具鏈和相關資源。 管道管理員需要廣泛的權限來設定、管理管道並排除故障,包括工具鏈、Continuous Delivery、Container Registry 和 Secrets Manager 等資源的編輯器或管理員角色。 這可讓他們設定管道、設定工具鏈整合、整合雲端服務、整合安全工具。

  • 管道運行員 這些角色負責執行 DevSecOps 管道、工具鏈和相關資源。 執行管道的 Pipeline Runner 需要有限的權限,專注於執行建立、部署應用程式和存取必要的資源。 該角色提供操作員、寫者或讀者等有限權限,允許他們與必要的服務 (例如 Kubernetes, Code Engine, Cloud Object Storage ) 進行互動,而不會修改關鍵組態。

DevSecOps 管道和資源的存取權可透過兩種主要方式授予。

  • 以存取群組為基礎的方法
  • 以服務 ID 為基礎的方法

兩種方法皆支援在 IBM Cloud 中的安全存取管理,其中映射至存取群組的 API 金鑰最適合用於集中式角色管理,而服務 ID API 金鑰則提供更靈活且安全的方式,用於驗證自動化的 DevSecOps 工作流程。

以存取群組為基礎的方法

此方法涉及將使用者指派給存取群組,而存取群組是具有預先定義的角色和權限的服務。 透過使用存取群組,管理員可以集中管理權限,確保多個使用者之間的一致性和可擴展性。 這種方法簡化了存取管理,因為對存取群組的任何變更都會自動套用到所有使用者。 存取群組內的使用者所建立的 API 金鑰會自動繼承指定的權限。

以下表格概述了管道管理員角色所需的不同權限集:

資源/服務 IAM 權限 附註
IAM Identity Service 使用者 API 金鑰建立者、服務 ID 建立者、操作員
使用者管理 編輯者
IAM 存取群組服務 編輯者
資源群組 檢視者
IBM Cloud 工具鏈 編輯者
Continuous Delivery 編輯者
Secrets Manager 經理、管理員 建立新的 Secret Manager Instance 和建立授權需要 Administrator 角色。 在 Secret Manager Instance 中建立秘密群組需要 Manager 角色。
Cloud Object Storage 作家、編輯
Container Registry 管理員 在 Container Registry 中建立命名空間需要管理員角色

以下表格概述了 Pipeline Runner 角色所需的不同權限集:

資源/服務 IAM 權限 附註
資源群組 檢視者
IBM Cloud 工具鏈 管道運行員、操作員 需要操作員的角色來啟動子管道
Secrets Manager 讀者 檢視機密元資料需要讀者角色
Cloud Object Storage 物件寫入、讀取
Container Registry 讀者、作家 如果 Container Registry 中尚未存在命名空間,則需要 Manager 角色來建立命名空間

根據部署目標為 IBM Cloud Kubernetes Service (IKS) 或 IBM Cloud Code Engine,Pipeline Administrators 和 Pipeline Runners 需要不同的 IAM 權限。

以下表格概述了管道管理員角色所需的不同權限集:

資源/服務 IAM 權限 附註
IBM Kubernetes Service 經理、編輯
Code Engine 經理、編輯

以下表格概述了 Pipeline Runner 角色所需的不同權限集:

資源/服務 IAM 權限 附註
IBM Kubernetes Service 作家、操作員
Code Engine 作家、操作員

以服務 ID 為基礎的方法

服務 ID 是非人類身分,用於驗證和授權自動化程序,例如 DevSecOps 管道。 服務 ID API 金鑰會授予管道或服務特定權限,而不會將其與個別使用者帳戶綁在一起。 此方法可確保管道僅在必要權限下運作,降低未經授權存取的風險,同時與 IBM Cloud 服務進行無縫整合,從而增強安全性。

以下表格概述了管道管理員角色所需的不同權限集:

資源/服務 IAM 權限 附註
IAM Identity Service 使用者 API 金鑰建立者、服務 ID 建立者、操作員
使用者管理 編輯者
IAM 存取群組服務 編輯者
資源群組 管理者
IBM Cloud 工具鏈 管理者
Continuous Delivery 編輯者
Secrets Manager 經理、管理員 建立新的 Secret Manager Instance 和建立授權需要 Administrator 角色。 在 Secret Manager Instance 中建立秘密群組需要 Manager 角色。
Cloud Object Storage 作家、管理員
Container Registry 管理員 在 Container Registry 中建立命名空間需要管理員角色

以下表格概述了 Pipeline Runner 角色所需的不同權限集:

資源/服務 IAM 權限 附註
資源群組 檢視者
IBM Cloud 工具鏈 PipelineRunner, 操作員 需要操作員的角色來啟動子管道
Secrets Manager 讀者 檢視機密元資料需要讀者角色
Cloud Object Storage 物件寫入、讀取
Container Registry 讀者、作家 如果 Container Registry 中尚未存在命名空間,則需要 Manager 角色來建立命名空間

以下表格概述了管道管理員和管道執行員所需的不同 IAM 權限,根據部署目標為 IBM Cloud Kubernetes Service (IKS) 或 IBM Cloud Code Engine:

以下表格概述了管道管理員角色所需的不同權限集:

資源/服務 IAM 權限 附註
IBM Kubernetes Service 經理、管理員
Code Engine 經理、管理員

以下表格概述了 Pipeline Runner 角色所需的不同權限集:

資源/服務 IAM 權限 附註
IBM Kubernetes Service 作家、操作員
Code Engine 作家、操作員