建立及刪除金鑰

AO 會透過 kubectl 指令執行金鑰管理作業,存取 Management API 伺服器。

事前準備

執行 KMS 作業前,請先設定 kubectl 指令,存取 Management API 伺服器。如要這麼做,請使用 gdcloud 指令列介面 (CLI)取得 kubeconfig 檔案

如要取得建立金鑰所需的權限,請要求機構 IAM 管理員授予您專案的 KMS 建立者 (kms-creator) 角色。如需其他權限 (例如刪除金鑰),請要求 KMS 管理員 (kms-admin) 角色。

建立金鑰

操作步驟如下:

  1. 在專案命名空間中建立金鑰。以下範例會建立 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
    

    如果金鑰建立成功,您會在「READYTrue欄中看到值。

刪除金鑰

操作步驟如下:

  1. 刪除專案命名空間中的金鑰:

    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