La API Key Management Service (KMS) usa recursos personalizados de Kubernetes para gestionar el ciclo de vida de las claves criptográficas.
Para usar la API de KMS, utiliza la consola de GDC. Si tu aplicación usa tus propias bibliotecas para llamar a la API, adopta el endpoint de servicio de ejemplo de la siguiente sección y las definiciones completas de la API para crear tus solicitudes:
Punto de conexión de servicio y documento de descubrimiento
Las APIs de KMS se proporcionan en dos paquetes en función de la implementación zonal o global.
Los puntos de conexión de las APIs de KMS zonales y globales son los siguientes, respectivamente:
https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.gdc.goog/v1
https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.global.gdc.goog/v1
La variable MANAGEMENT_API_SERVER_ENDPOINT
es el endpoint del servidor de la API Management.
Con el comando kubectl proxy
, accede a la URL en tu navegador para obtener el documento de descubrimiento de la API KMS. El comando kubectl proxy
abre un proxy en 127.0.0.1:8001
al servidor de la API de Kubernetes en tu máquina local. Una vez que se haya ejecutado ese comando, accede a los documentos en las siguientes URLs:
http://127.0.0.1:8001/apis/kms.gdc.goog/v1
http://127.0.0.1:8001/apis/kms.global.gdc.goog/v1
Recursos de ejemplo
Estos son algunos recursos de ejemplo. El espacio de nombres es un espacio de nombres de proyecto. Consulta la sección Crear una clave de la página Crear y eliminar claves para obtener más información sobre cómo crear claves.
Recurso AEADKey
apiVersion: "kms.gdc.goog/v1"
kind: AEADKey
metadata:
name: my-test-key
namespace: user-kms-project
spec:
algorithm: AES_256_GCM
Recurso SigningKey
apiVersion: "kms.gdc.goog/v1"
kind: SigningKey
metadata:
name: my-test-key
namespace: user-kms-project
spec:
algorithm: EC_SIGN_P384_SHA384
Recurso KeyImport
apiVersion: "kms.gdc.goog/v1"
kind: KeyImport
metadata:
name: my-test-key-import
namespace: user-kms-project
spec:
context:
mechanism: ECDH_P521_AES256
Recurso KeyExport
apiVersion: "kms.gdc.goog/v1"
kind: KeyExport
metadata:
name: my-test-key-export
namespace: user-kms-project
spec:
context:
mechanism: ECDH_P521_AES256
publicKey: pub_key_from_import
keyToExport:
kind: AEADKey
name: key_name_to_export
Recurso RotationJob
apiVersion: "kms.gdc.goog/v1"
kind: RotationJob
metadata:
name: my-test-rotate-job
spec:
rootKeyResourceName: namespaces/kms-system/secrets/kms-key-ctm-root
Recurso MZAEADKey
apiVersion: "kms.global.gdc.goog/v1"
kind: MZAEADKey
metadata:
name: my-test-mz-key
namespace: user-kms-project
spec:
algorithm: AES_256_GCM