copyright: years: 2026 lastupdated: "2026-04-22"
keywords: key:value,key/value,key-value,儲存 key: value 密碼
subcollection: secrets-manager
儲存鍵值密碼
您可以使用 IBM Cloud® Secrets Manager 來儲存和管理鍵值秘密,包括複雜的 JSON 文件,這些文件用於存取 IBM Cloud 內外的受保護系統。
鍵值密碼是一種應用程式密碼類型,可用來保留結構化為 JSON 物件的機密資料。 建立密鑰之後,您可以使用它將應用程式連接至受保護資源,例如資料庫或協力廠商應用程式。 您的密鑰安全地儲存在專用的 Secrets Manager 服務實例中,您可以在其中集中管理其生命週期。
您可以使用 Secrets Manager來儲存每個金鑰的多個版本,並存取金鑰值密碼的歷程和 meta 資料。 如需相關資訊,請參閱 使用 Vault 管理金鑰值密碼。
若要進一步瞭解您可以在 Secrets Manager中管理的密鑰類型,請參閱 何謂密鑰?
開始之前
開始之前,請確定您具有必要的存取層次。 若要建立或新增密鑰,您需要 撰寫者 服務角色或更高版本。
在使用者介面中建立鍵值密碼
若要使用 Secrets Manager 使用者介面來新增金鑰值密碼,請完成下列步驟。
-
在 IBM Cloud 主控台中,按一下 功能表 圖示
> 資源清單。
-
從服務清單中,選取 Secrets Manager的實例。
-
在 密鑰 表格中,按一下 新增。
-
從密鑰類型清單中,選取 鍵值 磚。
-
按下一步。
-
新增名稱及說明,以輕鬆識別您的密鑰。
-
選取您要指派給密鑰的 密鑰群組實例中包含密鑰的環境及限制必須遵循。 使用者可以與秘密群組相關聯,以實現存取和協作。 。
沒有秘密小組嗎? 在 密鑰群組 欄位中,您可以按一下 建立,以提供新群組的名稱及說明。 您的密鑰會自動新增至新群組。 如需密鑰群組的相關資訊,請參閱 組織密鑰。
-
選用項目: 新增標籤以協助您在實例中搜尋類似的密鑰。
-
選用項目: 將 meta 資料新增至密鑰或密鑰的特定版本。
- 上傳檔案或以 JSON 格式輸入 meta 資料及版本 meta 資料。
-
按下一步。
-
選取檔案或輸入您要與密鑰相關聯的密鑰值。
您必須輸入鍵值資料作為 JSON 物件。 最大檔案大小為 512 KB。
- 按下一步。
- 檢閱密鑰的詳細資料。
- 按一下新增。
從 CLI 建立金鑰值密碼
若要使用 Secrets Manager CLI 外掛程式建立金鑰值密碼,請執行 ibmcloud secrets-manager secret-create 指令。 例如,下列指令會建立金鑰值密碼,並將
{"key1":"value1"} 儲存為其值。
ibmcloud secrets-manager secret-create \
--secret-name="example-kv-secret" \
--secret-description="Description of my key-value secret." \
--secret-type="kv" \
--secret-group-id="67d025e1-0248-418f-83ba-deb0ebfb9b4a" \
--secret-labels='["dev","us-south"]' \
--kv-data='{"key1": "val1","key2": "val2"}' \
--secret-custom-metadata='{"metadata_custom_key": "metadata_custom_value"}' \
--secret-version-custom_metadata='{"custom_version_key": "custom_version_value"}'
指令會輸出密鑰的 ID 值,以及其他 meta 資料。 如需指令選項的相關資訊,請參閱 ibmcloud secrets-manager secret-create。
使用 API 建立金鑰值密碼
您可以使用 Secrets Manager API,以程式化方式建立金鑰值密碼。
下列範例顯示可用來建立及儲存鍵值密碼的查詢。 當您呼叫 API 時,請將 ID 變數及 IAM 記號取代為 Secrets Manager 實例特定的值。
您可以使用 custom_metadata 和 version_custom_metadata 要求參數來儲存與組織需求相關的 meta 資料。 僅針對密鑰版本傳回 version_custom_metadata 的值。 密鑰的自訂 meta 資料會儲存為最多 50 個版本的所有其他 meta 資料,而且您不得包含機密資料。
curl -X POST
-H "Authorization: Bearer {iam_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "example-kv-secret",
"description": "Description of my kv secret.",
"secret_type": "kv",
"secret_group_id": "67d025e1-0248-418f-83ba-deb0ebfb9b4a",
"labels": [
"dev",
"us-south"
],
"data": {
"key1": "val1",
"key2": "val2"
},
"custom_metadata": {
"metadata_custom_key": "metadata_custom_value"
},
"version_custom_metadata": {
"custom_version_key": "custom_version_value"
}
}' \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets"
成功的回應會傳回秘密的 ID 值以及其他元資料。 如需必要及選用要求參數的相關資訊,請參閱 建立密鑰。
使用 Terraform 建立鍵值密鑰
您可以使用 Terraform for Secrets Manager以程式化方式建立金鑰值密鑰。
遵循 Terraform 最佳作法來保護機密輸入變數 (例如密鑰認證)。 如需相關資訊,請參閱 保護機密輸入變數。
下列範例顯示透過在 terraform.tfvars 檔案中設定機密值,可用來建立鍵值密碼的配置。
- 在
variables.tf檔案中定義鍵值秘密資料的輸入變數。
variable "kv_secret_data" {
description = "KV secret data"
type = map(any)
sensitive = true
}
-
將值指派給
terraform.tfvars檔案中的kv_secret_data變數。透過使用
.tfvars檔案設定值,您可以將機密值與其餘變數值分開,並確保使用配置的使用者知道哪些值是機密。 基於安全目的,您必須僅與具有適當存取權的使用者維護及共用.tfvars檔案。 您也必須小心不要以明碼將具有機密值的.tfvars檔案儲存至版本控制 (例如 Github)。kv_secret_data = { "key1" : "value1" } -
在
main.tf檔案中建立鍵值密碼。
下列範例顯示可用來建立金鑰值密碼的配置。
resource "ibm_sm_kv_secret" "sm_kv_secret"{
instance_id = local.instance_id
region = local.region
name = "kv-secret-example"
description = "Extended description for this key-value secret."
labels = ["my-label"]
secret_group_id = ibm_sm_secret_group.sm_secret_group_test.secret_group_id
data = var.kv_secret_data
}
使用 Terraform IBM Modules (TIM) 以程式化方式儲存和管理關鍵值對,適用於 Secrets Manager Secret。 更多資訊請參閱 Terraform IBM 模組。