如何获取在一个服务帐户下分配的多个 GCP 项目的列表? ( GCP )( python-客户端库文件)
How can get list of multiple - GCP projects assigned under one service account ? ( GCP )( python-client library files)
我正在尝试列出在服务帐户文件下分配的项目 (credentials.json)。
下面: 按照这个方法我在一个服务账户下添加了多个项目
然后我从项目 B 生成了密钥(即)credientials.json 文件,如上图所示。
我查看了credientials.json : 但是那个服务账号只有项目名。它没有项目 A 名称。
即使我将这个 credientials.json 文件应用到我的代码中,它也只显示项目 B 的名称。
它不显示项目 A 名称。
if the service account conneting method is wrong please correct me
这是我的代码
import os
import google.auth
credential_path = r'c:test\credientials.json'
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = credential_path
credentials,project = google.auth.default()
print(credentials)
print(project)
在 Google Cloud 上,IAM 权限以资源为中心(项目是一种资源,如 Cloud Functions 或 VM)而不是以帐户为中心(如 AWS)。
因此,您无法知道一个账号被授予的所有资源,但您必须浏览所有资源并检查该账号是否被授权。
因为它很无聊,你可以使用Cloud Asset Inventory search IAM policies让这个任务变得更简单
我正在尝试列出在服务帐户文件下分配的项目 (credentials.json)。
下面: 按照这个方法我在一个服务账户下添加了多个项目
然后我从项目 B 生成了密钥(即)credientials.json 文件,如上图所示。
我查看了credientials.json : 但是那个服务账号只有项目名。它没有项目 A 名称。
即使我将这个 credientials.json 文件应用到我的代码中,它也只显示项目 B 的名称。 它不显示项目 A 名称。
if the service account conneting method is wrong please correct me
这是我的代码
import os
import google.auth
credential_path = r'c:test\credientials.json'
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = credential_path
credentials,project = google.auth.default()
print(credentials)
print(project)
在 Google Cloud 上,IAM 权限以资源为中心(项目是一种资源,如 Cloud Functions 或 VM)而不是以帐户为中心(如 AWS)。
因此,您无法知道一个账号被授予的所有资源,但您必须浏览所有资源并检查该账号是否被授权。
因为它很无聊,你可以使用Cloud Asset Inventory search IAM policies让这个任务变得更简单