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 kubectl para acceder al servidor de la API Management y obtener los permisos necesarios.
Configurar el acceso al servidor de la API Management
Configura kubectl para acceder al servidor de la API Management:
- Si aún no lo has hecho, obtén un archivo kubeconfig para el servidor de la API Management mediante la interfaz de línea de comandos (CLI) de gdcloud.
Define la variable de entorno
MANAGEMENT_API_SERVER:export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIGSustituye
PATH_TO_KUBECONFIGpor la ruta del archivo kubeconfig generado.
Permisos obligatorios
Para obtener los permisos que necesitas, pide al administrador de gestión de identidades y accesos de tu organización que te conceda los siguientes roles de KMS en tu proyecto:
- Para crear y enumerar claves, solicita el rol Creador de KMS (
kms-creator). - Para crear, enumerar y 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 EOFSustituye 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 yamlSi la clave se crea correctamente, verás el valor
Trueen 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=PROJECTSustituye 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,
aeadkeypara 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 asegúrate de que no se muestra en la respuesta:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECT