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