キーの作成と削除

AO は、kubectl コマンドを使用して Management API サーバーにアクセスし、鍵管理オペレーションを実行します。

始める前に

KMS オペレーションを実行する前に、Management API サーバーにアクセスして必要な権限を取得するように kubectl を構成します。

Management API サーバー アクセスを構成する

Management API サーバーにアクセスするように kubectl を構成します。

  1. まだ行っていない場合は、gdcloud コマンドライン インターフェース(CLI)を使用して、Management API サーバーの kubeconfig ファイルを取得します。
  2. MANAGEMENT_API_SERVER 環境変数を設定します。

    export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIG
    

    PATH_TO_KUBECONFIG は、生成された kubeconfig ファイルのパスに置き換えます。

必要な権限

必要な権限を取得するには、組織の IAM 管理者に、プロジェクトに対する次の KMS ロールの付与を依頼します。

  • 鍵を作成して一覧表示するには、KMS 作成者(kms-creator)ロールをリクエストします。
  • 鍵の作成、一覧表示、削除を行うには、KMS 管理者(kms-admin)ロールをリクエストします。

キーを作成

次の手順を行います。

  1. プロジェクト 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)。
  2. 鍵の作成を確認します。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get aeadkey KEY_NAME \
      --namespace=PROJECT -o yaml
    

    キーの作成が成功すると、READY 列に値 True が表示されます。

キーを削除する

次の手順を行います。

  1. プロジェクトの 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)。
  2. 鍵の削除を確認し、戻り値に鍵が表示されないことを確認します。

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      get KEY_PRIMITIVE  KEY_NAME \
      --namespace=PROJECT