1

我正在尝试获取用户列表及其对项目的访问权限。

Http 不起作用,因为我们在防火墙后面,我只是得到一个响应not ready error

我有一些代码...

import google.cloud.resource_manager

keyfile="xxxxx.json"
client = google.cloud.resource_manager.client.Client.from_service_account_json(keyfile)

for project in client.list_projects():
    print("%s, %s" % (project.project_id, project.status))    # Works Fine
    print project.getIamPolicy()

第一个打印语句有效,但我找不到正确的语法,getIamPolicy尽管根据文档似乎确实可行。

如果其他人已经这样做了,你能给我提供完整的语法吗?

我希望从 python 脚本中执行此操作,而不是使用命令行或子进程。

谢谢,伊恩

4

1 回答 1

1

您可以使用以下内容:

安装客户端库。

pip install --upgrade google-api-python-client google-auth google-auth-httplib2

并使用以下代码列出项目中的所有用户及其角色,只需PROJECT_ID使用您要检查的项目 ID 和xxxxxx.json您的凭据进行更新。

from google.oauth2 import service_account
import googleapiclient.discovery

credentials = service_account.Credentials.from_service_account_file(
    filename='xxxxxx.json',
    scopes=['https://www.googleapis.com/auth/cloud-platform'])

service = googleapiclient.discovery.build(
    'cloudresourcemanager', 'v1', credentials=credentials)

response = service.projects().getIamPolicy(resource=PROJECT_ID, body={}).execute()
print response

有关更多参考资料,您可以查看以下文档

于 2018-12-26T22:06:53.757 回答