借助 Cloud API,您可以通过自己的代码访问 Google Cloud 产品和服务。这些 Cloud API 提供了一个简单的 JSON REST 接口,您可以通过客户端库调用该接口。
本文介绍如何启用 Cloud API 并将 Cloud 客户端库添加到您的项目中。
浏览 Cloud API
如需浏览您的 IDE 中所有可用的 Google Cloud API,请按照以下步骤操作:
依次选择工具 > Google Cloud Code > Cloud API。
管理 Google Cloud API 窗口会按类别对 Cloud API 进行分组。您 还可以使用搜索 API 搜索栏来查找特定 API。
点击某个 API 以查看更多详细信息,例如其状态、相应客户端库的特定语言的安装说明以及相关文档。
启用 Cloud API
要使用 API 详细信息为项目启用 Cloud API,请按以下步骤操作:
在 Cloud API 详细信息视图中,选择一个需要 您要启用 Cloud API 的对象
点击启用 API。
启用 API 后,系统会显示一条消息来确认更改。
添加 Cloud 客户端库
如需在 IntelliJ 中向项目添加库,请按照以下步骤操作:
对于 Java Maven 项目
- 前往工具 >Google Cloud Code > Cloud API。
- 选择偏好的库类型:Google Cloud 客户端库(适用于大多数项目)或 Java Spring Google Cloud(如果您的项目使用 Java Spring,则推荐此选项)。
- 按照 IDE 中安装客户端库中的其余说明操作(如果适用)。
- 完成后,点击关闭。
管理 Google Cloud API 对话框中的安装客户端库部分会显示支持的库。
对于其他所有项目
- 前往工具 >Google Cloud Code >云 API。
- 如需安装该 API,请按照 API 详细信息页面上针对您的首选语言列出的安装说明进行操作。
如果您要开发 Java 应用,则还需要指定库偏好设置:Google Cloud 客户端库(推荐)或 Java Spring Google Cloud。
- 完成后,点击关闭。
管理 Google Cloud API 对话框中的安装客户端库部分会显示支持的库。
使用 API 代码示例
如需在 API 浏览器中搜索并使用每个 API 的代码示例,请按以下步骤操作:
导航到工具 > Google Cloud Code > Cloud API。
如需打开详细信息视图,请点击 API 的名称。
如需查看 API 的代码示例,请点击代码示例标签页。
如需过滤示例列表,请输入要搜索的文本,或者从语言下拉菜单中选择编程语言。
设置身份验证
启用所需的 API 并添加必要的客户端库后,您需要对应用进行配置,以便成功通过身份验证。您的配置取决于您的开发类型和运行所在的平台。
完成相关身份验证步骤后,您的应用即可进行身份验证并准备好部署。
本地开发
本地机器
如果您通过 IDE 登录到 Google Cloud,则 Cloud Code 可确保您已设置应用默认凭据 (ADC)。如果
如果您未使用 Cloud Code 登录,请手动运行 gcloud
auth application-default login
。
minikube
- 如果您通过 IDE 登录到 Google Cloud,则 Cloud Code 可确保您已设置应用默认凭据 (ADC)。如果
如果您未使用 Cloud Code 登录,请手动运行
gcloud auth application-default login
。 - 使用
minikube start --addons gcp-auth
启动 minikube。此操作会将您的 ADC 装载到 pod 中。如需详细了解 Google Cloud 的 minikube 身份验证指南,请参阅 minikube gcp-auth 文档。
其他本地 K8s 集群
- Cloud Code 可确保您将应用默认值
在您通过 IDE 登录 Google Cloud 时设置的凭据 (ADC)。如果您不是使用 Cloud Code 登录,请手动运行
gcloud auth application-default login
。 - 通过在 Pod 或部署清单中修改 Pod 规范,在 Kubernetes Pod 中装载本地
gcloud
目录,以便 Google Cloud 客户端库能够找到您的凭据。Kubernetes Pod 配置示例:apiVersion: v1 kind: Pod metadata: name: my-app labels: name: my-app spec: containers: - name: my-app image: gcr.io/google-containers/busybox ports: - containerPort: 8080 volumeMounts: - mountPath: /root/.config/gcloud name: gcloud-volume volumes: - name: gcloud-volume hostPath: path: /path/to/home/.config/gcloud
Cloud Run
Cloud Code 可确保您将应用默认值
在您通过 IDE 登录 Google Cloud 时设置的凭据 (ADC)。如果您不是使用 Cloud Code 登录,请手动运行 gcloud
auth application-default login
。
远程开发
Google Kubernetes Engine
根据您的项目范围,您可以选择在 GKE 上对 Google Cloud 服务进行身份验证的方式:
- (仅限开发)
- 使用以下设置创建 GKE 集群:
- 确保您使用的是 GKE 默认使用的服务账号、Compute Engine 默认服务账号,并且访问权限范围设置为授予对所有 Cloud API 的完整访问权限(这两种设置均可在节点池 > 安全部分中访问)。
由于 Compute Engine 服务账号由部署在节点上的所有工作负载共享,因此此方法会过度预配权限,并且应该仅用于开发。 - 确保集群上未启用 Workload Identity(在集群 > 安全部分中)。
- 确保您使用的是 GKE 默认使用的服务账号、Compute Engine 默认服务账号,并且访问权限范围设置为授予对所有 Cloud API 的完整访问权限(这两种设置均可在节点池 > 安全部分中访问)。
- 为 Compute Engine 默认服务账号分配必要的角色:
- 如果您尝试访问密文,请按照以下 Secret Manager 专用步骤为您的服务账号设置所需角色。
- 如果使用的是 Compute Engine 默认服务账号,则可能应用了正确的 IAM 角色。
如需查看您可以向身份授予的 IAM 角色类型和预定义角色列表,请参阅了解角色指南。
如需了解授予角色的步骤,请参阅授予、更改和撤消对资源的访问权限。
- 使用以下设置创建 GKE 集群:
- (建议用于生产用途)
- 使用 Workload Identity 配置 GKE 集群和应用,以对 GKE 上的 Google Cloud 服务进行身份验证。此操作会将您的 Kubernetes 服务账号与您的 Google 服务账号相关联。
- 通过在 Kubernetes 部署 YAML 文件中设置
.spec.serviceAccountName
字段,配置 Kubernetes 部署以引用 Kubernetes 服务账号。
如果您使用的是基于 Cloud Code 模板创建的应用,则此文件位于 kubernetes-manifests 文件夹下。 - 如果您尝试访问的 Google Cloud 服务需要其他角色,请为您用于开发应用的 Google 服务账号授予角色。
- 如果您尝试访问密文,请按照以下 Secret Manager 专用步骤为您的服务账号设置所需角色。
如需查看您可以向身份授予的 IAM 角色类型和预定义角色列表,请参阅了解角色指南。
如需了解授予角色的步骤,请参阅授予、更改和撤消对资源的访问权限。
Cloud Run
-
如需创建用于部署 Cloud Run 应用的新唯一服务账号,请在“服务账号”页面上选择存储密文的项目。
- 点击创建服务账号。
- 在创建服务账号对话框中,为服务账号输入一个描述性名称。
- 将服务账号 ID 更改为一个可识别的唯一值,然后点击创建。
- 如果您尝试访问的 Google Cloud 服务需要其他角色,请授予角色,点击继续,然后点击完成。
- 如需将 Kubernetes 服务账号添加到部署配置中,请执行以下操作: 依次点击 Run [运行] > Edit Configurations(修改配置),然后 在服务名称字段中指定您的服务账号。
Cloud Run
你可以根据项目范围 在 GKE 上对 Google Cloud 服务进行身份验证:
- (仅限开发)
- 使用以下设置创建 GKE 集群:
- 确保您使用的是 GKE 默认使用的服务账号、Compute Engine 默认服务账号,并且访问权限范围设置为授予对所有 Cloud API 的完整访问权限(这两种设置均可在节点池 > 安全部分中访问)。
由于 Compute Engine 服务账号由部署在节点上的所有工作负载共享,因此此方法会过度预配权限,并且应该仅用于开发。 - 确保集群上未启用 Workload Identity(在集群 > 安全部分中)。
- 确保您使用的是 GKE 默认使用的服务账号、Compute Engine 默认服务账号,并且访问权限范围设置为授予对所有 Cloud API 的完整访问权限(这两种设置均可在节点池 > 安全部分中访问)。
- 为 Compute Engine 默认服务账号分配必要的角色:
- 如果您尝试访问密文,请按照以下 Secret Manager 专用步骤为您的服务账号设置所需角色。
- 如果使用的是 Compute Engine 默认服务账号,则可能应用了正确的 IAM 角色。
如需查看您可以向身份授予的 IAM 角色类型和预定义角色列表,请参阅了解角色指南。
如需了解授予角色的步骤,请参阅授予、更改和撤消对资源的访问权限。
- 使用以下设置创建 GKE 集群:
- (建议用于生产用途)
- 使用 Workload Identity 配置 GKE 集群和应用,以对 GKE 上的 Google Cloud 服务进行身份验证。此操作会将您的 Kubernetes 服务账号与您的 Google 服务账号相关联。
- 将 Kubernetes 服务账号添加到部署作业中
配置中,导航至运行 > 编辑
Configurations,然后指定您的 Kubernetes 服务
账号(位于服务名称字段中)。
- 如果您尝试访问的 Google Cloud 服务需要其他角色,请为您用于开发应用的 Google 服务账号授予角色。
- 如果您尝试访问密文,请按照以下 Secret Manager 专用步骤为您的服务账号设置所需角色。
如需查看您可以向身份授予的 IAM 角色类型和预定义角色列表,请参阅了解角色指南。
如需了解授予角色的步骤,请参阅授予、更改和撤消对资源的访问权限。
已启用 Secret Manager 权限的远程开发
如果您正在进行远程开发并通过使用服务账号进行身份验证,且您的应用使用密文,则除了 远程开发说明以外,您还需要完成一些其他步骤。以下步骤为您的 Google 服务账号授予访问特定 Secret Manager 密文所需的角色:
如需打开 Secret Manager 工具窗口,请依次点击 Tools > Google Cloud Code > Secret Manager。
选择您希望在代码中访问的密文。
点击权限标签页,然后点击修改修改权限来配置您的 Secret 权限。
Google Cloud 控制台会在网络浏览器的新窗口中打开,其中会显示 Secret 的 Secret Manager 配置页面。
在 Google Cloud 控制台中,点击权限标签页,然后点击 授予访问权限。
在新的主账号字段中,输入您的服务账号。
在选择角色下拉字段中,选择 Secret Manager Secret Accessor 角色。
完成后,点击保存。
您的服务账号有权访问此 Secret。