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