【发布时间】:2021-09-20 06:44:10
【问题描述】:
我需要在谷歌云中获取服务帐户的所有属性。是否可以列出所有属性,例如 Select *.
否则我需要以下信息:
- SA 帐户名称
- 电子邮件地址
- 已分配 Iam 角色
- 用户管理的密钥(如果有)
- 帐户创建日期
- 上次使用/身份验证时间。
- 项目名称
- 帐户状态(启用/禁用)
我可以获取所有项目,然后是其中的所有服务帐户,但我不知道如何获取所有其他值。
foreach ($project in gcloud projects list --format="value(projectId)")
{
Write-Host "ProjectId: $project"
foreach ($robot in gcloud iam service-accounts list --project $project --format="value(email)")
{
Write-Host " -> Robot $robot"
}
}
【问题讨论】:
-
gcloud iam service-accounts describe和gcloud iam service-accounts keys list会给你一些细节。 上次使用之类的信息需要解析 Cloud Logging。日志保留默认为 30 天,因此您需要延长保留时间,以便可以扫描超过过去 30 天的日志。 -
该命令只提供 7 个属性,我注意到如果我运行另一个 gcloud iam service-accounts get-iam-policy ,它会提供成员和角色...是他们的任何可用脚本,它将列出所有服务帐户的属性。
-
您是否通过 API 调用找到了所有需要的信息?有些似乎无法获得(上次使用??)您必须执行多个请求才能获取每条信息
-
我没有 API 调用的经验,所以没有。看起来我必须为服务帐户运行所有可用的 gcloud 命令才能获得最大的信息。你是对的,上次使用几乎不可能得到。
-
您可以使用
listmethod 单独获取有关每个项目的服务帐户的信息。 response 不包含您要查找的某些字段。
标签: google-cloud-platform gcloud service-accounts google-iam