Key Management Service(KMS)API は、Kubernetes カスタム リソースを使用して暗号鍵のライフサイクルを管理します。
KMS API を使用するには、GDC コンソールを使用します。アプリケーションで独自のライブラリを使用して API を呼び出す場合は、次のセクションのサービス エンドポイントの例と、リクエストの作成に使用する完全な API 定義を採用します。
サービス エンドポイントとディスカバリ ドキュメント
KMS API は、ゾーン デプロイまたはグローバル デプロイに応じて 2 つのパッケージで提供されます。
ゾーン 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 コマンドを使用して、ブラウザで URL にアクセスし、KMS API のディスカバリ ドキュメントを取得します。kubectl proxy コマンドは、ローカルマシンの 127.0.0.1:8001 から Kubernetes API サーバーへのプロキシを開きます。このコマンドの実行後、次の URL でドキュメントにアクセスします。
http://127.0.0.1:8001/apis/kms.gdc.goog/v1http://127.0.0.1:8001/apis/kms.global.gdc.goog/v1
サンプル リソース
リソースの例を次に示します。Namespace はプロジェクト Namespace です。鍵の作成の詳細については、鍵の作成と削除ページの鍵の作成をご覧ください。
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