建立自訂憑證秘密
自訂憑證保密類型可讓 IBM Cloud® Secrets Manager 使用者透過 Secrets Manager API 和整合,安全地管理外部系統 (例如 Artifactory 或 PagerDuty ) 的憑證。 若要建立這些機密,您需要部署 IBM Cloud® Code Engine 作業,作為 Secrets Manager 與外部服務之間的橋接。 這些工作依固定排程執行,並透過 秘密任務以 非同步方式管理憑證。
建立自訂憑證的程序在設計上是非同步的。 新增秘密時,最初會進入預啟動狀態。 如果在外部憑證提供者中成功建立了秘密,則其狀態會在 Secrets Manager 中自動變為有效。
自訂憑證機密的建立過程是異步的。 添加秘密後,它開始處於 pre-activation 狀態,如果在憑證提供者中成功建立,它的狀態會變更為 active,在 Secrets Manager。
開始之前
在您開始之前,請確定您已準備好:
- 所需的存取等級。 若要建立或新增秘密,您需要 Writer 服務角色或更高階的角色。
- 透過 建立 Code Engine 作業和自訂憑證引擎配置來 設定您的實例以建立自訂憑證機密。
在主控台中建立自訂憑證秘訣
要加入秘密
- 在秘密表中,按一下新增。
- 從秘密類型清單中,按一下自訂憑證磁磚。
- 按下一步。
- 加入名稱和說明,方便識別您的秘密。
- 選取 您先前建立的 秘密群組實例中包含密鑰的環境及限制必須遵循。 使用者可以與秘密群組相關聯,以實現存取和協作。 。
- 可選:新增標籤,以協助您在實例中搜尋類似的機密。
- 可選:將元資料加入您的秘密或秘密的特定版本。
- 上傳檔案或以 JSON 格式輸入元資料和版本元資料。
- 按下一步。
- 選擇要用於此秘訣的自訂憑證引擎組態。
- 在 Parameters(參數 )下輸入所需的值。
- 按下一步。
- 可選:啟用秘密的最短持續時間和自動輪替。
- 按下一步。
- 檢視您的秘密細節。
- 按一下新增。
您可以稍後變更參數值。 此變更會在建立新的秘密版本後發生。 在未建立新設定的情況下,您無法新增或減少新參數。
在主控台中檢視和更新秘密詳細資訊
與 其他秘密 一樣,您可以按一下按一下行動功能表 > 詳細資料,以存取您的秘密詳細資料。 從詳細資訊畫面,您可以瞭解到以下資訊:
從 CLI 建立自訂憑證秘訣
開始之前,請 依照 CLI 文件 設定您的 API 端點。
若要使用 Secrets Manager CLI 外掛程式建立自訂憑證秘訣,請執行 ibmcloud secrets-manager secret-create 指令。
ibmcloud secrets-manager secret-create --secret-type custom_credentials --secret-name "example-custom-credential-secret" --secret-description "Description of my custom credential secret" --secret-rotation '{"auto_rotate": true,"interval": 30,"unit": "day"}' --custom-credentials-parameters '{"my_input_parameter":"my_param_value"}' --custom-credentials-configuration '{"my_custom_credential_config"}' --secret-custom-metadata '{"metadata_custom_key": "metadata_custom_value"},"version_custom_metadata": {"custom_version_key": "custom_version_value"}}'
使用 API 建立自訂憑證秘訣
您可以透過呼叫 Secrets Manager API,以程式化的方式建立自訂憑證。 當您呼叫 API 時,請將 ID 變數和 IAM 令牌換成您 Secrets Manager 範例的特定值。
您可以使用 custom_metadata 和 version_custom_metadata 請求參數儲存與組織需求相關的元資料。 version_custom_metadata 的值只會針對秘密的版本傳回。 您的秘密的自訂 metadata 會像所有其他 metadata 一樣儲存,最多可儲存 50 個版本,而且不得包含機密資料。
curl -X POST
-H "Authorization: Bearer {IAM_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{
"name": "example-custom-credential-secret",
"description": "Description of my custom credential secret",
"secret_type": "custom_credentials",
"secret_group_id": "bfc0a4a9-3d58-4fda-945b-76756af516aa",
"labels": [
"dev",
"us-south"
],
"rotation": {
"auto_rotate": true,
"interval": 30,
"unit": "day"
},
"configuration": "my_custom_credential_config",
"parameters": {
"user_name": "username",
"scope": "admin"
},
"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"
使用 Terraform 建立自訂憑證秘訣
您可以使用 Terraform for Secrets Manager 程式化地建立自訂憑證機密。 以下範例顯示您可以用來建立自訂憑證秘訣的設定。
建立自訂憑證機密是一個異步過程,可能需要很長的時間,這取決於使用情況,因此在計劃使用 Terraform 時應該考慮到潛在的延遲。
resource "ibm_sm_custom_credentials_secret" "sm_custom_credentials_secret" {
instance_id = ibm_resource_instance.sm_instance.guid
region = "us-south"
name = "secret-name"
secret_group_id = ibm_sm_secret_group.sm_secret_group.secret_group_id
custom_metadata = {"key":"value"}
description = "Extended description for this secret."
labels = ["my-label"]
configuration = "my_custom_credentials_configuration"
parameters {
int_values = {
example_param_1 = 17
}
string_values = {
example_param_2 = "str2"
example_param_3 = "str3"
}
bool_values = {
example_param_4 = false
}
}
rotation {
auto_rotate = true
interval = 3
unit = "day"
}
ttl = "864000"
}
利用 Terraform IBM Modules (TIM) for Secrets Manager 自訂憑證引擎,將自訂憑證定義為具有可重複配置的代碼。 開始使用 Terraform IBM 模組。