配置 Key Protect
DevOps Insights 將於 2026 年 8 月 31 日結束服務並停止提供。Continuous Delivery 將於 2027 年 2 月 12 日在以下地區停止提供:au-syd、ca-mon、ca-tor、us-east。 Code Risk Analyzer 也將於該日於所有地區停止提供服務。 若某個區域未實際使用這些功能,該區域中的功能可能會提前停用,並停止接受新的實例。 了解更多
IBM® Key Protect for IBM Cloud® 可協助您跨 IBM Cloud 服務安全地儲存和應用應用程式的秘密。
密碼 是任何可讓您存取機密性資訊的項目,例如 API 金鑰。 如果您將密鑰儲存為 Key Protect中的標準金鑰,則可以使用此工具整合,在工具鏈工作流程中的任何必要位置存取密鑰。 若要進一步瞭解 Key Protect中的標準金鑰,請參閱 金鑰類型。
在您設定 Key Protect 工具整合之前,請確定您已在要建立工具整合的區域和資源群組中提供 Key Protect 服務的實例。 在某些情況下,可以自動產生 Key Protect 服務實體。 例如,如果您要鑄造新的 API 金鑰,並選擇將其儲存為秘密以供日後使用,您就會自動產生 Key Protect 服務實體。 有關提供 Key Protect 服務實例的指示,請參閱 提供服務。
配置 Key Protect 以安全地管理屬於工具鏈一部分的密鑰:
-
如果您要在建立工具鏈時配置此工具整合,請按一下「可配置的整合」區段中的 Key Protect。 如果 Key Protect 定義為選用工具整合,則它位於 更多工具下。 若要在工具鏈與 Key Protect 服務實例之間建立授權,請從 授權類型 下拉清單中選取 建立此工具鏈的授權 選項。 這會授與工具鏈對儲存在 Key Protect 服務實例中的密鑰資料的存取權。
-
如果您有一個工具鏈並且要向其中添加此工具集成,請從IBM Cloud控制台單擊菜單圖標
>平台自動化>工具鏈。 在「工具鏈」頁面中,點擊該工具鏈以開啟其「概覽」頁面。 或者,在應用程式的「概覽」頁面上,於「Continuous Delivery」卡片中,點選 「檢視工具鏈」。 然後,按一下概觀。
a. 點擊「新增工具」。
b. 在「工具整合」區段中,按一下 Key Protect。
-
指定此 Key Protect 工具整合實例的名稱,以在工具鏈中使用。 您指定的名稱用於選取 Key Protect 密鑰的使用者介面工具中。 在工具鏈執行時,也會使用它作為參照的一部分來解析密鑰值。 此實例名稱也會顯示在工具鏈工作區內的 Key Protect 工具整合磚上。
-
檢閱 區域 及 資源群組 的預設值,並在必要時更新。
-
選取您要使用的 Key Protect 服務實例。
-
若要在工具鏈與 Key Protect 服務實例之間建立授權,請按一下 建立授權 按鈕。 這會授與工具鏈對儲存在 Key Protect 服務實例中的密鑰資料的存取權。
-
按一下建立整合。
-
在「工具鏈概觀」頁面的 協力廠商工具 卡片上,按一下 Key Protect。
套用密鑰
在配置 Key Protect 工具整合之後,您可以使用它在工具鏈所需的任何位置套用密鑰。 下列範例將 Key Protect 中儲存的密鑰套用至 管線工具整合 所需的 IBM Cloud API 金鑰。 您可以遵循相同的步驟,將密鑰套用至任何需要密鑰值的 Continuous Delivery 工具整合。
您必須在 Key Protect 之前 中儲存第三方秘密,例如 Slack webhook 或 Artifactory API 令牌,才能建立新的工具鏈。 當您使用工具鏈工作時,您可以只在 Key Protect 製造和儲存 IBM 管理的機密,例如 IBM Cloud API 金鑰。
-
按一下金鑰圖示,以針對 IBM Cloud API 金鑰,從安全儲存庫 (例如 Key Protect ) 擷取密碼。
-
在 提供者 欄位中,指定您用來管理工具鏈密碼的 Key Protect 工具整合的提供者及名稱。 例如,若要使用 Key Protect 工具整合,請選取
Key Project: ibm-keyprotect-secrets-1。 您可以使用其他提供者來管理您的工具鏈秘密,例如 HashiCorp Vault. -
選取密鑰名稱,然後按一下 確定,以將儲存的密鑰套用至與其相關聯的欄位。
您選取的密鑰名稱會以膠囊形式出現。 您無法行內編輯密鑰名稱,但可以按一下
來刪除名稱。 您也可以再次使用「密鑰選取器」控制項來取代密鑰名稱。 如果您在「密鑰」欄位中手動鍵入或貼上密鑰名稱,則會以不同的格式顯示:
密鑰顯示的格式指出值是參照儲存在後端儲存庫中的密鑰,還是儲存在工具鏈中的密鑰。 透過使用密鑰提供者 (例如 Key Protect) 所管理密鑰的參照,您的密鑰值會集中化並安全地儲存在單一位置。 此方法可解決密鑰蔓延及擴散問題,並表示您可以在不更新工具鏈的情況下更新密鑰。 當您使用密鑰參照時,當工具鏈執行時,會透過從 Key Protect動態擷取它來解析實際密鑰值。 當您必須定期輪換工具鏈密碼的值時,此方法非常有用。
將 Key Protect 工具整合新增至工具鏈範本
您可以透過將服務定義新增至範本儲存庫中的 toolchain.yml 檔案,將 Key Protect 工具整合新增至工具鏈範本。 此檔案是工具鏈的設計藍圖,並包括您根據該範本建立工具鏈實例時可用的所有工具整合。 若要自訂現有工具鏈範本以包含 Key Protect 工具整合,請插入 YAML 定義。
kp-tool:
service_id: keyprotect
parameters:
name: kp-compliance-secrets
region: us-south
resource-group: default
instance-name: ffs-secrets
setup-authorization-type: create
在某些情況下,您可以在建立工具鏈時動態新增 Key Protect 工具整合。 例如,如果您按一下 New 鑄造一個新的 API 金鑰,您可以選擇 Save this key in a secrets store for reuse(將此金鑰儲存到密碼儲存庫以供重複使用 )核取方塊,將 API 金鑰儲存到 Key Protect 的實例中,以便日後再次使用。 如果您還沒有 Key Protect 範例,我們會為您建立一個新的範例。
使用 API 來配置 Key Protect
Key Protect 工具整合支援下列組態參數,您可以在 建立、讀取和 更新工具整合時,使用工具 鏈 HTTP API 和 SDK。
您必須在要求內文中以 keyprotect 值指定 tool_type_id 內容。
| 參數 | 用法 | 類型 | Terraform 引數 | 說明 |
|---|---|---|---|---|
| 實例名稱 | 必要,可更新 | 字串 | instance_name | Key Protect 服務實例的名稱。 |
| 名稱 | 必要,可更新 | 字串 | 名稱 | 此工具整合的名稱。 密鑰參照包括此名稱,以識別密鑰所在的密鑰儲存庫。 所有整合至工具鏈的密鑰儲存庫工具都必須具有唯一名稱,才能讓密鑰解析正常運作。 |
| 區域 | 必要,可更新 | 字串 | 位置 | Key Protect 服務實例所在的 IBM Cloud 地區。 |
| 資源群組 | 必要,可更新 | 字串 | 資源群組名稱 | Key Protect 服務實例所在的資源群組名稱。 |
進一步了解 Key Protect
若要進一步瞭解 Key Protect,請參閱 服務概觀。