我们建议您通过高性能 Google API 客户端库访问 Cloud Key Management Service。这些库连接到 Cloud KMS gRPC API,支持多种主流编程语言。
您也可以通过我们的 REST API 访问 Cloud KMS。因此,任何支持发送 HTTP 请求的语言都可以访问 API。不过,大多数用户更喜欢更惯用的客户端库。
Google Cloud 控制台上的 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 搭配使用,请执行以下操作:
- 向您的 App Engine 服务账号 (
PROJECT_ID@appspot.gserviceaccount.com
) 授予 Identity and Access Management 权限以管理和/或使用密钥。 - 使用应用默认凭据,并指定范围
https://www.googleapis.com/auth/cloudkms
。您还可以指定范围https://www.googleapis.com/auth/cloud-platform
,但它包含的范围比 Cloud KMS 更大。
如需了解详情,请参阅 App Engine 文档中的访问 API 和控制访问权限。
客户端身份验证
如果您的应用需要直接对用户进行身份验证,则可以代表他们获取和使用凭据。如需了解详情,请参阅用户账号。