我正在尝试使用
gcloud
cli 创建服务帐户密钥,我在谷歌上搜索并尝试使用不同的服务帐户,但它们都有相同的错误。我不确定我需要改变什么才能完成以下工作
例如:
gcloud iam service-accounts keys create ~/key.json \
--iam-account myserviceaccount
错误:
ERROR: (gcloud.iam.service-accounts.keys.create) PERMISSION_DENIED: Permission iam.serviceAccountKeys.create is required to perform this operation on service account projects/-/serviceAccounts/myserviceaccount
tl;dr iam 帐户不存在。
令人烦恼的是,我在运行中遇到了同样的问题:
gcloud iam service-accounts keys create \
key.json \
--iam-account [email protected]
并得到:
ERROR: (gcloud.iam.service-accounts.keys.create) PERMISSION_DENIED: Permission iam.serviceAccountKeys.create is required to perform this operation on service account projects/-/serviceAccounts/[email protected].
我是项目所有者,所以我绝对拥有所需的所有权限(我什至明确添加了服务帐户密钥管理员,但它仍然不起作用。
但实际上是因为那个特定的iam账户不存在。
不是很有帮助的错误消息。
根据创建和管理服务帐户密钥文档,需要设置
iam.serviceAccountKeyAdmin
角色权限才能管理服务帐户密钥,Will Faris也提到过。
所需权限:
要允许用户管理服务帐户密钥,请授予服务帐户密钥管理员角色 (roles/iam.serviceAccountKeyAdmin)。 Cloud IAM 原始角色还包含管理服务帐户密钥的权限,但我们建议授予此角色,以防止对其他 GCP 资源进行不必要的访问。
此外,您可以查看授予、更改和撤销项目成员的访问权限指南,以了解有关在 GCP 中添加角色访问权限所需流程的更多信息,以及了解角色文档,其中包含使用服务帐户时的可用角色。
注意:您需要向管理员提供“POLICY”。 “组织管理员”权限集不足。