Les signatures numériques permettent de garantir l'intégrité et l'authenticité des données. Ce document explique comment utiliser la CLI gdcloud pour signer des données et valider des signatures à l'aide de clés asymétriques gérées par le système de gestion des clés (KMS).
Cette page s'adresse aux audiences du groupe d'opérateurs d'applications, telles que les équipes DevOps, lorsqu'elles effectuent des opérations de gestion des clés dans Google Distributed Cloud (GDC) sous air gap. Pour en savoir plus, consultez la documentation sur les audiences pour GDC sous air gap.
Avant de commencer
Pour signer et valider des données à l'aide de clés, demandez les autorisations nécessaires, préparez votre environnement et créez une clé de signature si vous n'en avez pas déjà une.
Demander des rôles IAM
Contactez l'administrateur IAM de votre organisation pour qu'il vous attribue le rôle suivant dans l'espace de noms de votre projet :
- Développeur KMS (
kms-developer) : permet d'afficher les clés et d'effectuer des opérations de chiffrement, de déchiffrement, de signature et de validation des données dans un projet.
Préparer votre environnement
Installez et initialisez la CLI gdcloud, si vous ne l'avez pas déjà fait.
Authentifiez-vous auprès de GDC à l'aide de la CLI gdcloud. Ce processus nécessite le certificat de l'autorité de certification (CA) pour la console de votre organisation :
Téléchargez le certificat CA :
echo -n | openssl s_client -showcerts -connect CONSOLE_URL:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > CA_CERT_PATHRemplacez les éléments suivants :
CONSOLE_URL: URL de la console de votre organisation (par exemple,console.org-1.zone1.google.gdch.test)CA_CERT_PATH: chemin d'accès complet où vous souhaitez enregistrer le fichier de certificat CA (par exemple,/tmp/my-org-ca.crt)
Connectez-vous à l'aide du certificat CA téléchargé :
gdcloud auth login --login-config-cert=CA_CERT_PATH
Vérifier qu'une clé de signature existe
Pour signer et valider des données, vous devez utiliser une clé de signature. La création et la validation de clés nécessitent des autorisations IAM distinctes, comme indiqué sur les pages associées.
- Si vous devez créer une clé de signature, suivez les instructions de la section Créer une clé de signature.
- Pour vérifier qu'une clé de signature existe, suivez les instructions de la section Vérifier la création d'une clé de signature.
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 d'une clé de signature et enregistre la signature encodée en base64 :
gdcloud kms keys asymmetric-sign \
namespaces/NAMESPACE/signingKeys/KEY_NAME \
--input-file=INPUT_PATH \
--signature-file=SIGNATURE_FILE
Remplacez les éléments suivants :
- 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 pour enregistrer la signature encodée en base64
Après avoir exécuté la commande, vous voyez un fichier de sortie que vous avez spécifié dans l'indicateur --signature-file et qui contient la signature encodée en base64.
Valider des données
Après avoir signé vos données, validez la signature numérique base64 à l'aide de la commande gdcloud kms keys asymmetric-verify. Cette commande vérifie 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 ou non :
gdcloud kms keys asymmetric-verify \
namespaces/NAMESPACE/signingKeys/KEY_NAME \
--input-file=INPUT_PATH \
--signature-file=SIGNATURE_FILE
Remplacez les éléments suivants :
- 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 d'origine qui a été signé
- SIGNATURE_FILE : chemin d'accès au fichier contenant la signature encodée en base64 à valider
Une fois la commande exécutée, le résultat Verification OK s'affiche en cas de réussite. En cas d'échec, le résultat Verification Failure s'affiche.