Descripción general de la API de Key Management Service

La API de Key Management Service (KMS) usa recursos personalizados de Kubernetes para administrar el ciclo de vida de las claves criptográficas.

Para usar la API de KMS, usa la consola de GDC. Si tu aplicación usa tus propias bibliotecas para llamar a la API, adopta el extremo de servicio de ejemplo en la siguiente sección y las definiciones completas de la API para compilar tus solicitudes:

Extremo de servicio y documento de descubrimiento

Las APIs de KMS se proporcionan en dos paquetes según la implementación zonal o global.

Los extremos de API para 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 extremo del servidor de la API de Management.

Con el comando kubectl proxy, accede a la URL en tu navegador para obtener el documento de descubrimiento de la API de KMS. El comando kubectl proxy abre un proxy en 127.0.0.1:8001 para el servidor de la API de Kubernetes en tu máquina local. Después de que se ejecute 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

Los siguientes son recursos de muestra. El espacio de nombres es un espacio de nombres del proyecto. Consulta la sección Crea una clave en la página Crea y borra 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