- Risorsa: CryptoKey
- Metodi
Risorsa: CryptoKey
Un elemento CryptoKey
rappresenta una chiave logica che può essere utilizzata per le operazioni crittografiche.
Un elemento CryptoKey
è costituito da zero o più versions
, che rappresentano l'effettivo materiale della chiave utilizzato nelle operazioni crittografiche.
Rappresentazione JSON |
---|
{ "name": string, "primary": { object ( |
Campi | |
---|---|
name |
Solo output. Il nome della risorsa per |
primary |
Solo output. Una copia del La versione principale di Le chiavi con |
purpose |
Immutabile. Lo scopo immutabile di questo |
createTime |
Solo output. L'ora in cui è stato creato questo Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
nextRotationTime |
In
Le rotazioni della chiave eseguite manualmente tramite [CreateCryptoKeyVersion][KeyManagementService.CreateCryptoKeyVersion] e [UpdateCryptoKeyPrimaryVersion][KeyManagementService.UpdateCryptoKeyPRIMARYVersion] non influiscono su Le chiavi con Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
versionTemplate |
Un modello che descrive le impostazioni per le nuove istanze |
labels |
Etichette con metadati definiti dall'utente. Per ulteriori informazioni, consulta la sezione Etichettatura chiavi. |
importOnly |
Immutabile. Indica se questa chiave può contenere solo versioni importate. |
destroyScheduledDuration |
Immutabile. Il periodo di tempo durante il quale le versioni di questa chiave vengono utilizzate nello stato Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
cryptoKeyBackend |
Immutabile. Il nome della risorsa dell'ambiente di backend in cui risiede il materiale della chiave per tutti i |
Campo di unione rotation_schedule . Controlla la velocità della rotazione automatica. rotation_schedule può essere solo uno dei seguenti: |
|
rotationPeriod |
Se il criterio Le chiavi con Una durata in secondi con un massimo di nove cifre frazionarie, che termina con " |
CryptoKeyVersion
Un elemento CryptoKeyVersion
rappresenta una singola chiave di crittografia e il materiale della chiave associato.
Per le operazioni crittografiche è possibile utilizzare una versione ENABLED
.
Per motivi di sicurezza, il materiale non elaborato della chiave di crittografia rappresentato da un CryptoKeyVersion
non può mai essere visualizzato o esportato. Può essere utilizzato per criptare, decriptare o firmare i dati solo quando un utente o un'applicazione autorizzati richiama Cloud KMS.
Rappresentazione JSON |
---|
{ "name": string, "state": enum ( |
Campi | |
---|---|
name |
Solo output. Il nome della risorsa per |
state |
Lo stato attuale di |
protectionLevel |
Solo output. Il |
algorithm |
Solo output. Il |
attestation |
Solo output. Istruzione generata e firmata da HSM al momento della creazione della chiave. Utilizza questa istruzione per verificare gli attributi della chiave come memorizzati nell'HSM, indipendentemente da Google. Fornita solo per le versioni della chiave con |
createTime |
Solo output. L'ora in cui è stato creato questo Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
generateTime |
Solo output. L'ora in cui è stato generato il materiale della chiave di Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
destroyTime |
Solo output. Data e ora in cui è stata pianificata l'eliminazione del materiale della chiave di Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
destroyEventTime |
Solo output. L'ora in cui il materiale della chiave di questa CryptoKeyVersion è stato eliminato. Presente solo se Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
importJob |
Solo output. Il nome del |
importTime |
Solo output. L'ora in cui il materiale della chiave di questo Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
importFailureReason |
Solo output. La causa principale dell'errore di importazione più recente. Presente solo se |
generationFailureReason |
Solo output. La causa principale dell'errore di generazione più recente. Presente solo se |
externalDestructionFailureReason |
Solo output. La causa principale dell'errore di distruzione esterna più recente. Presente solo se |
externalProtectionLevelOptions |
ExternalProtectionLevelOptions archivia un gruppo di campi aggiuntivi per la configurazione di un |
reimportEligible |
Solo output. Indica se la versione della chiave è idonea o meno per la reimportazione, specificata come target in [ImportCryptoKeyVersionRequest.crypto_key_version][]. |
CryptoKeyVersionState
Lo stato di un elemento CryptoKeyVersion
, che indica se può essere utilizzato.
Enum | |
---|---|
CRYPTO_KEY_VERSION_STATE_UNSPECIFIED |
Non specificato. |
PENDING_GENERATION |
Questa versione è ancora in fase di generazione. Non può ancora essere utilizzato, attivato, disattivato o eliminato. Cloud KMS contrassegnerà automaticamente questa versione come ENABLED non appena la versione sarà pronta. |
ENABLED |
Questa versione può essere utilizzata per operazioni crittografiche. |
DISABLED |
Questa versione potrebbe non essere utilizzata, ma il materiale della chiave è ancora disponibile e la versione può essere riportata allo stato ENABLED . |
DESTROYED |
Questa versione viene eliminata e il materiale della chiave non è più archiviato. Questa versione potrebbe diventare di nuovo ENABLED solo se questa versione è reimportEligible e il materiale della chiave originale viene reimportato con una chiamata a [KeyManagementService.ImportCryptoKeyVersion][]. |
DESTROY_SCHEDULED |
Questa versione è pianificata per l'eliminazione e verrà eliminata a breve. Chiama [RipristinaCryptoKeyVersion][KeyManagementService.ottenereCryptoKeyVersion] per portarla di nuovo allo stato DISABLED . |
PENDING_IMPORT |
Questa versione è ancora in fase di importazione. Non può ancora essere utilizzato, attivato, disattivato o eliminato. Cloud KMS contrassegnerà automaticamente questa versione come ENABLED non appena la versione sarà pronta. |
IMPORT_FAILED |
Questa versione non è stata importata correttamente. Non può essere utilizzato, attivato, disattivato o eliminato. Il materiale della chiave inviato è stato eliminato. Ulteriori dettagli sono disponibili in CryptoKeyVersion.import_failure_reason . |
GENERATION_FAILED |
Questa versione non è stata generata correttamente. Non può essere utilizzato, attivato, disattivato o eliminato. Ulteriori dettagli sono disponibili in CryptoKeyVersion.generation_failure_reason . |
PENDING_EXTERNAL_DESTRUCTION |
Questa versione è stata eliminata e non può essere utilizzata o abilitata di nuovo. Cloud KMS è in attesa che il materiale della chiave corrispondente ospitato in un gestore di chiavi esterno venga eliminato. |
EXTERNAL_DESTRUCTION_FAILED |
Questa versione è stata eliminata e non può essere utilizzata o abilitata di nuovo. Tuttavia, Cloud KMS non ha potuto confermare che il materiale della chiave corrispondente ospitato in un gestore di chiavi esterno sia stato eliminato. Ulteriori dettagli sono disponibili in CryptoKeyVersion.external_destruction_failure_reason . |
ProtectionLevel
ProtectionLevel
specifica il modo in cui vengono eseguite le operazioni crittografiche. Per saperne di più, vedi Livelli di protezione.
Enum | |
---|---|
PROTECTION_LEVEL_UNSPECIFIED |
Non specificato. |
SOFTWARE |
Le operazioni di crittografia vengono eseguite nel software. |
HSM |
Le operazioni di crittografia vengono eseguite in un modulo di sicurezza hardware. |
EXTERNAL |
Le operazioni di crittografia vengono eseguite da un gestore di chiavi esterno. |
EXTERNAL_VPC |
Le operazioni di crittografia vengono eseguite in un backend EKM-over-VPC. |
CryptoKeyVersionAlgorithm
L'algoritmo di CryptoKeyVersion
, che indica i parametri da utilizzare per ogni operazione crittografica.
L'algoritmo GOOGLE_SYMMETRIC_ENCRYPTION
è utilizzabile con CryptoKey.purpose
ENCRYPT_DECRYPT
.
Gli algoritmi che iniziano con "RSA_SIGN_" sono utilizzabili con CryptoKey.purpose
ASYMMETRIC_SIGN
.
I campi del nome dopo "RSA_SIGN_" corrispondono ai seguenti parametri: algoritmo di spaziatura, lunghezza in bit del modulo e algoritmo digest.
Per PSS, la lunghezza del sale utilizzata è uguale a quella dell'algoritmo digest. Ad esempio, RSA_SIGN_PSS_2048_SHA256
utilizzerà PSS con una lunghezza del sale di 256 bit o 32 byte.
Gli algoritmi che iniziano con "RSA_DECRYPT_" sono utilizzabili con il valore ASYMMETRIC_DECRYPT
di CryptoKey.purpose
.
I campi del nome dopo "RSA_DECRYPT_" corrispondono ai seguenti parametri: algoritmo di spaziatura, lunghezza in bit del modulo e algoritmo digest.
Gli algoritmi che iniziano con "EC_SIGN_" sono utilizzabili con CryptoKey.purpose
ASYMMETRIC_SIGN
.
I campi del nome dopo "EC_SIGN_" corrispondono ai seguenti parametri: curva ellittica, algoritmo digest.
Gli algoritmi che iniziano con "HMAC_" sono utilizzabili con CryptoKey.purpose
MAC
.
Il suffisso che segue "HMAC_" corrisponde all'algoritmo hash utilizzato (ad es. SHA256).
Per saperne di più, consulta la sezione Scopi e algoritmi chiave.
Enum | |
---|---|
CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED |
Non specificato. |
GOOGLE_SYMMETRIC_ENCRYPTION |
Crea chiavi di crittografia simmetriche. |
RSA_SIGN_PSS_2048_SHA256 |
Chiave RSASSA-PSS a 2048 bit con digest SHA256. |
RSA_SIGN_PSS_3072_SHA256 |
Chiave RSASSA-PSS a 3072 bit con digest SHA256. |
RSA_SIGN_PSS_4096_SHA256 |
Chiave RSASSA-PSS a 4096 bit con digest SHA256. |
RSA_SIGN_PSS_4096_SHA512 |
Chiave RSASSA-PSS a 4096 bit con digest SHA512. |
RSA_SIGN_PKCS1_2048_SHA256 |
RSASSA-PKCS1-v1_5 con una chiave a 2048 bit e un digest SHA256. |
RSA_SIGN_PKCS1_3072_SHA256 |
RSASSA-PKCS1-v1_5 con una chiave a 3072 bit e un digest SHA256. |
RSA_SIGN_PKCS1_4096_SHA256 |
RSASSA-PKCS1-v1_5 con una chiave a 4096 bit e un digest SHA256. |
RSA_SIGN_PKCS1_4096_SHA512 |
RSASSA-PKCS1-v1_5 con una chiave a 4096 bit e un digest SHA512. |
RSA_SIGN_RAW_PKCS1_2048 |
Firma RSASSA-PKCS1-v1_5 senza codifica, con una chiave a 2048 bit. |
RSA_SIGN_RAW_PKCS1_3072 |
Firma RSASSA-PKCS1-v1_5 senza codifica, con una chiave a 3072 bit. |
RSA_SIGN_RAW_PKCS1_4096 |
Firma RSASSA-PKCS1-v1_5 senza codifica, con una chiave a 4096 bit. |
RSA_DECRYPT_OAEP_2048_SHA256 |
Chiave RSAES-OAEP a 2048 bit con digest SHA256. |
RSA_DECRYPT_OAEP_3072_SHA256 |
Chiave RSAES-OAEP a 3072 bit con digest SHA256. |
RSA_DECRYPT_OAEP_4096_SHA256 |
Chiave RSAES-OAEP a 4096 bit con digest SHA256. |
RSA_DECRYPT_OAEP_4096_SHA512 |
Chiave RSAES-OAEP a 4096 bit con digest SHA512. |
RSA_DECRYPT_OAEP_2048_SHA1 |
Chiave RSAES-OAEP a 2048 bit con digest SHA1. |
RSA_DECRYPT_OAEP_3072_SHA1 |
Chiave RSAES-OAEP a 3072 bit con digest SHA1. |
RSA_DECRYPT_OAEP_4096_SHA1 |
Chiave RSAES-OAEP a 4096 bit con digest SHA1. |
EC_SIGN_P256_SHA256 |
ECDSA sulla curva NIST P-256 con un digest SHA256. Puoi anche utilizzare altre funzioni hash: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms |
EC_SIGN_P384_SHA384 |
ECDSA sulla curva NIST P-384 con un digest SHA384. Puoi anche utilizzare altre funzioni hash: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms |
EC_SIGN_SECP256K1_SHA256 |
ECDSA sulla curva secp256k1 non NIST. Questa curva è supportata solo per il livello di protezione HSM. Puoi anche utilizzare altre funzioni hash: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms |
HMAC_SHA256 |
Firma HMAC-SHA256 con una chiave a 256 bit. |
HMAC_SHA1 |
Firma HMAC-SHA1 con una chiave a 160 bit. |
HMAC_SHA384 |
Firma HMAC-SHA384 con una chiave a 384 bit. |
HMAC_SHA512 |
Firma HMAC-SHA512 con una chiave a 512 bit. |
HMAC_SHA224 |
Firma HMAC-SHA224 con una chiave a 224 bit. |
EXTERNAL_SYMMETRIC_ENCRYPTION |
Algoritmo che rappresenta la crittografia simmetrica da parte di un gestore di chiavi esterno. |
KeyOperationAttestation
Contiene un'attestazione generata da HSM relativa a un'operazione di chiave. Per saperne di più, vedi Verificare le attestazioni.
Rappresentazione JSON |
---|
{ "format": enum ( |
Campi | |
---|---|
format |
Solo output. Il formato dei dati di attestazione. |
content |
Solo output. I dati di attestazione forniti da HSM al momento dell'esecuzione dell'operazione sulla chiave. Una stringa con codifica Base64. |
certChains |
Solo output. Le catene di certificati necessarie per convalidare l'attestazione |
AttestationFormat
Formati di attestazione forniti da HSM.
Enum | |
---|---|
ATTESTATION_FORMAT_UNSPECIFIED |
Non specificato. |
CAVIUM_V1_COMPRESSED |
Attestazione Cavium HSM compressa con gzip. Tieni presente che questo formato è definito da Cavium e soggetto a modifiche in qualsiasi momento. Visita la pagina https://www.marvell.com/products/security-solutions/nitrox-hs-adapters/software-key-attestation.html. |
CAVIUM_V2_COMPRESSED |
Attestazione Cavium HSM V2 compressa con gzip. Si tratta di un nuovo formato introdotto nella versione 3.2-08 di Cavium. |
CertificateChains
Catene di certificati necessarie per verificare l'attestazione. I certificati nelle catene hanno codifica PEM e vengono ordinati in base alla pagina https://tools.ietf.org/html/rfc5246#section-7.4.2.
Rappresentazione JSON |
---|
{ "caviumCerts": [ string ], "googleCardCerts": [ string ], "googlePartitionCerts": [ string ] } |
Campi | |
---|---|
caviumCerts[] |
Catena di certificati Cavium corrispondente all'attestazione. |
googleCardCerts[] |
Catena di certificati della scheda Google corrispondente all'attestazione. |
googlePartitionCerts[] |
Catena di certificati di partizione Google corrispondente all'attestazione. |
ExternalProtectionLevelOptions
ExternalProtectionLevelOptions archivia un gruppo di campi aggiuntivi per la configurazione di un CryptoKeyVersion
specifico per il livello di protezione EXTERNAL
e i livelli di protezione EXTERNAL_VPC
.
Rappresentazione JSON |
---|
{ "externalKeyUri": string, "ekmConnectionKeyPath": string } |
Campi | |
---|---|
externalKeyUri |
L'URI di una risorsa esterna rappresentata da |
ekmConnectionKeyPath |
Il percorso del materiale della chiave esterna sull'EKM quando si utilizza [EkmConnection][], ad esempio "v0/mia/chiave". Imposta questo campo anziché externalKeyUri quando utilizzi una [EkmConnection][]. |
CryptoKeyPurpose
CryptoKeyPurpose
descrive le capacità crittografiche di un CryptoKey
. Una determinata chiave può essere utilizzata solo per le operazioni consentite dal suo scopo. Per ulteriori informazioni, consulta la sezione Scopi delle chiavi.
Enum | |
---|---|
CRYPTO_KEY_PURPOSE_UNSPECIFIED |
Non specificato. |
ENCRYPT_DECRYPT |
CryptoKeys a questo scopo potrebbe essere utilizzato con [Encrypt][KeyManagementService.Encrypt] e [Decrypt][KeyManagementService.Decrypt]. |
ASYMMETRIC_SIGN |
CryptoKeys a questo scopo può essere utilizzato con [AsymmetricSign][KeyManagementService.AsymmetricSign] e [GetPublicKey][KeyManagementService.GetPublicKey]. |
ASYMMETRIC_DECRYPT |
CryptoKeys a questo scopo può essere utilizzato con [AsymmetricDecrypt][KeyManagementService.AsymmetricDecrypt] e [GetPublicKey][KeyManagementService.GetPublicKey]. |
MAC |
CryptoKeys a questo scopo potrebbe essere utilizzato con [MacSign][KeyManagementService.MacSign]. |
CryptoKeyVersionTemplate
Un CryptoKeyVersionTemplate
specifica le proprietà da utilizzare durante la creazione di una nuova CryptoKeyVersion
, manualmente con [CreateCryptoKeyVersion][KeyManagementService.CreateCryptoKeyVersion] o automaticamente come risultato della rotazione automatica.
Rappresentazione JSON |
---|
{ "protectionLevel": enum ( |
Campi | |
---|---|
protectionLevel |
|
algorithm |
Obbligatorio. Per la compatibilità con le versioni precedenti, GOOGLE_SYMMETRIC_ENCRYPTION è implicito se questo campo viene omesso e |
Metodi |
|
---|---|
|
Restituisce le chiavi di crittografia gestite da Cloud KMS in un determinato progetto Cloud. |