首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在多个项目/文件夹中列出Google的所有IAM主体和角色?

如何在多个项目/文件夹中列出Google的所有IAM主体和角色?
EN

Stack Overflow用户
提问于 2022-08-05 15:01:40
回答 1查看 284关注 0票数 0

我们可以列出所有iam服务帐户如下:

代码语言:javascript
复制
gcloud iam service-accounts list

我们可以列出所有iam的角色如下:

代码语言:javascript
复制
gcloud iam roles list

这只适用于一个项目。

不过,我有多个项目,它们是由文件夹组织的。因此,我想一次列出所有IAM的原则和作用。如何才能做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-05 16:42:05

列出所有项目ID:

代码语言:javascript
复制
gcloud projects list --format="value(projectId)"

按项目(ID)列出所有服务帐户(电子邮件):

代码语言:javascript
复制
PROJECTS=$(\
  gcloud projects list \
  --format="value(projectId)")

for PROJECT in ${PROJECTS}
do
  echo "Project: ${PROJECT}"
  gcloud iam service-accounts list \
  --project=${PROJECT} \
  --format="value(email)"
done

IIUC gcloud iam roles list是一个全局列表。

对于项目中的自定义角色(名称),需要:

代码语言:javascript
复制
gcloud iam roles list \
--project=${PROJECT} \
--format="value(name)"

所以也许:

代码语言:javascript
复制
PROJECTS=$(\
  gcloud projects list \
  --format="value(projectId)")

for PROJECT in ${PROJECTS}
do
  echo "Project: ${PROJECT}"
  gcloud iam roles list \
  --project=${PROJECT} \
  --format="value(name)"
done

或者也许:

代码语言:javascript
复制
gcloud projects get-iam-policy ${PROJECT}

和:

代码语言:javascript
复制
PROJECTS=$(\
  gcloud projects list \
  --format="value(projectId)")

for PROJECT in ${PROJECTS}
do
  echo "Project: ${PROJECT}"
  gcloud projects get-iam-policy ${PROJECT}
done

可以使用--filter--format标志对上述内容进行进一步筛选和格式化。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73251765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档