Google cloud platform 需要iam.serviceAccounts.getIamPolicy才能对服务帐户执行此操作

Google cloud platform 需要iam.serviceAccounts.getIamPolicy才能对服务帐户执行此操作,google-cloud-platform,gcloud,google-cloud-iam,Google Cloud Platform,Gcloud,Google Cloud Iam,发件人: 运行此命令: gcloud iam service-accounts get-iam-policy \ mysa@my-project.iam.gserviceaccount.com 我得到: gcloud iam service-accounts get-iam-policy mysa@my-project.iam.gserviceaccount.com ERROR: (gcloud.iam.service-accounts.get-iam-policy) PERMISS

发件人:

运行此命令:

gcloud iam service-accounts get-iam-policy \
    mysa@my-project.iam.gserviceaccount.com
我得到:

gcloud iam service-accounts get-iam-policy mysa@my-project.iam.gserviceaccount.com
ERROR: (gcloud.iam.service-accounts.get-iam-policy) PERMISSION_DENIED: Permission iam.serviceAccounts.getIamPolicy is required to perform this operation on service account projects/-/serviceAccounts/mysa@my-project.iam.gserviceaccount.com

但是我确实对当前用户(角色所有者)拥有
iam.servicecomports.getIamPolicy
权限。

问题在于发送给项目的电子邮件成员(服务帐户电子邮件)在iam用户中

当我在IAM中删除此(SA成员)时, 结果,它成功地给出了“etag:ACAB”

我需要弄清楚那是什么,但它成功了。刚找到


删除服务帐户时,可能会自动删除此帐户-但我知道什么:-)

您是否正确指定了服务帐户(在项目中列出)?是的,我使用服务帐户或“电子邮件”列中列出的名称。这很奇怪,因为它应该足以通过该命令获取策略。我唯一一次能够得到完全相同的错误是当我指定的服务帐户出错时(例如,不是a或有打字错误)。我将调查是否是其他原因导致此错误,并将通知您。
etag:ACAB
表示您尚未为服务帐户分配角色-@DenisT。-这是不对的。
ACAB
是用于跟踪更新的令牌,并不表示空的服务帐户角色列表。修改角色时,标记将更改。如果您尝试使用不正确的标记更新角色,请求将失败。谢谢,John。没错,如果您没有为服务帐户分配角色,则输出将仅显示
etag
值。