Key Management Service (KMS) API 使用 Kubernetes 自定义资源来管理加密密钥的生命周期。
如需使用 KMS API,请使用 GDC 控制台。如果您的应用使用您自己的库来调用 API,请采用下一部分中的示例服务端点和完整的 API 定义来构建请求:
服务端点和发现文档
KMS API 以两种软件包提供,具体取决于区域部署还是全球部署。
区域级和全局 KMS API 的 API 端点分别如下所示:
https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.gdc.goog/v1https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.global.gdc.goog/v1
MANAGEMENT_API_SERVER_ENDPOINT 变量是 Management API 服务器的端点。
使用 kubectl proxy 命令,在浏览器中访问该网址,以获取 KMS API 的发现文档。kubectl proxy 命令会在本地机器上为 Kubernetes API 服务器打开 127.0.0.1:8001 上的代理。该命令运行后,请访问以下网址中的文档:
http://127.0.0.1:8001/apis/kms.gdc.goog/v1http://127.0.0.1:8001/apis/kms.global.gdc.goog/v1
示例资源
以下是一些示例资源。相应命名空间是项目命名空间。如需详细了解如何创建密钥,请参阅创建和删除密钥页面中的创建密钥部分。
AEADKey 资源
apiVersion: "kms.gdc.goog/v1"
kind: AEADKey
metadata:
name: my-test-key
namespace: user-kms-project
spec:
algorithm: AES_256_GCM
SigningKey 资源
apiVersion: "kms.gdc.goog/v1"
kind: SigningKey
metadata:
name: my-test-key
namespace: user-kms-project
spec:
algorithm: EC_SIGN_P384_SHA384
KeyImport 资源
apiVersion: "kms.gdc.goog/v1"
kind: KeyImport
metadata:
name: my-test-key-import
namespace: user-kms-project
spec:
context:
mechanism: ECDH_P521_AES256
KeyExport 资源
apiVersion: "kms.gdc.goog/v1"
kind: KeyExport
metadata:
name: my-test-key-export
namespace: user-kms-project
spec:
context:
mechanism: ECDH_P521_AES256
publicKey: pub_key_from_import
keyToExport:
kind: AEADKey
name: key_name_to_export
RotationJob 资源
apiVersion: "kms.gdc.goog/v1"
kind: RotationJob
metadata:
name: my-test-rotate-job
spec:
rootKeyResourceName: namespaces/kms-system/secrets/kms-key-ctm-root
MZAEADKey 资源
apiVersion: "kms.global.gdc.goog/v1"
kind: MZAEADKey
metadata:
name: my-test-mz-key
namespace: user-kms-project
spec:
algorithm: AES_256_GCM