Cette page explique comment créer une clé dans Cloud KMS. Une clé peut être un clé de chiffrement symétrique ou asymétrique, une clé de signature asymétrique ou une clé MAC de signature d'application.
Lorsque vous créez une clé, vous l'ajoutez à un trousseau de clés dans une Emplacement Cloud KMS. Vous pouvez créer une clé sonnerie ou en utiliser un existant. Sur cette page, vous générez une nouvelle clé Cloud KMS ou Cloud HSM et l'ajoutez à un pour le trousseau existant. Pour créer une clé Cloud EKM, consultez la section Créer une clé clé. Pour importer une clé Cloud KMS ou Cloud HSM, consultez la section Importer une clé.
Avant de commencer
Avant d'effectuer les tâches décrites sur cette page, vous devez disposer des éléments suivants:
- Une ressource de projet Google Cloud qui contiendra vos ressources Cloud KMS. Nous vous recommandons d'utiliser un projet distinct les ressources Cloud KMS qui ne contiennent aucune autre aux ressources Google Cloud.
- Nom et emplacement du trousseau de clés dans lequel vous souhaitez créer votre clé. Choisissez un trousseau de clés situé à proximité de vos autres ressources et que est compatible avec le niveau de protection souhaité. À les emplacements disponibles et les niveaux de protection qu'ils prennent en charge, consultez Emplacements Cloud KMS Pour créer une clé : consultez la section Créer un trousseau de clés.
- Facultatif: Pour utiliser la gcloud CLI, préparez votre environnement.
CLI gcloud
Dans la console Google Cloud, activez Cloud Shell.
Rôles requis
Pour obtenir les autorisations dont vous
avez besoin pour créer des clés,
demandez à votre administrateur de vous accorder le
rôle IAM Administrateur Cloud KMS (roles/cloudkms.admin
) sur le projet ou une ressource parente.
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Ce rôle prédéfini contient les autorisations requises pour créer des clés. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour créer des clés:
-
cloudkms.cryptoKeys.create
-
cloudkms.cryptoKeys.get
-
cloudkms.cryptoKeys.list
-
cloudkms.cryptoKeyVersions.create
-
cloudkms.cryptoKeyVersions.get
-
cloudkms.cryptoKeyVersions.list
-
cloudkms.keyRings.get
-
cloudkms.keyRings.list
-
cloudkms.locations.get
-
cloudkms.locations.list
-
resourcemanager.projects.get
-
Pour récupérer une clé publique:
cloudkms.cryptoKeyVersions.viewPublicKey
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Créer une clé de chiffrement symétrique
Console
Dans la console Google Cloud, accédez à la page Gestion des clés.
Cliquez sur le nom du trousseau de clés pour lequel vous souhaitez créer une clé.
Cliquez sur Créer une clé.
Dans le champ Nom de la clé, saisissez le nom de votre clé.
Pour Niveau de protection, sélectionnez Logiciel ou HSM.
Pour Key material (Matériel de la clé), sélectionnez Generated key (Clé générée).
Sous Purpose (Objectif), sélectionnez Symmetric encrypt/decrypt.
Acceptez les valeurs par défaut pour Rotation period (Période de rotation) et Starting on (Rotation à partir du).
Cliquez sur Créer.
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par Installez la dernière version de Google Cloud CLI.
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "encryption" \ --protection-level "PROTECTION_LEVEL"
Remplacez les éléments suivants :
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ésPROTECTION_LEVEL
: niveau de protection à utiliser pour (par exemple,software
ouhsm
). Vous pouvez omettre Option--protection-level
pour les cléssoftware
.
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.
Pour créer une clé, utilisez la méthode
CryptoKey.create
méthode:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "ENCRYPT_DECRYPT", "versionTemplate": { "protectionLevel": "PROTECTION_LEVEL", "algorithm": "ALGORITHM" }}'
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant le trousseau de clésLOCATION
: emplacement Cloud KMS du trousseau de clésKEY_RING
: nom du trousseau de clés contenant la clé.KEY_NAME
: nom de la clé.PROTECTION_LEVEL
: niveau de protection du (par exemple,SOFTWARE
ouHSM
).ALGORITHM
: algorithme de signature HMAC (par exemple,HMAC_SHA256
Pour connaître tous les algorithmes HMAC compatibles, consultez la section Signature HMAC algorithmes.
Créer une clé de chiffrement symétrique avec rotation automatique personnalisée
Lorsque vous créez une clé, vous pouvez spécifier sa rotation (période), qui correspond au délai entre la création automatique de nouvelles versions de clé. Vous pouvez aussi spécifier indépendamment l'heure de la prochaine rotation, de sorte que la rotation suivante ait lieu avant ou après une période de rotation, à compter du dès maintenant.
Console
Lorsque vous créez une clé à l'aide de la console Google Cloud, Cloud KMS définit la la période de rotation et la date de la prochaine rotation. Vous pouvez choisir d'utiliser les valeurs par défaut ou spécifier des valeurs différentes.
Pour spécifier une période de rotation et une date de début différentes, lorsque vous créez des votre clé, mais avant de cliquer le bouton Create (Créer) :
Pour Période de rotation des clés, sélectionnez une option.
Dans le champ À partir du, sélectionnez la date à laquelle vous souhaitez recevoir la première la rotation. Vous pouvez conserver la valeur par défaut du paramètre À partir du démarrer la première rotation automatique, une période de rotation des clés créer la clé.
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par Installez la dernière version de Google Cloud CLI ou passez à la dernière version.
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "encryption" \ --rotation-period ROTATION_PERIOD \ --next-rotation-time NEXT_ROTATION_TIME
Remplacez les éléments suivants :
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ésROTATION_PERIOD
: l'intervalle à alterner la clé (par exemple,30d
) pour alterner la clé tous les 30 jours. La rotation la période doit durer au moins 1 jour et au maximum 100 ans. Pour en savoir plus, consultez CryptoKey.rotationPeriod :NEXT_ROTATION_TIME
: code temporel du moment où l'exécution doit se terminer la première rotation (par exemple,"2023-01-01T01:02:03"
). Vous pouvez omettre--next-rotation-time
pour planifier la première rotation sur sept jours à compter de l'exécution de la . Pour en savoir plus, consultez CryptoKey.nextRotationTime :
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.
Pour créer une clé, utilisez la méthode
CryptoKey.create
méthode:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "PURPOSE", "rotationPeriod": "ROTATION_PERIOD", "nextRotationTime": "NEXT_ROTATION_TIME"}'
Remplacez les éléments suivants :
PURPOSE
: le objectif de la clé.ROTATION_PERIOD
: l'intervalle à alterner la clé (par exemple,30d
) pour alterner la clé tous les 30 jours. La rotation la période doit durer au moins 1 jour et au maximum 100 ans. Pour en savoir plus, consultez CryptoKey.rotationPeriod :NEXT_ROTATION_TIME
: code temporel du moment où l'exécution doit se terminer la première rotation (par exemple,"2023-01-01T01:02:03"
). Vous pouvez omettre--next-rotation-time
pour planifier la première rotation sur sept jours à compter de l'exécution de la . Pour en savoir plus, consultez CryptoKey.nextRotationTime :
Définissez la durée de "Destruction programmée" state
Par défaut, les versions de clé Cloud KMS passent 30 jours
Destruction programmée (DESTROY_SCHEDULED
) avant qu'elles ne soient
détruit. L'état "Destruction programmée" est parfois appelé
état supprimé de façon réversible. Durée pendant laquelle les versions de clé restent dans cet état
est configurable, avec les contraintes suivantes:
- Vous ne pouvez définir la durée que lors de la création de la clé.
- Une fois la durée de la clé spécifiée, elle ne peut plus être modifiée.
- La durée s'applique à toutes les versions de la clé créées par la suite.
- La durée minimale est de 24 heures pour toutes les clés, à l'exception des clés réservées à l'importation dont la durée minimale est de 0.
- La durée maximale est de 120 jours.
- La durée par défaut est de 30 jours.
Votre organisation peut avoir défini une durée minimale pour la destruction programmée définie par des règles d'administration. Pour en savoir plus, consultez la section Contrôle destruction de clé.
À créer une clé qui utilise une durée personnalisée pour la Destruction programmé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 pour lequel vous souhaitez créer une clé.
Cliquez sur Créer une clé.
Configurez les paramètres de la clé pour votre application.
Cliquez sur Paramètres supplémentaires.
Dans Durée de "Destruction programmée" l'état, choisissez le nombre jours où la clé reste programmée pour destruction avant d'être définitivement détruits.
Cliquez sur Créer une clé.
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par Installez la dernière version de Google Cloud CLI ou passez à la dernière version.
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose PURPOSE \ --destroy-scheduled-duration DURATION
Remplacez les éléments suivants :
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ésPURPOSE
: objectif de la clé (par exemple,encryption
DURATION
: durée pendant laquelle la clé reste dans le l'état Destruction programmée avant d'être définitivement détruite.
Pour en savoir plus sur toutes les options et valeurs possibles, exécutez la commande avec l'option --help
.
Nous vous recommandons d'utiliser la durée par défaut de 24 heures pour toutes les clés, sauf si vous avez des exigences réglementaires ou applicatives spécifiques qui valeur différente.
Créer une clé asymétrique
Créer une clé de déchiffrement asymétrique
Suivez ces étapes pour créer une clé de déchiffrement asymétrique sur le trousseau de clés et l'emplacement spécifiés. Ces exemples peuvent être adaptés pour indiquer un algorithme ou un niveau de protection. Pour en savoir plus et connaître les autres valeurs, consultez Algorithmes et niveaux de protection.
Lorsque vous créez la clé, la version initiale de la clé a l'état Génération en attente : Lorsque l'état passe à Activé, vous pouvez utiliser la clé. Pour en savoir plus sur les états des versions de clé, consultez la section Version de clé de sortie.
Console
Dans la console Google Cloud, accédez à la page Gestion des clés.
Cliquez sur le nom du trousseau de clés pour lequel vous souhaitez créer une clé.
Cliquez sur Créer une clé.
Dans le champ Nom de la clé, saisissez le nom de votre clé.
Pour Niveau de protection, sélectionnez Logiciel ou HSM.
Pour Key material (Matériel de la clé), sélectionnez Generated key (Clé générée).
Dans le champ Objectif, sélectionnez Déchiffrement asymétrique.
Dans le champ Algorithme, sélectionnez RSA 3 072 bits - Marge intérieure OAEP - Condensé SHA256. Vous pouvez modifier cette valeur sur les futures versions de clé.
Cliquez sur Créer.
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par Installez la dernière version de Google Cloud CLI ou passez à la dernière version.
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "asymmetric-encryption" \ --default-algorithm "ALGORITHM"
Remplacez les éléments suivants :
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ésALGORITHM
: algorithme à utiliser pour la clé, pour Exemple :rsa-decrypt-oaep-3072-sha256
. Pour obtenir la liste des instances asymétriques prises en charge, algorithmes de chiffrement, consultez la page Chiffrement asymétrique algorithmes.
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.
Créez une clé de déchiffrement asymétrique en appelant CryptoKey.create
.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "ASYMMETRIC_DECRYPT", "versionTemplate": {"algorithm": "ALGORITHM"}}'
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant le trousseau de clésLOCATION
: emplacement Cloud KMS du trousseau de clésKEY_RING
: nom du trousseau de clés contenant la clé.KEY_NAME
: nom de la clé.ALGORITHM
: algorithme à utiliser pour la clé (par exemple,RSA_DECRYPT_OAEP_3072_SHA256
). Pour obtenir une liste algorithmes de chiffrement asymétrique pris en charge, consultez la page Chiffrement asymétrique algorithmes.
Créer une clé de signature asymétrique
Suivez ces étapes pour créer une clé de signature asymétrique sur le trousseau de clés et l'emplacement spécifiés. Ces exemples peuvent être adaptés pour indiquer un algorithme ou un niveau de protection. Pour en savoir plus et connaître les autres valeurs, consultez Algorithmes et niveaux de protection.
Lorsque vous créez la clé, la version initiale de la clé a l'état Génération en attente : Lorsque l'état passe à Activé, vous pouvez utiliser la clé. Pour en savoir plus sur les états des versions de clé, consultez la section Version de clé de sortie.
Console
Dans la console Google Cloud, accédez à la page Gestion des clés.
Cliquez sur le nom du trousseau de clés pour lequel vous souhaitez créer une clé.
Cliquez sur Créer une clé.
Dans le champ Nom de la clé, saisissez le nom de votre clé.
Pour Niveau de protection, sélectionnez Logiciel ou HSM.
Pour Key material (Matériel de la clé), sélectionnez Generated key (Clé générée).
Dans le champ Objectif, sélectionnez Signature asymétrique.
Dans Algorithme, sélectionnez Courbe elliptique P-256 - Condensé SHA256. Vous pouvez modifier cette valeur dans les futures versions de la clé.
Cliquez sur Créer.
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par Installez la dernière version de Google Cloud CLI ou passez à la dernière version.
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "asymmetric-signing" \ --default-algorithm "ALGORITHM"
Remplacez les éléments suivants :
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ésALGORITHM
: algorithme à utiliser pour la clé (par exemple,ec-sign-p256-sha256
Pour obtenir la liste des algorithmes pris en charge, voir Asymétrie algorithmes de signature.
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.
Créez une clé de signature asymétrique en appelant CryptoKey.create
.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "ASYMMETRIC_SIGN", "versionTemplate": {"algorithm": "ALGORITHM"}}'
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant le trousseau de clésLOCATION
: emplacement Cloud KMS du trousseau de clésKEY_RING
: nom du trousseau de clés contenant la clé.KEY_NAME
: nom de la clé.ALGORITHM
: algorithme à utiliser pour la clé (par exemple,EC_SIGN_P256_SHA256
). Pour obtenir la liste des algorithmes, consultez la page Signature asymétrique algorithmes.
Récupérer la clé publique
Lorsque vous créez une clé asymétrique, Cloud KMS crée une clé publique/privée clé. Vous pouvez récupérer la clé publique d'une clé asymétrique activée à tout moment après la génération de la clé.
La clé publique est au format PEM (Privacy-enhanced Electronic Mail). Pour plus consultez les sections de la RFC 7468 General Considérations et encodage textuel de l'objet public Informations clés.
Pour télécharger la clé publique d'une version de clé asymétrique existante, procédez comme suit : étapes:
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 ou passez à la dernière version.
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 exemple,public-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ésLOCATION
: 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" }
Convertir une clé publique au format JWK
Cloud KMS vous permet de récupérer une clé publique au format PEM. Certaines applications peuvent nécessiter d'autres formats de clé tels que JSON Web Key (JWK). Pour en savoir plus sur le format JWK, consultez le document RFC 7517.
Pour convertir une clé publique au format JWK, procédez comme suit:
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.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python, puis installez le SDK Cloud KMS pour Python.
Contrôler l'accès aux clés asymétriques
Un signataire ou un validateur doit disposer de l'autorisation ou du rôle approprié sur la clé asymétrique.
Pour un utilisateur ou un service qui effectue la signature, accordez l'autorisation
cloudkms.cryptoKeyVersions.useToSign
sur la clé asymétrique.Pour un utilisateur ou un service qui récupère la clé publique, accordez l'autorisation
cloudkms.cryptoKeyVersions.viewPublicKey
sur la clé asymétrique. La clé publique est nécessaire à la validation de la signature.
Pour en savoir plus sur les autorisations et les rôles dans la version de Cloud KMS, consultez la page Autorisations et rôles.
Créer une clé de signature MAC
Console
Dans la console Google Cloud, accédez à la page Gestion des clés.
Cliquez sur le nom du trousseau de clés pour lequel vous souhaitez créer une clé.
Cliquez sur Créer une clé.
Dans le champ Nom de la clé, saisissez le nom de votre clé.
Pour le champ Niveau de protection, sélectionnez Logiciel ou HSM.
Pour Key material (Matériel de la clé), sélectionnez Generated key (Clé générée).
Dans le champ Objectif, sélectionnez Signature/validation MAC.
Facultatif: pour Algorithme, sélectionnez une signature HMAC algorithme.
Cliquez sur Créer.
gcloud
Pour utiliser Cloud KMS sur la ligne de commande, commencez par Installez la dernière version de Google Cloud CLI ou passez à la dernière version.
gcloud kms keys create KEY_NAME \ --keyring KEY_RING \ --location LOCATION \ --purpose "mac" \ --default-algorithm "ALGORITHM" \ --protection-level "PROTECTION_LEVEL"
Remplacez les éléments suivants :
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ésALGORITHM
: algorithme de signature HMAC (par exemple,hmac-sha256
Pour connaître tous les algorithmes HMAC compatibles, consultez la section Signature HMAC algorithmes.PROTECTION_LEVEL
: niveau de protection de la clé, par Exemple :hsm
. Vous pouvez omettre l'option--protection-level
poursoftware
. clés.
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.
Pour créer une clé, utilisez la méthode
CryptoKey.create
méthode:
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys?crypto_key_id=KEY_NAME" \ --request "POST" \ --header "authorization: Bearer TOKEN" \ --header "content-type: application/json" \ --data '{"purpose": "MAC", "versionTemplate": { "protectionLevel": "PROTECTION_LEVEL", "algorithm": "ALGORITHM" }}'
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant le trousseau de clésLOCATION
: emplacement Cloud KMS du trousseau de clésKEY_RING
: nom du trousseau de clés contenant la clé.KEY_NAME
: nom de la clé.PROTECTION_LEVEL
: niveau de protection de la clé, par exempleSOFTWARE
ouHSM
.ALGORITHM
: algorithme de signature HMAC, par exempleHMAC_SHA256
. Pour connaître tous les algorithmes HMAC compatibles, consultez la section Signature HMAC algorithmes.
Étape suivante
- Apprenez-en plus sur la rotation des clés.
- Découvrez comment créer et valider signatures.
- Découvrez comment chiffrer et déchiffrer des données avec un RSA clé.
- Apprenez à récupérer une clé publique.