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 le tue librerie per chiamare l'API, adotta l'endpoint di servizio di esempio nella sezione seguente e le definizioni API complete 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 di zona sono i seguenti, rispettivamente:
https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.gdc.goog/v1https://MANAGEMENT_API_SERVER_ENDPOINT/apis/kms.global.gdc.goog/v1
La variabile MANAGEMENT_API_SERVER_ENDPOINT è l'endpoint del server dell'API di gestione.
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/v1http://127.0.0.1:8001/apis/kms.global.gdc.goog/v1
Risorse di esempio
Di seguito sono riportate alcune risorse di esempio. Lo spazio dei nomi è uno spazio dei nomi del progetto. Per
maggiori informazioni sulla creazione e la gestione delle risorse AEADKey e SigningKey
in uno spazio dei nomi del progetto, consulta
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