AO は、kubectl コマンドを使用して Management API サーバーにアクセスし、鍵管理オペレーションを実行します。
始める前に
KMS オペレーションを実行する前に、Management API サーバーにアクセスして必要な権限を取得するように kubectl を構成します。
Management API サーバー アクセスを構成する
Management API サーバーにアクセスするように kubectl を構成します。
- まだ行っていない場合は、gdcloud コマンドライン インターフェース(CLI)を使用して、Management API サーバーの kubeconfig ファイルを取得します。
MANAGEMENT_API_SERVER環境変数を設定します。export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIGPATH_TO_KUBECONFIGは、生成された kubeconfig ファイルのパスに置き換えます。
必要な権限
必要な権限を取得するには、組織の IAM 管理者に、プロジェクトに対する次の KMS ロールの付与を依頼します。
- 鍵を作成して一覧表示するには、KMS 作成者(
kms-creator)ロールをリクエストします。 - 鍵の作成、一覧表示、削除を行うには、KMS 管理者(
kms-admin)ロールをリクエストします。
キーを作成
次の手順を行います。
プロジェクト Namespace にキーを作成します。次の例では、
AEAD鍵を作成します。kubectl --kubeconfig MANAGEMENT_API_SERVER \ apply -f - << EOF apiVersion: "kms.gdc.goog/v1" kind: AEADKey metadata: name: KEY_NAME namespace: PROJECT spec: algorithm: AES_256_GCM EOF次の変数を置き換えます。
- MANAGEMENT_API_SERVER: Management API サーバーの kubeconfig ファイル。kubeconfig ファイルがない場合は、ログインして生成します。
- KEY_NAME: 作成する鍵の名前(例:
key-1)。 - PROJECT: プロジェクトの名前(例:
kms-test1)。
鍵の作成を確認します。
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get aeadkey KEY_NAME \ --namespace=PROJECT -o yamlキーの作成が成功すると、
READY列に値Trueが表示されます。
キーを削除する
次の手順を行います。
プロジェクトの Namespace でキーを削除します。
kubectl --kubeconfig MANAGEMENT_API_SERVER \ delete KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECT次の変数を置き換えます。
- MANAGEMENT_API_SERVER: Management API サーバーの kubeconfig ファイル。kubeconfig ファイルがない場合は、ログインして生成します。
- KEY_PRIMITIVE: 削除するキー(例:
AEADキーの場合はaeadkey)。 - KEY_NAME: 削除する鍵の名前(例:
key-1)。 - PROJECT: プロジェクトの名前(例:
kms-test1)。
鍵の削除を確認し、戻り値に鍵が表示されないことを確認します。
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECT