キーの作成と削除

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

始める前に

KMS オペレーションを実行する前に、Management API サーバーにアクセスするように kubectl コマンドを構成します。これを行うには、gdcloud コマンドライン インターフェース(CLI)を使用して、kubeconfig ファイルを取得します。

鍵の作成に必要な権限を取得するには、プロジェクトの KMS 作成者(kms-creator)ロールを付与するよう組織の IAM 管理者に依頼してください。鍵の削除などの追加の権限が必要な場合は、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