AO 會透過 kubectl
指令執行金鑰管理作業,存取 Management API 伺服器。
事前準備
執行 KMS 作業前,請先設定 kubectl
指令,存取 Management API 伺服器。如要這麼做,請使用 gdcloud 指令列介面 (CLI)取得 kubeconfig 檔案。
如要取得建立金鑰所需的權限,請要求機構 IAM 管理員授予您專案的 KMS 建立者 (kms-creator
) 角色。如需其他權限 (例如刪除金鑰),請要求 KMS 管理員 (kms-admin
) 角色。
建立金鑰
操作步驟如下:
在專案命名空間中建立金鑰。以下範例會建立
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
欄中看到值。
刪除金鑰
操作步驟如下:
刪除專案命名空間中的金鑰:
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