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:
- 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.
Establece la variable de entorno
MANAGEMENT_API_SERVER:export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIGReemplaza
PATH_TO_KUBECONFIGpor 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:
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 EOFReemplaza 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.
Verifica la creación de la clave:
kubectl --kubeconfig MANAGEMENT_API_SERVER \ get aeadkey KEY_NAME \ --namespace=PROJECT -o yamlSi la creación de la clave se realiza correctamente, verás el valor
Trueen 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=PROJECTReemplaza 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,
aeadkeypara la claveAEAD. - KEY_NAME: Es el nombre de la clave que deseas borrar, por ejemplo,
key-1. - PROJECT: El nombre del proyecto, por ejemplo,
kms-test1.
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