Información general sobre la API Key Management Service

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