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 el comando kubectl
para acceder al servidor de la API de 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, pídele al administrador de IAM de tu organización que te otorgue el rol de creador de KMS (kms-creator
) en tu proyecto. Si necesitas privilegios adicionales, como borrar claves, solicita el rol de administrador de KMS (kms-admin
).
Crear una clave
Completa los siguientes 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
Reemplaza las siguientes variables:
- MANAGEMENT_API_SERVER: Es el archivo kubeconfig del servidor de la API de Management. 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: Es el nombre del proyecto, por ejemplo,
kms-test1
.
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 columnaREADY
.
Borra una clave
Completa los siguientes pasos:
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 Management. Accede y genera el archivo kubeconfig si no tienes uno.
- KEY_PRIMITIVE: La clave que deseas borrar, por ejemplo,
aeadkey
para la claveAEAD
. - KEY_NAME: Es el nombre de la clave que deseas borrar, por ejemplo,
key-1
. - PROJECT: Es el nombre del proyecto, por ejemplo,
kms-test1
.
Verifica que se haya borrado la clave y asegúrate de que no aparezca en la respuesta:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECT