秘密任务
IBM Cloud® Secrets Manager 使用秘密任务来触发和管理异步秘密类型的生命周期。 在初始 pre-activation
状态下创建一个异步秘密类型,并自动创建一个新的执行任务来跟踪秘密凭证的外部创建。 外部进程完成后,它会用新凭证更新秘密任务,并 Secrets Manager 更新该秘密状态,使其成为 active
。 您可以列出秘密任务,了解其详细信息并将其删除。
自定义凭据秘密类型使用秘密任务来触发以 IBM Cloud® Code Engine 作业形式实现的凭据提供程序的异步执行。 每个任务都映射到一个作业运行,任务 ID 设置为作业运行名称。
任务有不同的状态、类型和相关值记录。
状态 | 描述 |
---|---|
queued |
任务已创建,正在队列中等待开始处理。 可以通过删除来取消排队任务。 |
processing |
任务正在运行。 如果是自定义凭据保密类型,Code Engine 任务运行已经开始,任务正在等待任务返回或超时。 可以通过删除来取消处理任务。 |
credentials_created |
创建任务已成功完成。 如果使用自定义凭据密文,请将 Code Engine 作业报告成功键入 Secrets Manager。 具有此状态的任务不接受进一步更新。 |
credentials_deleted |
删除任务已成功完成。 如果是自定义凭证机密,请键入 Code Engine 作业。 具有此状态的任务不接受进一步更新。 |
failed |
任务超时或证书提供者更新任务时出错。 如果使用自定义凭据密文类型,Code Engine 作业会返回 Secrets Manager 并显示错误。 具有此状态的任务不接受进一步更新。 |
状态 | 描述 |
---|---|
create_credentials |
该类型表示创建凭证的任务。 可在创建或轮换秘密时触发。 |
delete_credentials |
该类型表示删除以前创建的凭证的任务。 删除密文、过期或删除特定版本或轮换都会触发该功能。 |
状态 | 描述 |
---|---|
secret_creation |
这项任务是因创建秘密而触发的。 |
manual_secret_rotation |
这项任务是由人工轮换触发的。 |
automatic_secret_rotation |
这项任务是由自动(定期)轮换触发的。 |
secret_version_expiration |
这项任务是由于秘密版本过期而触发的。 |
secret_version_data_deletion |
这项任务是由于删除了一个秘密而触发的。 |
从用户界面处理秘密任务
要查看与自定义凭据机密相关的任务,可以访问“操作”下拉菜单中的“**任务 **”菜单。 在这里,您可以看到与您的证书相关的操作记录。 例如,创建或删除凭证的时间,或任务是否超时。
- 在 "秘密 "表中,单击 " 操作 "菜单中的 "
,打开 "秘密 "的选项列表。
- 要查看秘密任务,请单击任务。
要删除秘密任务:
- 在 "秘密 "表中,单击 " 操作 "菜单中的 "
,打开 "秘密 "的选项列表。
- 单击任务查看所有任务。
- 勾选要删除任务的复选框,然后单击“删除选定”。
使用 CLI 执行秘密任务
开始之前,请 按照 CLI 文档 设置 API 端点。
要使用 Secrets Manager CLI 插件查看与自定义凭据机密相关的任务,请运行 ibmcloud secrets-manager secret-create
命令:
ibmcloud secrets-manager secret-tasks --id SECRET_ID
要获取特定任务的详细信息,请使用任务 ID:
ibmcloud secrets-manager secret-task --secret-id SECRET-ID --id TASK_ID
要删除任务
ibmcloud secrets-manager secret-task-delete --secret-id SECRET-ID --id TASK_ID
使用应用程序接口执行秘密任务
您可以通过调用 Secrets Manager API,以编程方式查看自定义凭证秘密任务。 调用 API 时,请将 SECRET_ID 变量和 IAM 令牌替换为 Secrets Manager 实例的特定值:
curl -X POST
-H "Authorization: Bearer {IAM_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/SECRET_ID/tasks"
要获取特定任务的详细信息,请使用任务 ID:
curl -X POST
-H "Authorization: Bearer {IAM_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/SECRET_ID/tasks/TASK_ID"
要删除任务
curl -X PUT
-H "Authorization: Bearer {IAM_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"https://{instance_ID}.{region}.secrets-manager.appdomain.cloud/api/v2/secrets/SECRET_ID/tasks/TASK_ID"