创建和删除密钥

AO 通过 kubectl 命令执行密钥管理操作,以访问管理 API 服务器。

准备工作

在执行 KMS 操作之前,请配置 kubectl 命令以访问 Management API 服务器。为此,请使用 gdcloud 命令行界面 (CLI) 获取 kubeconfig 文件

如需获得创建密钥所需的权限,请让您的组织 IAM 管理员为您授予项目的 KMS Creator (kms-creator) 角色。如果您需要其他权限(例如删除密钥),请申请 KMS Admin (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:管理 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. 删除项目命名空间中的键:

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

    执行以下变量替换操作:

    • MANAGEMENT_API_SERVER:管理 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