Panoramica dell'API Key Management Service

L'API Key Management Service (KMS) utilizza risorse personalizzate di Kubernetes per gestire il ciclo di vita delle chiavi di crittografia.

Per utilizzare l'API KMS, utilizza la console GDC. Se la tua applicazione utilizza librerie di tua proprietà per chiamare l'API, adotta l'endpoint di servizio di esempio nella sezione seguente e le definizioni complete dell'API per creare le tue richieste:

Endpoint di servizio e documento di rilevamento

Le API KMS sono fornite in due pacchetti a seconda del deployment zonale o globale.

Gli endpoint API per le API KMS globali e zonali sono i seguenti, rispettivamente:

  • https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.gdc.goog/v1
  • https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.global.gdc.goog/v1

La variabile MANAGEMENT_API_SERVER_ENDPOINT è l'endpoint del server API Management.

Utilizzando il comando kubectl proxy, accedi all'URL nel browser per ottenere il documento di rilevamento per l'API KMS. Il comando kubectl proxy apre un proxy su 127.0.0.1:8001 al server API Kubernetes sulla tua macchina locale. Dopo aver eseguito il comando, accedi ai documenti agli URL seguenti:

  • http://127.0.0.1:8001/apis/kms.gdc.goog/v1
  • http://127.0.0.1:8001/apis/kms.global.gdc.goog/v1

Risorse di esempio

Di seguito sono riportate risorse di esempio. Lo spazio dei nomi è uno spazio dei nomi del progetto. Per saperne di più sulla creazione delle chiavi, consulta la sezione Crea una chiave nella pagina Creare ed eliminare chiavi.

Risorsa AEADKey

apiVersion: "kms.gdc.goog/v1"
kind: AEADKey
metadata:
  name: my-test-key
  namespace: user-kms-project
spec:
  algorithm: AES_256_GCM

Risorsa SigningKey

apiVersion: "kms.gdc.goog/v1"
kind: SigningKey
metadata:
  name: my-test-key
  namespace: user-kms-project
spec:
  algorithm: EC_SIGN_P384_SHA384

Risorsa KeyImport

apiVersion: "kms.gdc.goog/v1"
kind: KeyImport
metadata:
  name: my-test-key-import
  namespace: user-kms-project
spec:
  context:
    mechanism: ECDH_P521_AES256

Risorsa 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

Risorsa RotationJob

apiVersion: "kms.gdc.goog/v1"
kind: RotationJob
metadata:
  name: my-test-rotate-job
spec:
  rootKeyResourceName: namespaces/kms-system/secrets/kms-key-ctm-root

Risorsa MZAEADKey

apiVersion: "kms.global.gdc.goog/v1"
kind: MZAEADKey
metadata:
  name: my-test-mz-key
  namespace: user-kms-project
spec:
  algorithm: AES_256_GCM