El sistema de administración de claves (KMS) admite diferentes tipos de claves para operaciones criptográficas, como encriptación, desencriptación, firma y verificación. Consulta Claves admitidas para obtener más información sobre los tipos y algoritmos de claves disponibles.
Esta página está dirigida a los públicos que pertenecen al grupo de operadores de aplicaciones, como los equipos de DevOps, cuando realizan operaciones de administración de claves en Google Distributed Cloud (GDC) aislado. Para obtener más información, consulta Públicos de la documentación de Google Distributed Cloud aislado.
Antes de comenzar
Para crear y administrar claves, solicita los permisos necesarios y prepara tu entorno.
Solicita roles de IAM
Comunícate con el administrador de IAM de tu organización para que te otorgue los siguientes roles en el espacio de nombres de tu proyecto:
- Creador de KMS (
kms-creator): Puede ver y crear recursosAEADKeyySigningKeydentro de un proyecto. - Administrador de KMS (
kms-admin): Puede ver, crear y borrar claves dentro de un proyecto.
Prepara el entorno
Instala e inicializa la CLI de gcloud, si aún no lo hiciste.
Autentícate en GDC con la CLI de gdcloud. Este proceso requiere el certificado de la autoridad certificadora (AC) de la consola de tu organización:
Descarga el certificado de la CA:
echo -n | openssl s_client -showcerts -connect CONSOLE_URL:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > CA_CERT_PATHReemplaza lo siguiente:
CONSOLE_URL: URL de la consola de tu organización (comoconsole.org-1.zone1.google.gdch.test)CA_CERT_PATH: Es la ruta de acceso completa en la que deseas guardar el archivo del certificado de CA (por ejemplo,/tmp/my-org-ca.crt).
Accede con el certificado de CA descargado:
gdcloud auth login --login-config-cert=CA_CERT_PATH
Obtén un archivo kubeconfig para el servidor de la API de Management con la CLI de gdcloud.
Crear una clave
Puedes crear claves para diferentes fines criptográficos.
Crea una clave AEAD
Para realizar la encriptación autenticada 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
Reemplaza lo siguiente:
KUBECONFIG_PATH: Es la ruta de acceso al archivo kubeconfig del servidor de la API de administración.KEY_NAME: Un nombre para la clave AEAD que deseas crear, por ejemplo,key-1PROJECT: Es el nombre del proyecto, por ejemplo,kms-test1.
Crea 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
Reemplaza lo siguiente:
KUBECONFIG_PATH: Es la ruta de acceso al archivo kubeconfig del servidor de la API de administración.KEY_NAME: Un nombre para la clave de firma que deseas crear, por ejemplo,key-1PROJECT: Es el nombre del proyecto, por ejemplo,kms-test1.
Verifica la creación de la clave
Después de crear una clave, verifica que la operación se haya realizado correctamente y que el recurso de clave esté listo.
Verifica la creación de la clave AEAD
Verifica el estado de una clave AEAD:
kubectl --kubeconfig KUBECONFIG_PATH \
get aeadkey KEY_NAME \
--namespace=PROJECT -o yaml
Reemplaza lo siguiente:
KUBECONFIG_PATH: Es la ruta de acceso al archivo kubeconfig del servidor de la API de administración.KEY_NAME: Es el nombre de la clave AEAD que se verificará, por ejemplo,key-1.PROJECT: Es el nombre del proyecto, por ejemplo,kms-test1.
Si la creación de la clave se realizó correctamente, verifica el resultado para obtener una condición Ready con el estado True.
Verifica la creación de la clave de firma
Verifica el estado de una clave de firma:
kubectl --kubeconfig KUBECONFIG_PATH \
get signingkey KEY_NAME \
--namespace=PROJECT -o yaml
Reemplaza lo siguiente:
KUBECONFIG_PATH: Es la ruta de acceso al archivo kubeconfig del servidor de la API de administración.KEY_NAME: Es el nombre de la clave de firma que se verificará, por ejemplo,key-1.PROJECT: Es el nombre del proyecto, por ejemplo,kms-test1.
Si la creación de la clave se realizó correctamente, verifica el resultado para obtener una condición Ready con el estado True.
Borra una clave
Para borrar un recurso de clave, especifica el tipo y el nombre de la clave.
Borra la clave en el espacio de nombres del proyecto:
kubectl --kubeconfig KUBECONFIG_PATH \ delete KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECTReemplaza lo siguiente:
KUBECONFIG_PATH: Es la ruta de acceso al archivo kubeconfig del servidor de la API de Management.KEY_PRIMITIVE: Es el tipo de recurso de clave que deseas borrar, comoaeadkeypara la clave AEAD osigningkeypara la clave de firma.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 la eliminación de la clave intentando recuperarla:
kubectl --kubeconfig KUBECONFIG_PATH \ get KEY_PRIMITIVE KEY_NAME \ --namespace=PROJECTSi la clave se borró correctamente, el comando no devolverá el objeto de clave.