La API de servicio de administración de claves (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 del 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 las APIs de KMS zonales y globales son los siguientes, respectivamente:
https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.gdc.goog/v1https://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/v1http://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. Para obtener más información sobre cómo crear y administrar recursos AEADKey y SigningKey en un espacio de nombres del proyecto, consulta Crea y borra 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