- Ressource: CryptoKey
- Méthodes
Ressource : CryptoKey
Un CryptoKey
représente une clé logique pouvant être utilisée pour les opérations de chiffrement.
Une CryptoKey
est composée de zéro, un ou plusieurs versions
, qui représentent le matériel de clé réel utilisé dans les opérations de chiffrement.
Représentation JSON |
---|
{ "name": string, "primary": { object ( |
Champs | |
---|---|
name |
Uniquement en sortie. Nom de ressource de cet élément |
primary |
Uniquement en sortie. Copie du La version principale de Les clés avec |
purpose |
Immuable. Objectif immuable de ce |
createTime |
Uniquement en sortie. Date et heure de création de ce Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
nextRotationTime |
À
Les rotations de clé effectuées manuellement via [CreateCryptoKey][KeyManagementService.CreateCryptoKey] et [UpdateCryptoKeyPrimaryVersion][KeyManagementService.UpdateCryptoKeyPrimaryVersion] n'affectent pas Les clés avec Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
versionTemplate |
Modèle décrivant les paramètres des nouvelles instances |
labels |
Libellés avec des métadonnées définies par l'utilisateur. Pour en savoir plus, consultez la page Ajouter des libellés à des clés. |
importOnly |
Immuable. Indique si cette clé ne peut contenir que des versions importées. |
destroyScheduledDuration |
Immuable. Durée pendant laquelle les versions de cette clé passent à l'état Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par " |
cryptoKeyBackend |
Immuable. Nom de ressource de l'environnement de backend où se trouve le matériel de clé pour tous les |
Champ d'union rotation_schedule . Contrôle la vitesse de rotation automatique. rotation_schedule ne peut être qu'un des éléments suivants : |
|
rotationPeriod |
Si Les clés avec Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par " |
CryptoKeyVersion
Un CryptoKeyVersion
représente une clé cryptographique individuelle et le matériel de clé associé.
Une version ENABLED
peut être employée pour les opérations de chiffrement.
Pour des raisons de sécurité, le matériel brut de la clé cryptographique représenté par une CryptoKeyVersion
ne peut jamais être consulté ni exporté. Il ne peut servir que pour chiffrer, déchiffrer ou signer des données lorsqu'une application ou un utilisateur autorisé appelle Cloud KMS.
Représentation JSON |
---|
{ "name": string, "state": enum ( |
Champs | |
---|---|
name |
Uniquement en sortie. Nom de ressource de cet élément |
state |
État actuel de |
protectionLevel |
Uniquement en sortie. Le |
algorithm |
Uniquement en sortie. Le |
attestation |
Uniquement en sortie. Instruction générée et signée par le module matériel de sécurité (HSM, Hardware Security Module) au moment de la création de la clé. Elle permet de vérifier les attributs de la clé tels qu'ils sont stockés sur le HSM, indépendamment de Google. Fourni uniquement pour les versions de clé avec |
createTime |
Uniquement en sortie. Date et heure de création de ce Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
generateTime |
Uniquement en sortie. Heure à laquelle le matériel de clé de ce Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
destroyTime |
Uniquement en sortie. Heure à laquelle la destruction du matériel de clé de ce Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
destroyEventTime |
Uniquement en sortie. Il s'agit de l'heure à laquelle le matériel de la clé de la version "CryptoKeyVersion" a été détruit. Uniquement présente si Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
importJob |
Uniquement en sortie. Nom du |
importTime |
Uniquement en sortie. Heure à laquelle le matériel de clé de ce Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
importFailureReason |
Uniquement en sortie. Origine du problème d'importation le plus récent. Uniquement présente si |
generationFailureReason |
Uniquement en sortie. Cause de l'échec de la génération la plus récente. Uniquement présente si |
externalDestructionFailureReason |
Uniquement en sortie. Origine du dernier échec de destruction externe. Uniquement présente si |
externalProtectionLevelOptions |
ExternalProtectionLevelOptions stocke un groupe de champs supplémentaires pour configurer un |
reimportEligible |
Uniquement en sortie. Indique si cette version de clé peut être réimportée ou non, en étant spécifiée en tant que cible dans [Import rejointRequest.crypto_key_version][]. |
CryptoKeyVersionState
État d'un CryptoKeyVersion
, indiquant s'il peut être utilisé.
Enums | |
---|---|
CRYPTO_KEY_VERSION_STATE_UNSPECIFIED |
Non spécifié. |
PENDING_GENERATION |
Cette version est toujours en cours de génération. Elle ne peut pas encore être utilisée ni activée, ni désactivée, ni détruite. Cloud KMS marque automatiquement cette version comme étant ENABLED dès qu'elle est prête. |
ENABLED |
Cette version peut être employée pour les opérations de chiffrement. |
DISABLED |
Cette version ne peut pas être utilisée, mais le matériel de clé est toujours disponible et la version peut être replacée dans l'état ENABLED . |
DESTROYED |
Cette version est détruite et le matériel de la clé n'est plus stocké. Cette version ne peut redevenir ENABLED que si cette version est reimportEligible et que le matériel de clé d'origine est réimporté avec un appel à [KeyManagementService.ImportVersion][]. |
DESTROY_SCHEDULED |
La destruction de cette version a été programmée, et elle sera bientôt détruite. Appelez [restremplissage de la version de clé de chiffrement][KeyManagementService.RestaurationCryptoKey] pour rétablir l'état DISABLED . |
PENDING_IMPORT |
Cette version est toujours en cours d'importation. Elle ne peut pas encore être utilisée ni activée, ni désactivée, ni détruite. Cloud KMS marque automatiquement cette version comme étant ENABLED dès qu'elle est prête. |
IMPORT_FAILED |
Cette version n'a pas été importée correctement. Elle ne peut pas être utilisée, activée, désactivée ni détruite. Le matériel de clé envoyé a été supprimé. Pour en savoir plus, consultez CryptoKeyVersion.import_failure_reason . |
GENERATION_FAILED |
Échec de la génération de cette version. Elle ne peut pas être utilisée, activée, désactivée ni détruite. Pour en savoir plus, consultez CryptoKeyVersion.generation_failure_reason . |
PENDING_EXTERNAL_DESTRUCTION |
Cette version a été détruite. Vous ne pouvez plus l'utiliser ni la réactiver. Cloud KMS attend que le matériel de clé correspondant qui se trouve dans un gestionnaire de clés externe soit détruit. |
EXTERNAL_DESTRUCTION_FAILED |
Cette version a été détruite. Vous ne pouvez plus l'utiliser ni la réactiver. Cependant, Cloud KMS n'a pas pu confirmer que le matériel de clé correspondant qui se trouve dans un gestionnaire de clés externe a été détruit. Pour en savoir plus, consultez CryptoKeyVersion.external_destruction_failure_reason . |
ProtectionLevel
ProtectionLevel
spécifie comment sont effectuées les opérations de chiffrement. Pour en savoir plus, consultez la section Niveaux de protection.
Enums | |
---|---|
PROTECTION_LEVEL_UNSPECIFIED |
Non spécifié. |
SOFTWARE |
Les opérations de chiffrement sont effectuées dans le logiciel. |
HSM |
Les opérations de chiffrement sont effectuées dans un module matériel de sécurité. |
EXTERNAL |
Les opérations de chiffrement sont effectuées par un gestionnaire de clés externe. |
EXTERNAL_VPC |
Les opérations de chiffrement sont effectuées dans un backend EKM sur VPC. |
CryptoKeyVersionAlgorithm
Algorithme de CryptoKeyVersion
, qui indique les paramètres à utiliser pour chaque opération cryptographique.
L'algorithme GOOGLE_SYMMETRIC_ENCRYPTION
peut être utilisé avec CryptoKey.purpose
ENCRYPT_DECRYPT
.
Les algorithmes commençant par "RSA_SIGN_" peuvent être utilisés avec CryptoKey.purpose
ASYMMETRIC_SIGN
.
Les champs figurant après "RSA_SIGN_" dans le nom correspondent aux paramètres suivants : algorithme de remplissage, longueur en bits du module et algorithme de condensé.
Pour PSS, la longueur de salage utilisée est égale à la longueur de l'algorithme de condensé. Par exemple, RSA_SIGN_PSS_2048_SHA256
utilise PSS avec une longueur de salage de 256 bits (ou 32 octets).
Les algorithmes commençant par "RSA_DECRYPT_" peuvent être utilisés avec CryptoKey.purpose
ASYMMETRIC_DECRYPT
.
Les champs figurant après "RSA_DECRYPT_" dans le nom correspondent aux paramètres suivants : algorithme de remplissage, longueur en bits du module et algorithme de condensé.
Les algorithmes commençant par "EC_SIGN_" peuvent être utilisés avec CryptoKey.purpose
ASYMMETRIC_SIGN
.
Les champs figurant après "EC_SIGN_" dans le nom correspondent aux paramètres suivants : courbe elliptique, algorithme de condensé.
Les algorithmes commençant par "HMAC_" peuvent être utilisés avec CryptoKey.purpose
MAC
.
Le suffixe qui suit "HMAC_" correspond à l'algorithme de hachage utilisé (par exemple, SHA-256).
Pour en savoir plus, consultez Objectifs et algorithmes des clés.
Enums | |
---|---|
CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED |
Non spécifié. |
GOOGLE_SYMMETRIC_ENCRYPTION |
Crée des clés de chiffrement symétriques. |
RSA_SIGN_PSS_2048_SHA256 |
RSASSA-PSS avec une clé de 2 048 bits et un condensé SHA256. |
RSA_SIGN_PSS_3072_SHA256 |
RSASSA-PSS avec une clé de 3 072 bits et un condensé SHA256. |
RSA_SIGN_PSS_4096_SHA256 |
RSASSA-PSS avec une clé de 4 096 bits et un condensé SHA256. |
RSA_SIGN_PSS_4096_SHA512 |
RSASSA-PSS avec une clé de 4 096 bits et un condensé SHA512. |
RSA_SIGN_PKCS1_2048_SHA256 |
RSASSA-PKCS1-v1_5 avec une clé de 2 048 bits et un condensé SHA256. |
RSA_SIGN_PKCS1_3072_SHA256 |
RSASSA-PKCS1-v1_5 avec une clé de 3 072 bits et un condensé SHA256. |
RSA_SIGN_PKCS1_4096_SHA256 |
RSASSA-PKCS1-v1_5 avec une clé de 4 096 bits et un condensé SHA256. |
RSA_SIGN_PKCS1_4096_SHA512 |
RSASSA-PKCS1-v1_5 avec une clé de 4 096 bits et un condensé SHA512. |
RSA_SIGN_RAW_PKCS1_2048 |
Signature RSASSA-PKCS1-v1_5 sans encodage, avec une clé de 2 048 bits. |
RSA_SIGN_RAW_PKCS1_3072 |
Signature RSASSA-PKCS1-v1_5 sans encodage, avec une clé de 3 072 bits. |
RSA_SIGN_RAW_PKCS1_4096 |
Signature RSASSA-PKCS1-v1_5 sans encodage, avec une clé de 4 096 bits. |
RSA_DECRYPT_OAEP_2048_SHA256 |
RSAES-OAEP avec une clé de 2 048 bits et un condensé SHA256. |
RSA_DECRYPT_OAEP_3072_SHA256 |
RSAES-OAEP avec une clé de 3 072 bits et un condensé SHA256. |
RSA_DECRYPT_OAEP_4096_SHA256 |
RSAES-OAEP avec une clé de 4 096 bits et un condensé SHA256. |
RSA_DECRYPT_OAEP_4096_SHA512 |
RSAES-OAEP avec une clé de 4 096 bits et un condensé SHA512. |
RSA_DECRYPT_OAEP_2048_SHA1 |
RSAES-OAEP avec une clé de 2 048 bits et un condensé SHA1. |
RSA_DECRYPT_OAEP_3072_SHA1 |
RSAES-OAEP avec une clé de 3 072 bits et un condensé SHA1. |
RSA_DECRYPT_OAEP_4096_SHA1 |
RSAES-OAEP avec une clé de 4 096 bits et un condensé SHA1. |
EC_SIGN_P256_SHA256 |
ECDSA sur la courbe NIST P-256 avec un condensé SHA256. D'autres fonctions de hachage peuvent également être utilisées: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms |
EC_SIGN_P384_SHA384 |
ECDSA sur la courbe NIST P-384 avec un condensé SHA384. D'autres fonctions de hachage peuvent également être utilisées: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms |
EC_SIGN_SECP256K1_SHA256 |
ECDSA sur la courbe non-NIST secp256k1. Cette courbe n'est acceptée que pour le niveau de protection HSM. D'autres fonctions de hachage peuvent également être utilisées: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms |
HMAC_SHA256 |
Signature HMAC-SHA256 avec une clé de 256 bits. |
HMAC_SHA1 |
Signature HMAC-SHA1 avec une clé de 160 bits. |
HMAC_SHA384 |
Signature HMAC-SHA384 avec une clé de 384 bits. |
HMAC_SHA512 |
Signature HMAC-SHA512 avec une clé de 512 bits. |
HMAC_SHA224 |
Signature HMAC-SHA224 avec une clé de 224 bits. |
EXTERNAL_SYMMETRIC_ENCRYPTION |
Algorithme représentant le chiffrement symétrique par un gestionnaire de clés externe. |
KeyOperationAttestation
Contient un certificat généré par le HSM, concernant une opération de clé. Pour en savoir plus, consultez la section Valider des attestations.
Représentation JSON |
---|
{ "format": enum ( |
Champs | |
---|---|
format |
Uniquement en sortie. Format des données du certificat. |
content |
Uniquement en sortie. Données du certificat, fournies par le HSM lors de l'exécution de l'opération de clé. Chaîne encodée en base64. |
certChains |
Uniquement en sortie. Chaînes de certificats nécessaires pour valider l'attestation |
AttestationFormat
Formats de certificat fournis par le HSM.
Enums | |
---|---|
ATTESTATION_FORMAT_UNSPECIFIED |
Non spécifié. |
CAVIUM_V1_COMPRESSED |
Certificat de HSM Cavium compressé avec gzip. Notez que ce format est défini par Cavium et qu'il peut être modifié à tout moment. Consultez la page https://www.marvell.com/products/security-solutions/nitrox-hs-adapters/software-key-attestation.html. |
CAVIUM_V2_COMPRESSED |
Attestation HSM Cavium V2 compressée avec gzip. Il s'agit d'un nouveau format introduit dans la version 3.2-08 de Cavium. |
CertificateChains
Chaînes de certificats nécessaires pour valider l'attestation. Les certificats des chaînes sont encodés au format PEM et sont ordonnés en fonction de https://tools.ietf.org/html/rfc5246#section-7.4.2.
Représentation JSON |
---|
{ "caviumCerts": [ string ], "googleCardCerts": [ string ], "googlePartitionCerts": [ string ] } |
Champs | |
---|---|
caviumCerts[] |
Chaîne de certificats Cavium correspondant à l'attestation. |
googleCardCerts[] |
Chaîne de certificat de carte Google correspondant à l'attestation. |
googlePartitionCerts[] |
Chaîne de certificats de partition Google correspondant à l'attestation. |
ExternalProtectionLevelOptions
ExternalProtectionLevelOptions stocke un groupe de champs supplémentaires pour configurer un CryptoKeyVersion
spécifique au niveau de protection EXTERNAL
et aux niveaux de protection EXTERNAL_VPC
.
Représentation JSON |
---|
{ "externalKeyUri": string, "ekmConnectionKeyPath": string } |
Champs | |
---|---|
externalKeyUri |
URI d'une ressource externe représentée par ce |
ekmConnectionKeyPath |
Chemin d'accès au matériel de clé externe sur l'EKM lors de l'utilisation de [EkmConnection][]. Exemple : "v0/my/key". Définissez ce champ à la place de externalKeyUri lorsque vous utilisez une [EkmConnection][]. |
CryptoKeyPurpose
CryptoKeyPurpose
décrit les fonctionnalités cryptographiques d'un CryptoKey
. Une clé donnée ne peut être employée que pour les opérations autorisées par son objectif. Pour en savoir plus, consultez la section Objectifs des clés.
Enums | |
---|---|
CRYPTO_KEY_PURPOSE_UNSPECIFIED |
Non spécifié. |
ENCRYPT_DECRYPT |
CryptoKeys à cette fin peut être utilisé avec [Encrypt][KeyManagementService.Encrypt] et [Decrypt][KeyManagementService.Decrypt]. |
ASYMMETRIC_SIGN |
CryptoKeys à cette fin peut être utilisé avec [AsymmetricSign][KeyManagementService.AsymmetricSign] et [GetPublicKey][KeyManagementService.GetPublicKey]. |
ASYMMETRIC_DECRYPT |
CryptoKeys à cette fin peut être utilisé avec [AsymmetricDecrypt][KeyManagementService.AsymmetricDecrypt] et [GetPublicKey][KeyManagementService.GetPublicKey]. |
MAC |
CryptoKeys à cette fin peut être utilisé avec [MacSign][KeyManagementService.MacSign]. |
CryptoKeyVersionTemplate
Une CryptoKeyVersionTemplate
spécifie les propriétés à utiliser lors de la création d'une nouvelle CryptoKeyVersion
, soit manuellement avec [CreateCryptoKey][KeyManagementService.CreateCryptoKey], soit automatiquement à la suite d'une rotation automatique.
Représentation JSON |
---|
{ "protectionLevel": enum ( |
Champs | |
---|---|
protectionLevel |
|
algorithm |
Obligatoire. Pour assurer la rétrocompatibilité, GOOGLE_SYMMETRIC_ENCRYPTION est implicite si ce champ est omis et que |
Méthodes |
|
---|---|
|
Renvoie les clés cryptographiques gérées par Cloud KMS dans un projet Cloud donné. |