IBM Cloud Docs
创建 Code Engine 工作

创建 Code Engine 工作

自定义凭据保密类型允许 Secrets Manager 用户使用 Secrets Manager API 和集成来管理外部系统(如 Artifactory, PagerDuty )的凭据生命周期。 要创建自定义凭据机密,必须首先建立 IBM Cloud® Code Engine 项目,并 定义 Code Engine 作业,以便在 Secrets Manager 和需要凭据的外部服务之间建立接口。

自定义凭据支持多种第三方系统,因此,配置 Code Engine 任务的指南有意采用通用方式,侧重于 Code Engine 最佳实践。 如果参数格式正确,并选择了有效的 Code Engine 项目和作业,Secrets Manager 就能以各种配置运行作业。 不过,Secrets Manager 并不验证您的配置是否符合您的特定用例。 它只能运行提供的设置。

为帮助实施与外部提供商交互的作业逻辑,Secrets Manager 提供了开发人员文档、最佳实践、作业生成器和部署工具以及代码示例。 了解如何在自定义凭证提供程序存储库中设计新的凭证提供程序作业。

证书提供者工作生命周期

典型的工作流程包括

  1. 创建凭证,生成新凭证。
  2. 删除证书(证书已被撤销)。
  3. 更新秘密任务,将结果发回 Secrets Manager。

下面的 Code Engine 工作流程图说明了这一生命周期。

Code Engine
Code Engine 工作生命周期

Secrets Manager 在删除尝试失败后每天(最多 10 天)重试删除凭证。 建议在适当情况下重试请求,但为清晰起见,流程图中省略了重试请求。 对秘密任务更新请求的 400404 状态响应表明,无法通过重试更新秘密任务。

安全注意事项

加强安全:

  • 遵循最小权限原则:通过使用专门的秘密组,限制工作访问权限,只允许访问必要的秘密。
  • IAM 角色:将作业使用的 API 密钥分配给 Secrets Manager 验证的 SecretTaskUpdater 角色。 如果任务需要读取机密,也要指定 SecretsReader 角色。 这两个角色都应由专门的秘密小组负责。
  • 避免使用个人身份信息 (PII) 和机密数据:请勿使用个人标识符或机密数据(例如电子邮件地址或社会保险号)作为输入参数或凭证 ID。Secrets Manager 将输入参数和凭证 ID 视为元数据,而不是敏感的秘密数据。

错误处理

如果凭证提供程序任务无法创建或删除凭证,则应更新 Secrets Manager,并提供应用程序错误代码和用户错误信息。 Secrets Manager 控制台中会显示失败任务的错误信息,允许用户采取纠正措施。

故障诊断

默认情况下,Secrets Manager 会将 Code Engine 配置为立即删除已完成的作业。 这可以防止任务运行累积,并有助于避免长期超出配额限制。 不过,在开发过程中,您可能希望保留已完成的作业,以便查看其配置和日志。

使用 Code Engine UI 保留已完成的任务:

  1. 在 IBM Cloud 控制台中,导航至容器 → 项目,然后打开凭据提供程序项目。
  2. 在项目页面中,转到“任务”,单击“任务”选项卡,然后选择任务。
  3. 在“配置”页面,打开“环境变量”选项卡。
  4. 找到 CE_REMOVE_COMPLETED_JOBS 变量并单击其行进行编辑。
  5. 在编辑环境变量面板中,将值从 IMMEDIATELY 改为 3d,然后单击完成。
  6. 返回“环境变量”页面,单击“部署”(右上角)应用更改。 已完成的任务运行现在将保留 3 天

对于生产环境中的故障排除工作,建议将 Code Engine 与云日志集成。 有关设置说明,请参阅这两项服务的文档。

后续步骤

创建 Code Engine 项目和任务后,现在可以继续 创建自定义凭据引擎配置