L'API Key Management Service (KMS) utilise des ressources personnalisées Kubernetes pour gérer le cycle de vie des clés de chiffrement.
Pour utiliser l'API KMS, utilisez la console GDC. Si votre application utilise vos propres bibliothèques pour appeler l'API, adoptez l'exemple de point de terminaison de service dans la section suivante et les définitions d'API complètes pour créer vos requêtes :
Point de terminaison du service et document de découverte
Les API KMS sont fournies dans deux packages selon le déploiement zonal ou global.
Les points de terminaison de l'API pour les API KMS zonales et globales sont les suivants :
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
est le point de terminaison du serveur de l'API Management.
À l'aide de la commande kubectl proxy
, accédez à l'URL dans votre navigateur pour obtenir le document de découverte de l'API KMS. La commande kubectl proxy
ouvre un proxy sur 127.0.0.1:8001
vers le serveur d'API Kubernetes sur votre machine locale. Une fois cette commande exécutée, accédez aux documents aux URL suivantes :
http://127.0.0.1:8001/apis/kms.gdc.goog/v1
http://127.0.0.1:8001/apis/kms.global.gdc.goog/v1
Exemples de ressources
Voici des exemples de ressources. L'espace de noms est un espace de noms de projet. Pour en savoir plus sur la création de clés, consultez la section Créer une clé de la page Créer et supprimer des clés.
Ressource AEADKey
apiVersion: "kms.gdc.goog/v1"
kind: AEADKey
metadata:
name: my-test-key
namespace: user-kms-project
spec:
algorithm: AES_256_GCM
Ressource SigningKey
apiVersion: "kms.gdc.goog/v1"
kind: SigningKey
metadata:
name: my-test-key
namespace: user-kms-project
spec:
algorithm: EC_SIGN_P384_SHA384
Ressource KeyImport
apiVersion: "kms.gdc.goog/v1"
kind: KeyImport
metadata:
name: my-test-key-import
namespace: user-kms-project
spec:
context:
mechanism: ECDH_P521_AES256
Ressource 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
Ressource RotationJob
apiVersion: "kms.gdc.goog/v1"
kind: RotationJob
metadata:
name: my-test-rotate-job
spec:
rootKeyResourceName: namespaces/kms-system/secrets/kms-key-ctm-root
Ressource MZAEADKey
apiVersion: "kms.global.gdc.goog/v1"
kind: MZAEADKey
metadata:
name: my-test-mz-key
namespace: user-kms-project
spec:
algorithm: AES_256_GCM