L'AO effectue des opérations de signature et de validation via Google Distributed Cloud (GDC) air-gapped au KMS via un client gRPC.
Avant de commencer
Avant d'effectuer des opérations KMS, configurez kubectl pour accéder au serveur de l'API Management et obtenir les autorisations nécessaires.
Configurer l'accès au serveur de l'API Management
Configurez kubectl pour accéder au serveur de l'API Management :
- Si vous ne l'avez pas déjà fait, obtenez un fichier kubeconfig pour le serveur d'API Management à l'aide de l'interface de ligne de commande (CLI) gdcloud.
Définissez la variable d'environnement
MANAGEMENT_API_SERVER:export MANAGEMENT_API_SERVER=PATH_TO_KUBECONFIGRemplacez
PATH_TO_KUBECONFIGpar le chemin d'accès au fichier kubeconfig généré.Si vous ne l'avez pas déjà fait, téléchargez, installez et configurez la gdcloud CLI. Pour ce faire, consultez la présentation de la gdcloud CLI.
Autorisations requises
Pour obtenir les autorisations nécessaires, demandez à votre administrateur IAM de l'organisation de vous accorder le rôle Développeur KMS (kms-developer) dans votre projet.
Signer des données
Pour signer des données, utilisez la commande gdcloud kms keys asymmetric-sign. Cette commande crée une signature numérique d'un fichier d'entrée à l'aide de la clé Signing et enregistre la signature encodée en base64.
Pour signer vos données, transmettez le nom de la clé et les éléments suivants :
gdcloud kms keys asymmetric-sign \ namespaces/NAMESPACE/signingKeys/KEY_NAME \ --input-file=INPUT_PATH \ --signature-file=SIGNATURE_FILERemplacez les variables suivantes :
- NAMESPACE : espace de noms du projet, par exemple,
kms-test1. - KEY_NAME : nom de la clé utilisée pour la signature (par exemple,
key-1). - INPUT_PATH : chemin d'accès au fichier d'entrée que vous souhaitez signer.
- SIGNATURE_FILE : chemin d'accès au fichier de sortie dans lequel enregistrer la signature encodée en base64.
Une fois la commande exécutée, un fichier de sortie s'affiche. Il s'agit de celui que vous avez spécifié dans l'indicateur
--signature-fileet qui contient la signature encodée en base64.- NAMESPACE : espace de noms du projet, par exemple,
Vérifier les données
Après avoir signé vos données, vérifiez la signature numérique base64 à l'aide de la commande gdcloud kms keys asymmetric-verify. Cette commande permet de vérifier si la signature numérique encodée en base64 que vous recevez après avoir exécuté la commande gdcloud kms keys asymmetric-sign est valide.
Pour valider la signature, transmettez le fichier de signature et les éléments suivants :
gdcloud kms keys asymmetric-verify \ namespaces/NAMESPACE/signingKeys/KEY_NAME \ --input-file=INPUT_PATH \ --signature-file=SIGNATURE_FILEUne fois la commande exécutée, le résultat
Verification OKs'affiche en cas de succès. En cas d'échec, le résultatVerification Failures'affiche.