Crear y borrar claves

El AO realiza operaciones de administración de claves a través del comando kubectl para acceder al servidor de la API de Management.

Antes de comenzar

Antes de realizar operaciones de KMS, configura kubectl para acceder al servidor de la API de Management y obtener los permisos necesarios.

Configura el acceso al servidor de la API de Management

Configura kubectl para acceder al servidor de la API de Management:

  1. Si aún no lo hiciste, obtén un archivo kubeconfig para el servidor de la API de Management con la interfaz de línea de comandos (CLI) de gdcloud.
  2. Establece la variable de entorno MANAGEMENT_API_SERVER:

    export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIG
    

    Reemplaza PATH_TO_KUBECONFIG por la ruta de acceso del archivo kubeconfig generado.

Permisos necesarios

Para obtener los permisos que necesitas, pídele al administrador de IAM de tu organización que te otorgue los siguientes roles de KMS en tu proyecto:

  • Para crear y enumerar claves, solicita el rol de KMS Creator (kms-creator).
  • Para crear, enumerar y borrar claves, solicita el rol de administrador de KMS (kms-admin).

Crear una clave

Completa los siguientes 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
    

    Reemplaza las siguientes variables:

    • MANAGEMENT_API_SERVER: Es el archivo kubeconfig del servidor de la API de administración. Accede y genera el archivo kubeconfig si no tienes uno.
    • KEY_NAME: Es un nombre para la clave que deseas crear, por ejemplo, key-1.
    • PROJECT: El nombre del proyecto, por ejemplo, kms-test1.
  2. Verifica la creación de la clave:

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

    Si la creación de la clave se realiza correctamente, verás el valor True en la columna READY.

Borra una clave

Completa los siguientes pasos:

  1. Borra la clave en el espacio de nombres del proyecto:

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

    Reemplaza las siguientes variables:

    • MANAGEMENT_API_SERVER: Es el archivo kubeconfig del servidor de la API de administración. Accede y genera el archivo kubeconfig si no tienes uno.
    • KEY_PRIMITIVE: La clave que deseas borrar, por ejemplo, aeadkey para la clave AEAD.
    • KEY_NAME: Es el nombre de la clave que deseas borrar, por ejemplo, key-1.
    • PROJECT: El nombre del proyecto, por ejemplo, kms-test1.
  2. Verifica el borrado de la clave y asegúrate de que no la veas en la respuesta:

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