使用客户端库授予角色
了解如何以您喜爱的编程语言开始使用 Resource Manager API 中的 IAM 方法。
准备工作
创建 Cloud de Confiance 项目
在此快速入门中,您需要一个新的 Cloud de Confiance 项目。
-
安装 Google Cloud CLI。
-
配置 gcloud CLI 以使用您的联合身份。
如需了解详情,请参阅使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init -
选择或创建项目所需的角色
- 选择项目:选择项目不需要特定的 IAM 角色,您可以选择已获授角色的任何项目。
-
创建项目:如需创建项目,您需要拥有 Project Creator 角色 (
roles/resourcemanager.projectCreator),该角色包含resourcemanager.projects.create权限。了解如何授予角色。
-
创建 Cloud de Confiance 项目:
gcloud projects create PROJECT_ID
将
PROJECT_ID替换为您要创建的 Cloud de Confiance 项目的名称。 -
选择您创建的 Cloud de Confiance 项目:
gcloud config set project PROJECT_ID
将
PROJECT_ID替换为您的 Cloud de Confiance 项目名称。
启用 Resource Manager API:
启用 API 所需的角色
如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (
roles/serviceusage.serviceUsageAdmin),该角色包含serviceusage.services.enable权限。了解如何授予角色。gcloud services enable cloudresourcemanager.googleapis.com
-
为您的用户账号创建本地身份验证凭证:
gcloud auth application-default login
如果系统返回身份验证错误,并且您使用的是外部身份提供方 (IdP),请确认您已 使用联合身份登录 gcloud CLI。
-
向您的用户账号授予角色。对以下每个 IAM 角色运行以下命令一次:
roles/resourcemanager.projectIamAdmingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
替换以下内容:
PROJECT_ID:您的项目 ID。USER_IDENTIFIER:您的用户 账号。如需查看示例,请参阅 在 IAM 政策中表示员工池用户。ROLE:您授予用户账号的 IAM 角色。
安装客户端库
C#
如需详细了解如何设置 C# 开发环境,请参阅 C# 开发环境设置指南。
install-package Google.Apis.Iam.v1 install-package Google.Apis.CloudResourceManager.v1
Go
go get golang.org/x/oauth2/google go get google.golang.org/api/cloudresourcemanager/v1
Java
如需详细了解如何设置 Java 开发环境,请参阅 Java 开发环境设置指南。
如果您使用的是 Maven,请将其添加到您的pom.xml 文件中。
Python
如需详细了解如何设置 Python 开发环境,请参阅 Python 开发环境设置指南。
pip install --upgrade google-api-python-client google-auth google-auth-httplib2
读取、修改和写入允许政策
本快速入门中的代码段会执行以下操作:
- 初始化用于管理 Cloud de Confiance项目的 Resource Manager 服务。
- 读取项目的允许政策。
- 通过将 Log Writer 角色 (
roles/logging.logWriter) 授予您的 Google 账号来修改允许政策。 - 写入更新后的允许政策。
- 输出项目级层具有 Log Writer 角色 (
roles/logging.logWriter) 的所有主账号。 - 撤消 Log Writer 角色。
在运行代码段之前替换以下值:
your-project:您的项目的 ID。your-member:用户账号的电子邮件地址。例如principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com。
C#
如需了解如何安装和使用 Resource Manager 客户端库,请参阅 Resource Manager 客户端库。 如需了解详情,请参阅 Resource Manager C# API 参考文档。
如需向 Resource Manager 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
Go
如需了解如何安装和使用 Resource Manager 客户端库,请参阅 Resource Manager 客户端库。 如需了解详情,请参阅 Resource Manager Go API 参考文档。
如需向 Resource Manager 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
Java
如需了解如何安装和使用 Resource Manager 客户端库,请参阅 Resource Manager 客户端库。 如需了解详情,请参阅 Resource Manager Java API 参考文档。
如需向 Resource Manager 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
Python
如需了解如何安装和使用 Resource Manager 客户端库,请参阅 Resource Manager 客户端库。 如需了解详情,请参阅 Resource Manager Python API 参考文档。
如需向 Resource Manager 进行身份验证,请设置应用默认凭证。如需了解详情,请参阅为本地开发环境设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
恭喜!您使用了 Resource Manager API 中的 IAM 方法来修改项目的访问权限。
结果怎么样?
清理
-
可选:撤消您创建的身份验证凭据,并删除本地凭据文件。
gcloud auth application-default revoke
-
可选:从 gcloud CLI 撤消凭据。
gcloud auth revoke
后续步骤
- 了解 IAM 的工作原理。
- 详细了解如何授予、更改和撤消访问权限。
- 使用政策问题排查工具排查访问权限问题。