IBM Cloud Docs
创建自定义凭据引擎配置

创建自定义凭据引擎配置

创建 IBM Cloud® Code Engine 项目和任务后,就可以创建自定义凭据引擎配置了。 引擎配置会引用 Code Engine 项目和项目中要用于自定义证书机密的特定 Code Engine 作业。

自定义证书有各种限制。 您可以在 " 已知问题和限制 "页面 中了解这些问题。

准备工作

确保完成这些先决条件:

  • 创建 Code Engine 项目和工作。
  • 创建允许 Code Engine 访问 Secrets Manager 的 IAM 凭据 密文。 凭据和 IAM 授权允许 Code Engine 将信息返回 Secrets Manager,并对 Secrets Manager 进行与自定义凭据机密相关的必要更新。 IAM 凭据机密必须
    • 设置自动轮换政策。
    • 与具有以下权限的服务 ID 或访问组关联:
      • secrets-manager.secret-task.update 上的秘密组创建自定义凭据。
      • 如果适用,secrets-manager.secret.read,该组包含 Code Engine 作业完成其操作所需的任何参考机密。
    • 或者,配置用于身份验证的受信任配置文件。 有关设置详情,请参阅 Code Engine 文档
  • 在作为源的 Secrets Manager 和作为目标的 Code Engine 项目之间创建 IAM 服务授权。

在控制台中创建自定义凭据引擎配置

导航至秘密引擎导航内的自定义凭据屏幕,然后在控制台中输入相关信息,创建自定义凭据的配置。

  1. 在“机密引擎”页面,单击“自定义凭据”选项卡。

  2. 单击添加配置

    1. 提供配置名称。
    2. 选择创建 Code Engine 项目的区域。
    3. 选择为该自定义凭据机密创建的任务。
    4. 创建配置时,系统会提示您在作为源的 Secrets Manager 和作为目标的 Code Engine 之间创建 IAM 服务授权(如果之前未创建)。
    5. 选择先前创建的 IAM 全权证书秘密,或在上下文中创建一个。
  3. 单击添加

使用应用程序接口创建自定义凭据引擎配置

您可以通过调用 Secrets Manager API 以编程方式创建自定义凭据引擎配置。 调用 API 时,请将 api_key_refcode_engine 变量以及 IAM 令牌替换为 Secrets Manager 实例的特定值。 您可以选择提供 task_timeout 参数来定制任务超时。

curl -X POST
    -H "Authorization: Bearer {IAM_token}" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -d '{
      "name": "my_config",
      "config_type": "custom_credentials_configuration",
      "api_key_ref": "a2f9c2e4-a3a8-c508-2bed-fcb7c26843ca",
      "code_engine": {
        "job_name": "code-engine-job-name",
        "project_id": "12345678-5120-4a18-832a-4ba122496633",
        "region": "us-south"
      },
      "task_timeout": "50m"
    }'
  "https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/configurations"

通过 CLI 创建自定义凭据引擎配置

开始之前,请 按照 CLI 文档 设置 API 端点。

要使用 Secrets Manager CLI 插件创建自定义凭据引擎配置,请运行 ibmcloud secrets-manager configuration-create 命令。 您可以选择使用 --configuration-task-timeout 标志自定义任务超时。

ibmcloud secrets-manager configuration-create --config-type=custom_credentials_configuration --name=my-custom-credentials-config --custom-credentials-apikey-ref IAM_credentials_secret_ID --custom-credentials-code-engine '{"project_id":"12345678-5120-4a18-832a-4ba122496633", "region":"us-south", "job_name":"code-engine-job-name"}'

使用 Terraform 创建自定义凭据引擎配置

您可以使用 Terraform for Secrets Manager 创建自定义凭据引擎配置。

resource "ibm_sm_custom_credentials_configuration" "sm_custom_credentials_configuration_instance" {
	instance_id = ibm_resource_instance.sm_instance.guid
	region = "us-south"
	name = "example-custom-credentials-config"
	api_key_ref = ibm_sm_iam_credentials_secret.my_secret_for_custom_credentials.secret_id
	code_engine {
	    project_id = ibm_code_engine_project.my_code_engine_project.project_id
	    job_name = "my_code_engine_job"
	    region = "us-south"
	}
	task_timeout = "10m"
}

后续步骤

创建自定义凭据引擎配置后,就可以创建 自定义凭据机密 了。