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/v1
https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.global.gdc.goog/v1
MANAGEMENT_API_SERVER_ENDPOINT
變數是 Management API 伺服器的端點。
使用 kubectl proxy
指令在瀏覽器中存取網址,取得 KMS API 的探索文件。kubectl proxy
指令會在您本機電腦的 127.0.0.1:8001
上,開啟 Kubernetes API 伺服器的 Proxy。執行該指令後,請前往下列網址存取文件:
http://127.0.0.1:8001/apis/kms.gdc.goog/v1
http://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