El sistema de gestión de claves (KMS) admite diferentes tipos de claves para operaciones criptográficas, como el cifrado, el descifrado, la firma y la verificación. Consulta el artículo Claves admitidas para obtener más información sobre los tipos de claves y los algoritmos disponibles.
Esta página está dirigida a los usuarios del grupo de operadores de aplicaciones, como los equipos de DevOps, que realizan operaciones de gestión de claves en entornos aislados de Google Distributed Cloud (GDC). Para obtener más información, consulta el artículo Audiencias de la documentación de GDC en entornos aislados.
Antes de empezar
Para crear y gestionar claves, solicita los permisos necesarios y prepara tu entorno.
Solicitar roles de gestión de identidades y accesos
Ponte en contacto con el administrador de gestión de identidades y accesos de tu organización para que te asigne los siguientes roles en el espacio de nombres de tu proyecto:
- Creador de KMS (
kms-creator): permite ver y crear recursosAEADKeyySigningKeyen un proyecto. - Administrador de KMS (
kms-admin): permite ver, crear y eliminar claves en un proyecto.
Preparar el entorno
Instala e inicializa la CLI de gdcloud si aún no lo has hecho.
Autentícate en GDC con la CLI gdcloud. Para ello, necesitas el certificado de la autoridad de certificación (AC) de la consola de tu organización:
Descarga el certificado AC:
echo -n | openssl s_client -showcerts -connect CONSOLE_URL:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > CA_CERT_PATHHaz los cambios siguientes:
CONSOLE_URL: la URL de la consola de tu organización (por ejemplo,console.org-1.zone1.google.gdch.test)CA_CERT_PATH: la ruta completa donde quieres guardar el archivo del certificado de la AC (por ejemplo,/tmp/my-org-ca.crt)
Inicia sesión con el certificado de la AC que has descargado:
gdcloud auth login --login-config-cert=CA_CERT_PATH
Obtén un archivo kubeconfig para el servidor de la API de gestión con la CLI gdcloud.
Crear una clave
Puedes crear claves para diferentes fines criptográficos.
Crear una clave AEAD
Para realizar un cifrado autenticado con datos asociados (AEAD), crea un recurso AEADKey en el espacio de nombres de tu proyecto:
kubectl --kubeconfig KUBECONFIG_PATH \
apply -f - << EOF
apiVersion: "kms.gdc.goog/v1"
kind: AEADKey
metadata:
name: KEY_NAME
namespace: PROJECT
spec:
algorithm: AES_256_GCM
EOF
Haz los cambios siguientes:
KUBECONFIG_PATH: la ruta del archivo kubeconfig del servidor de la API de gestiónKEY_NAME: un nombre para la clave AEAD que quieres crear (por ejemplo,key-1)PROJECT: el nombre del proyecto (por ejemplo,kms-test1)
Crear una clave de firma
Para firmar y verificar datos, crea un recurso SigningKey en el espacio de nombres de tu proyecto:
kubectl --kubeconfig KUBECONFIG_PATH \
apply -f - << EOF
apiVersion: "kms.gdc.goog/v1"
kind: SigningKey
metadata:
name: KEY_NAME
namespace: PROJECT
spec:
algorithm: EC_SIGN_P384_SHA384
EOF
Haz los cambios siguientes:
KUBECONFIG_PATH: la ruta del archivo kubeconfig del servidor de la API de gestiónKEY_NAME: un nombre para la clave de firma que quieres crear (por ejemplo,key-1)PROJECT: el nombre del proyecto (por ejemplo,kms-test1)
Verificar la creación de una clave
Después de crear una clave, comprueba que la operación se haya realizado correctamente y que el recurso de clave esté listo.
Verificar la creación de una clave AEAD
Comprueba el estado de una clave AEAD:
kubectl --kubeconfig KUBECONFIG_PATH \
get aeadkey KEY_NAME \
--namespace=PROJECT -o yaml
Haz los cambios siguientes:
KUBECONFIG_PATH: la ruta del archivo kubeconfig del servidor de la API de gestiónKEY_NAME: el nombre de la clave AEAD que quieres verificar (por ejemplo,key-1)PROJECT: el nombre del proyecto (por ejemplo,kms-test1)
Si la clave se ha creado correctamente, comprueba que la condición Ready tenga el estado True en el resultado.
Verificar la creación de una clave de firma
Comprueba el estado de una clave de firma:
kubectl --kubeconfig KUBECONFIG_PATH \
get signingkey KEY_NAME \
--namespace=PROJECT -o yaml
Haz los cambios siguientes:
KUBECONFIG_PATH: la ruta del archivo kubeconfig del servidor de la API de gestiónKEY_NAME: el nombre de la clave de firma que quieres verificar (por ejemplo,key-1)PROJECT: el nombre del proyecto (por ejemplo,kms-test1)
Si la clave se ha creado correctamente, comprueba que la condición Ready tenga el estado True en el resultado.
Eliminar una clave
Para eliminar un recurso de clave, especifica el tipo y el nombre de la clave.
Elimina la clave en el espacio de nombres del proyecto:
kubectl --kubeconfig KUBECONFIG_PATH \ delete KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECTHaz los cambios siguientes:
KUBECONFIG_PATH: la ruta del archivo kubeconfig del servidor de la API de gestiónKEY_PRIMITIVE: el tipo de recurso de clave que quieres eliminar (por ejemplo,aeadkeypara la clave AEAD osigningkeypara la clave de firma)KEY_NAME: el nombre de la clave que quieres eliminar (por ejemplo,key-1)PROJECT: el nombre del proyecto (por ejemplo,kms-test1)
Para verificar que la clave se ha eliminado, intenta recuperarla:
kubectl --kubeconfig KUBECONFIG_PATH \ get KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECTSi la clave se ha eliminado correctamente, el comando no devolverá el objeto de clave.