在google cloud gui控制台中,我转到“iam&admin”>“service accounts”,并创建了一个名为“my-service-account”的服务帐户,该帐户具有查看器角色。
然后运行以下命令:
gcloud iam service-accounts get-iam-policy my-service-account@mydomain.iam.gserviceaccount.com
并看到以下输出:
etag: ACAB
根据文档,这意味着该服务帐户没有与其相关联的策略。所以我给它分配了一个“角色”,而这个角色并不包含在它的“政策”中。
如何列出与服务帐户关联的角色?
编辑:感谢这个问题的优秀答案,我现在可以循环所有的项目,并得到我想要的。因此,根据这些cmd工具的版本,这应该列出跨所有项目的单个服务帐户的所有角色绑定:
gcloud projects list | \
awk '{print $1}' | \
xargs -I % sh -c "echo ""; echo project:% && \
gcloud projects get-iam-policy % \
--flatten='bindings[].members' \
--format='table(bindings.role)' \
--filter='bindings.members:YOU-SERVICE-ACCOUNT@blah.com' \
;"
在Google Cloud中,您有针对项目和服务帐户的IAM策略。
通过项目的IAM策略,您可以定义谁可以对Google Cloud项目中的资源执行特定操作。将“查看器”角色添加到您的服务帐户中,您修改了项目策略(即您的服务帐户可以在项目中执行的操作)
另一方面,服务帐户的IAM策略用于控制谁拥有所有权,谁可以访问服务帐户及其设置。这是您通过发布的命令检索的内容,但是您没有获得任何信息,因为您获取的是服务帐户的策略,而不是项目的策略。
为了获得包含成员及其相应角色的项目的IAM策略,可以运行以下命令:
gcloud projects get-iam-policy PROJECT_ID
您可以在以下链接中找到有关服务帐户的进一步信息:
html" target="_blank">https://cloud.google.com/iam/docs/service-accounts
https://cloud.google.com/iam/docs/granting-roles-to-service-accounts
要在特定的服务帐户上进行筛选,以下gcloud commmand可以完成以下操作:
gcloud projects get-iam-policy <YOUR GCLOUD PROJECT> \
--flatten="bindings[].members" \
--format='table(bindings.role)' \
--filter="bindings.members:<YOUR SERVICE ACCOUNT>"
输出很好:
ROLE
roles/cloudtrace.agent
roles/servicemanagement.serviceController
roles/viewer
格式参数当然可以调整以适应您的特定需要。
我开发了以下代码,用于自动执行我的一些实例的启动/停止任务,这些实例不需要一直运行,而是在特定范围内运行。 这是我的代码:https://github.com/maartinpii/gcp-shst 我按照谷歌云平台指南(参考:https://cloud.google.com/iam/docs/understanding-service-accounts https://cloud.google.
我已经从GCP控制台创建了和一个自定义角色。 但是,当试图关联它们时,它会失败,如下所示: 知道为什么吗?
如何为默认的Google App Engine(GAE)服务帐户赋予其他角色: 具体地说,我希望将“Cloud SQL Client”角色赋予默认的app engine服务帐户。当我试图修改角色时,我得到以下消息:
我有一个Terraform用来管理我的云资源的服务帐户,我们称之为。我需要给予它足够的访问权限来创建/删除/编辑其他服务帐户,但不能更改它自己或项目中不应该接触的其他SAs。 我试着在那里添加一个条件,但看起来‘服务帐户’不是可以在条件(?)中使用的资源类型之一。下面是绑定该角色的HCL片段(我使用Terraform的事实与此无关): 当我删除该条件时,一切正常,但的权限远远超过它所需的权限。它甚
我一直试图用角色导入预先配置的客户机和服务帐户,所以我的json文件看起来像 我还尝试在导入的领域配置中设置客户端,但在这两种情况下,我都有以下问题 null Keycloak版本为:8.0.0 谢了。
我在ECS fargate上运行java应用程序,并在fargate任务中添加了一个角色来执行s3操作。在我的java进程中,我已经开始使用aws sdk的DefaultCredentialsProviderChain.java来获取凭证并创建s3客户端。我面临的问题是理解下面提到的问题: < li >链中的哪个类(在DefaultCredentialsProviderChain.java)从关联