访问 API

客户可以通过我们的 REST API 访问 Cloud Key Management Service。因此,任何支持发送 HTTP 请求的语言都可以访问该 API。但是,许多用户偏好更符合惯例的客户端库。

从长远来看,我们希望客户使用 gRPC 来实现显着的性能提升。但是,一些开发者可能更熟悉现有的 Google API客户端库。因此,我们目前建议使用基于 REST API 构建的库。

Google Cloud Console 上的 Cloud KMS 还有一个基于 Web 的界面,可用于执行行密钥管理操作。无法从网页界面执行加密和解密操作。

我们希望各种语言和平台都能轻松使用 Cloud KMS,并将不断朝这一目标奋进。如果我您有任何不满意的地方,请告诉我们

平台

客户端访问 API 的方式可能会有所不同,具体取决于运行代码的平台,与身份验证有关的方面尤其如此。Google 应用默认凭据排除了许多差异,但仍有一些事项需要牢记。

Compute Engine 和 Google Kubernetes Engine

Compute Engine 上运行的软件(包括 Google Kubernetes Engine 节点)通常使用凭据(系统会使用默认服务帐号将这些凭据自动预配到环境中)进行身份验证。对于 Cloud KMS 也是如此。您只需确保在创建实例时向该实例授予对 https://www.googleapis.com/auth/cloudkms(首选范围,因为它支持最小权限原则)的访问权限或 https://www.googleapis.com/auth/cloud-platform OAuth 范围。

例如:

gcloud compute instances create "instance-1" \
    --zone "us-east1-b" \
    --scopes "https://www.googleapis.com/auth/cloudkms"

如需了解详情,请参阅 Compute Engine 文档GKE 文档

App Engine

如需将 Cloud KMS 与 App Engine 搭配使用,请执行以下操作:

  1. 向您的 App Engine 服务帐号 (PROJECT_NAME@appspot.gserviceaccount.com) 授予 Identity and Access Management 权限以管理和/或使用密钥。
  2. 使用应用默认凭据,并指定范围 https://www.googleapis.com/auth/cloudkms。您还可以指定范围 https://www.googleapis.com/auth/cloud-platform,但它包含的范围比 Cloud KMS 更大。

如需了解详情,请参阅 App Engine 文档中的访问 API控制访问权限

本地生产环境

对于本地生产环境,向 Google Cloud API(包括 Cloud KMS)进行身份验证的推荐方法是使用服务帐号。如需了解如何使用服务帐号,请参阅身份验证入门

客户端验证

如果您的应用需要直接对用户进行身份验证,则可以代表他们获取和使用凭据。如需了解详情,请参阅以最终用户身份进行身份验证

开发者工作站

建议您的开发者工作站也使用服务帐号进行身份验证。如需了解如何使用服务帐号,请参阅身份验证入门

不受 Google 管理的生产环境

对于不受 Google 管理的环境,您需要执行以下操作:

  1. 创建服务帐号。
  2. 下载该服务帐号的 JSON 密钥文件。
  3. 以某种方式将密钥文件提供到生产环境中。
  4. 从代码中的密钥文件加载凭据。

Cloud Identity 文档中详细介绍了此过程。