Crear y eliminar claves

El AO realiza operaciones de gestión de claves mediante el comando kubectl para acceder al servidor de la API Management.

Antes de empezar

Antes de realizar operaciones de KMS, configura el comando kubectl para acceder al servidor de la API Management. Para ello, obtén un archivo kubeconfig con la interfaz de línea de comandos (CLI) de gdcloud.

Para obtener los permisos que necesitas para crear claves, pide al administrador de gestión de identidades y accesos de tu organización que te conceda el rol Creador de KMS (kms-creator) en tu proyecto. Si necesitas privilegios adicionales, como eliminar claves, solicita el rol Administrador de KMS (kms-admin).

Crear clave

Este agente debe seguir estos pasos:

  1. Crea una clave en el espacio de nombres del proyecto. En el siguiente ejemplo se crea la clave 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
    

    Sustituye las siguientes variables:

    • MANAGEMENT_API_SERVER: el archivo kubeconfig del servidor de la API Management. Inicia sesión y genera el archivo kubeconfig si no tienes uno.
    • KEY_NAME: el nombre de la clave que quieras crear (por ejemplo, key-1).
    • PROJECT: el nombre del proyecto. Por ejemplo, kms-test1.
  2. Verifica que se haya creado la clave:

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

    Si la clave se crea correctamente, verás el valor True en la columna READY.

Eliminar una llave

Este agente debe seguir estos pasos:

  1. Elimina la clave del espacio de nombres del proyecto:

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

    Sustituye las siguientes variables:

    • MANAGEMENT_API_SERVER: el archivo kubeconfig del servidor de la API Management. Inicia sesión y genera el archivo kubeconfig si no tienes uno.
    • KEY_PRIMITIVE: la clave que quieras eliminar. Por ejemplo, aeadkey para la clave AEAD.
    • KEY_NAME: el nombre de la clave que quieras eliminar (por ejemplo, key-1).
    • PROJECT: el nombre del proyecto. Por ejemplo, kms-test1.
  2. Verifica que se ha eliminado la clave y que no aparece en la respuesta:

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