创建自定义凭据引擎配置
创建 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 服务授权。
在控制台中创建自定义凭据引擎配置
导航至秘密引擎导航内的自定义凭据屏幕,然后在控制台中输入相关信息,创建自定义凭据的配置。
-
在“机密引擎”页面,单击“自定义凭据”选项卡。
-
单击添加配置
- 提供配置名称。
- 选择创建 Code Engine 项目的区域。
- 选择为该自定义凭据机密创建的任务。
- 创建配置时,系统会提示您在作为源的 Secrets Manager 和作为目标的 Code Engine 之间创建 IAM 服务授权(如果之前未创建)。
- 选择先前创建的 IAM 全权证书秘密,或在上下文中创建一个。
-
单击添加。
使用应用程序接口创建自定义凭据引擎配置
您可以通过调用 Secrets Manager API 以编程方式创建自定义凭据引擎配置。 调用 API 时,请将 api_key_ref
和 code_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"
}
后续步骤
创建自定义凭据引擎配置后,就可以创建 自定义凭据机密 了。