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:
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
.
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 columnaREADY
.
Eliminar una llave
Este agente debe seguir estos pasos:
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 claveAEAD
. - KEY_NAME: el nombre de la clave que quieras eliminar (por ejemplo,
key-1
). - PROJECT: el nombre del proyecto. Por ejemplo,
kms-test1
.
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