Cette page vous explique comment récupérer la partie clé publique d'une version de clé asymétrique.
La clé publique est au format PEM (Privacy-enhanced Electronic Mail). Pour en savoir plus, consultez les sections de la RFC 7468 intitulées General Considerations (Remarques générales) et Textual Encoding of Subject Public Key Info (Encodage textuel des informations sur la clé publique de l'objet).
Rôles requis
Pour obtenir les autorisations dont vous avez
besoin pour récupérer une clé publique,
demandez à votre administrateur de vous accorder le
Rôle IAM Lecteur de clé publique de CryptoKey Cloud KMS (roles/cloudkms.publicKeyViewer
) sur votre clé ou une ressource parente.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient les autorisations requises pour récupérer une clé publique. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour récupérer une clé publique:
-
cloudkms.cryptoKeyVersions.viewPublicKey
-
cloudkms.locations.get
-
cloudkms.locations.list
-
resourcemanager.projects.get
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Récupérer une clé publique
Pour télécharger la clé publique d'une version de clé asymétrique activée, procédez comme suit:
Console
Dans la console Google Cloud, accédez à la page Gestion des clés.
Cliquez sur le nom du trousseau de clés contenant la clé asymétrique pour laquelle vous souhaitez récupérer la clé publique.
Cliquez sur le nom de la clé pour laquelle vous souhaitez récupérer la clé publique.
Sur la ligne correspondant à la version de clé pour laquelle vous souhaitez récupérer la clé publique, cliquez sur View more (Afficher plus)
.Cliquez sur Get the public key (Obtenir la clé publique).
La clé publique s'affiche dans l'invite. Vous pouvez copier la clé publique dans votre presse-papiers. Pour télécharger la clé publique, cliquez sur Download (Télécharger).
Si l'option Get public key (Obtenir la clé publique) ne s'affiche pas, vérifiez les points suivants:
- La clé est une clé asymétrique.
- La version de clé est activée.
- Vous disposez de l'autorisation
cloudkms.cryptoKeyVersions.viewPublicKey
.
Le nom de fichier d'une clé publique téléchargée depuis la console Google Cloud est au format suivant:
KEY_RING-KEY_NAME-KEY_VERSION.pub
Chaque partie du nom de fichier est séparée par un trait d'union, par exemple
ringname-keyname-version.pub
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par Installez la dernière version de Google Cloud CLI.
gcloud kms keys versions get-public-key KEY_VERSION \ --key KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --output-file OUTPUT_FILE_PATH
Remplacez les éléments suivants :
KEY_VERSION
: numéro de version de la cléKEY_NAME
: nom de la clé.KEY_RING
: nom du trousseau de clés contenant la clé.LOCATION
: emplacement Cloud KMS du trousseau de clésOUTPUT_FILE_PATH
: chemin d'accès où vous souhaitez enregistrer le fichier de clé publique, par exemplepublic-key.pub
.
Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option --help
.
C#
Pour exécuter ce code, commencez par configurer un environnement de développement C#, puis installez le SDK Cloud KMS pour C#.
Go
Pour exécuter ce code, commencez par configurer un environnement de développement Go, puis installez le SDK Cloud KMS pour Go.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Cloud KMS pour Java.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Cloud KMS pour Node.js.
PHP
Pour exécuter ce code, commencez par en apprendre plus sur l'utilisation de PHP sur Google Cloud, puis installez le SDK Cloud KMS pour PHP.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python, puis installez le SDK Cloud KMS pour Python.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby, puis installez le SDK Cloud KMS pour Ruby.
API
Ces exemples utilisent curl comme client HTTP pour démontrer l'utilisation de l'API. Pour en savoir plus sur le contrôle des accès, consultez la page Accéder à l'API Cloud KMS.
Récupérez la clé publique en appelant la méthode CryptoKeyVersions.getPublicKey.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION/publicKey" \ --request "GET" \ --header "authorization: Bearer TOKEN"
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant le trousseau de clés.LOCATION
: emplacement Cloud KMS du trousseau de clésKEY_RING
: nom du trousseau de clés contenant la clé.KEY_NAME
: nom de la clé.KEY_VERSION
: numéro de version de la clé
Le résultat doit ressembler à ce qui suit :
{ "pem": "-----BEGIN PUBLIC KEY-----\nQ29uZ3JhdHVsYXRpb25zLCB5b3UndmUgZGlzY292ZX JlZCB0aGF0IHRoaXMgaXNuJ3QgYWN0dWFsbHkgYSBwdWJsaWMga2V5ISBIYXZlIGEgbmlj ZSBkYXkgOik=\n-----END PUBLIC KEY-----\n", "algorithm": "ALGORITHM", "pemCrc32c": "2561089887", "name": "projects/PROJECT_ID/locations/LOCATION/keyRings/ KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/ KEY_VERSION", "protectionLevel": "SOFTWARE" }