建立自訂憑證秘密

自訂憑證保密類型可讓 IBM Cloud® Secrets Manager 使用者透過 Secrets Manager API 和整合,安全地管理外部系統 (例如 Artifactory 或 PagerDuty ) 的憑證。 若要建立這些機密,您需要部署 IBM Cloud® Code Engine 作業,作為 Secrets Manager 與外部服務之間的橋接。 這些工作依固定排程執行,並透過 秘密任務以 非同步方式管理憑證。

建立自訂憑證的程序在設計上是非同步的。 新增秘密時,最初會進入預啟動狀態。 如果在外部憑證提供者中成功建立了秘密,則其狀態會在 Secrets Manager 中自動變為有效

自訂憑證機密的建立過程是異步的。 添加秘密後,它開始處於 pre-activation 狀態,如果在憑證提供者中成功建立,它的狀態會變更為 active,在 Secrets Manager。

開始之前

在您開始之前,請確定您已準備好:

在主控台中建立自訂憑證秘訣

要加入秘密

  1. 秘密表中,按一下新增
  2. 從秘密類型清單中,按一下自訂憑證磁磚。
  3. 下一步
  4. 加入名稱和說明,方便識別您的秘密。
  5. 選取 您先前建立的 秘密群組實例中包含密鑰的環境及限制必須遵循。 使用者可以與秘密群組相關聯,以實現存取和協作。
  6. 可選:新增標籤,以協助您在實例中搜尋類似的機密。
  7. 可選:將元資料加入您的秘密或秘密的特定版本。
    1. 上傳檔案或以 JSON 格式輸入元資料和版本元資料。
  8. 下一步
  9. 選擇要用於此秘訣的自訂憑證引擎組態。
  10. Parameters(參數 )下輸入所需的值。
  11. 下一步
  12. 可選:啟用秘密的最短持續時間和自動輪替。
  13. 下一步
  14. 檢視您的秘密細節。
  15. 按一下新增

您可以稍後變更參數值。 此變更會在建立新的秘密版本後發生。 在未建立新設定的情況下,您無法新增或減少新參數。

在主控台中檢視和更新秘密詳細資訊

其他秘密 一樣,您可以按一下按一下行動功能表 行動圖示 > 詳細資料,以存取您的秘密詳細資料。 從詳細資訊畫面,您可以瞭解到以下資訊:

從 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_metadataversion_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 模組