使用Shell脚本在IBM Secrets Manager中无法订购证书
收到的错误信息翻译后如下:
[{
"error_message": "针对主体'iam-ServiceId-bd8a0d74-82a0-48a3-9315-d940e149931d'的API授权请求,执行操作'secrets-manager.secret.create',访问资源'crn:v1:bluemix:public:secrets-manager:us-south:a/585be4294d421d096580e222f89a3f55:c1576db9-7ceb-4001-a772-a1c5834c21a1:secret-group:a16d54c5-b484-2330-3d41-17085308f885'未被允许。跟踪ID: 'c5c03a25-b36f-4626-f21c-13593d0b5761'"
}],
"errors": [{
"code": "secrets-manager.Error04091",
"message": "针对主体'iam-ServiceId-bd8a0d74-82a0-48a3-9315-d940e149931d'的API授权请求,执行操作'secrets-manager.secret.create',访问资源'crn:v1:bluemix:public:secrets-manager:us-south:a/585be4294d421d096580e222f89a3f55:c1576db9-7ceb-4001-a772-a1c5834c21a1:secret-group:a16d54c5-b484-2330-3d41-17085308f885'未被允许。跟踪ID: 'c5c03a25-b36f-4626-f21c-13593d0b5761'"
}]
该错误核心是:你使用的IAM服务ID(iam-ServiceId-bd8a0d74-82a0-48a3-9315-d940e149931d)没有在指定Secrets Manager实例的目标密钥组中创建密钥(公证书属于密钥类型之一)的权限。
- 登录IBM Cloud控制台,定位到CRN中指定的Secrets Manager实例(实例ID为
c1576db9-7ceb-4001-a772-a1c5834c21a1) - 进入实例的「访问策略」配置页面
- 找到目标服务ID:
iam-ServiceId-bd8a0d74-82a0-48a3-9315-d940e149931d - 为该服务ID添加权限策略:
- 资源范围选择目标密钥组(CRN为
crn:v1:bluemix:public:secrets-manager:us-south:a/585be4294d421d096580e222f89a3f55:c1576db9-7ceb-4001-a772-a1c5834c21a1:secret-group:a16d54c5-b484-2330-3d41-17085308f885)或直接选择当前Secrets Manager实例 - 授予权限包含
secrets-manager.secret.create,可直接选择「编辑器」角色(该角色默认包含创建权限),也可自定义仅添加创建操作
- 资源范围选择目标密钥组(CRN为
- 保存策略后,等待1-2分钟让权限生效,再重新执行脚本
- 确认脚本中使用的IAM令牌是由该服务ID生成,未混用其他身份凭证
- 确认目标密钥组
a16d54c5-b484-2330-3d41-17085308f885存在且属于指定的Secrets Manager实例
内容的提问来源于stack exchange,提问作者NishanthRaj

