- Resource: CryptoKey
- Metode
Referensi: CryptoKey
CryptoKey
mewakili kunci logis yang dapat digunakan untuk operasi kriptografi.
CryptoKey
terdiri dari nol atau beberapa versions
, yang mewakili materi kunci sebenarnya yang digunakan dalam operasi kriptografi.
Representasi JSON |
---|
{ "name": string, "primary": { object ( |
Kolom | |
---|---|
name |
Hanya output. Nama resource untuk |
primary |
Hanya output. Salinan Versi utama Kunci dengan |
purpose |
Tidak dapat diubah. Tujuan yang tidak dapat diubah dari |
createTime |
Hanya output. Waktu saat Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: |
nextRotationTime |
Di
Rotasi kunci yang dilakukan secara manual melalui [CreateCryptoKeyVersion][KeyManagementService.CreateCryptoKeyVersion] dan [UpdateCryptoKeyPrimaryVersion][KeyManagementService.UpdateCryptoKeyPrimaryVersion] tidak memengaruhi Kunci dengan Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: |
versionTemplate |
Template yang menjelaskan setelan untuk instance |
labels |
Label dengan metadata yang ditentukan pengguna. Untuk mengetahui informasi selengkapnya, lihat Pelabelan Kunci. |
importOnly |
Tidak dapat diubah. Apakah kunci ini hanya dapat berisi versi yang diimpor. |
destroyScheduledDuration |
Tidak dapat diubah. Periode waktu yang dihabiskan oleh versi kunci ini dalam status Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan ' |
cryptoKeyBackend |
Tidak dapat diubah. Nama resource lingkungan backend tempat materi kunci untuk semua |
Kolom union rotation_schedule . Mengontrol laju rotasi otomatis. rotation_schedule hanya ada berupa salah satu diantara berikut: |
|
rotationPeriod |
Jika Kunci dengan Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan ' |
CryptoKeyVersion
CryptoKeyVersion
mewakili setiap kunci kriptografis, dan materi kunci yang terkait.
Versi ENABLED
dapat digunakan untuk operasi kriptografi.
Untuk alasan keamanan, materi kunci kriptografis mentah yang direpresentasikan oleh CryptoKeyVersion
tidak akan dapat dilihat atau diekspor. Enkripsi ini hanya dapat digunakan untuk mengenkripsi, mendekripsi, atau menandatangani data saat pengguna atau aplikasi yang memiliki otorisasi memanggil Cloud KMS.
Representasi JSON |
---|
{ "name": string, "state": enum ( |
Kolom | |
---|---|
name |
Hanya output. Nama resource untuk |
state |
Status |
protectionLevel |
Hanya output. |
algorithm |
Hanya output. |
attestation |
Hanya output. Pernyataan yang dibuat dan ditandatangani oleh HSM pada saat pembuatan kunci. Gunakan pernyataan ini untuk memverifikasi atribut kunci seperti yang disimpan di HSM, terpisah dari Google. Hanya disediakan untuk versi kunci dengan |
createTime |
Hanya output. Waktu saat Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: |
generateTime |
Hanya output. Waktu materi kunci Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: |
destroyTime |
Hanya output. Waktu materi kunci Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: |
destroyEventTime |
Hanya output. Saat materi kunci CryptoKeyVersion ini dihancurkan. Hanya ada jika Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: |
importJob |
Hanya output. Nama |
importTime |
Hanya output. Waktu saat materi kunci Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: |
importFailureReason |
Hanya output. Akar penyebab kegagalan impor terbaru. Hanya ada jika |
generationFailureReason |
Hanya output. Akar penyebab kegagalan pembuatan versi terbaru. Hanya ada jika |
externalDestructionFailureReason |
Hanya output. Akar penyebab kegagalan kerusakan eksternal terbaru. Hanya ada jika |
externalProtectionLevelOptions |
ExternalProtectionLevelOptions menyimpan grup kolom tambahan untuk mengonfigurasi |
reimportEligible |
Hanya output. Apakah versi kunci ini memenuhi syarat untuk diimpor ulang atau tidak, dengan ditentukan sebagai target dalam [ImportCryptoKeyVersionRequest.crypto_key_version][]. |
CryptoKeyVersionState
Status CryptoKeyVersion
, yang menunjukkan apakah dapat digunakan.
Enum | |
---|---|
CRYPTO_KEY_VERSION_STATE_UNSPECIFIED |
Tidak ditentukan. |
PENDING_GENERATION |
Versi ini masih dibuat. Atribut mungkin belum digunakan, diaktifkan, dinonaktifkan, atau dihancurkan. Cloud KMS akan otomatis menandai versi ini ENABLED segera setelah versi tersebut siap. |
ENABLED |
Versi ini dapat digunakan untuk operasi kriptografi. |
DISABLED |
Versi ini mungkin tidak digunakan, tetapi materi kunci masih tersedia, dan versi tersebut dapat dikembalikan ke status ENABLED . |
DESTROYED |
Versi ini dihancurkan, dan materi kunci tidak lagi disimpan. Versi ini hanya dapat menjadi ENABLED lagi jika versi ini adalah reimportEligible dan materi kunci asli diimpor ulang dengan panggilan ke [KeyManagementService.ImportCryptoKeyVersion][]. |
DESTROY_SCHEDULED |
Versi ini dijadwalkan untuk dimusnahkan dan akan segera dihancurkan. Panggil [RestoreCryptoKeyVersion][KeyManagementService.RestoreCryptoKeyVersion] untuk memasukkannya kembali ke status DISABLED . |
PENDING_IMPORT |
Versi ini masih diimpor. Atribut mungkin belum digunakan, diaktifkan, dinonaktifkan, atau dihancurkan. Cloud KMS akan otomatis menandai versi ini ENABLED segera setelah versi tersebut siap. |
IMPORT_FAILED |
Versi ini tidak berhasil diimpor. Data tersebut tidak dapat digunakan, diaktifkan, dinonaktifkan, atau dihancurkan. Materi kunci yang dikirimkan telah dihapus. Detail tambahan dapat ditemukan di CryptoKeyVersion.import_failure_reason . |
GENERATION_FAILED |
Versi ini tidak berhasil dibuat. Data tersebut tidak dapat digunakan, diaktifkan, dinonaktifkan, atau dihancurkan. Detail tambahan dapat ditemukan di CryptoKeyVersion.generation_failure_reason . |
PENDING_EXTERNAL_DESTRUCTION |
Versi ini telah dihancurkan, dan tidak dapat digunakan atau diaktifkan kembali. Cloud KMS sedang menunggu penghancuran materi kunci terkait yang ada di pengelola kunci eksternal. |
EXTERNAL_DESTRUCTION_FAILED |
Versi ini telah dihancurkan, dan tidak dapat digunakan atau diaktifkan kembali. Namun, Cloud KMS tidak dapat mengonfirmasi bahwa materi kunci terkait yang berada di pengelola kunci eksternal telah dihancurkan. Detail tambahan dapat ditemukan di CryptoKeyVersion.external_destruction_failure_reason . |
ProtectionLevel
ProtectionLevel
menentukan cara operasi kriptografi dijalankan. Untuk informasi selengkapnya, lihat Tingkat perlindungan.
Enum | |
---|---|
PROTECTION_LEVEL_UNSPECIFIED |
Tidak ditentukan. |
SOFTWARE |
Operasi kripto dilakukan dalam perangkat lunak. |
HSM |
Operasi kripto dilakukan dalam Modul Keamanan Hardware. |
EXTERNAL |
Operasi kripto dilakukan oleh pengelola kunci eksternal. |
EXTERNAL_VPC |
Operasi kripto dilakukan di backend EKM-over-VPC. |
CryptoKeyVersionAlgorithm
Algoritma CryptoKeyVersion
, yang menunjukkan parameter yang harus digunakan untuk setiap operasi kriptografi.
Algoritma GOOGLE_SYMMETRIC_ENCRYPTION
dapat digunakan dengan CryptoKey.purpose
ENCRYPT_DECRYPT
.
Algoritma yang dimulai dengan "RSA_SIGN_" dapat digunakan dengan CryptoKey.purpose
ASYMMETRIC_SIGN
.
Kolom dalam nama setelah "RSA_SIGN_" sesuai dengan parameter berikut: algoritma padding, panjang bit modulus, dan algoritma digest.
Untuk PSS, panjang salt yang digunakan sama dengan panjang algoritma ringkasan. Misalnya, RSA_SIGN_PSS_2048_SHA256
akan menggunakan PSS dengan panjang salt 256 bit atau 32 byte.
Algoritma yang dimulai dengan "RSA_DECRYPT_" dapat digunakan dengan CryptoKey.purpose
ASYMMETRIC_DECRYPT
.
Kolom yang diberi nama setelah "RSA_DECRYPT_" sesuai dengan parameter berikut: algoritma padding, panjang bit modulus, dan algoritme digest.
Algoritma yang dimulai dengan "EC_SIGN_" dapat digunakan dengan CryptoKey.purpose
ASYMMETRIC_SIGN
.
Kolom dalam nama setelah "EC_SIGN_" sesuai dengan parameter berikut: elliptic curve, digest algoritme.
Algoritma yang dimulai dengan "HMAC_" dapat digunakan dengan CryptoKey.purpose
MAC
.
Akhiran setelah "HMAC_" sesuai dengan algoritma hash yang digunakan (misalnya, SHA256).
Untuk mengetahui informasi selengkapnya, lihat Tujuan dan algoritma utama.
Enum | |
---|---|
CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED |
Tidak ditentukan. |
GOOGLE_SYMMETRIC_ENCRYPTION |
Membuat kunci enkripsi simetris. |
RSA_SIGN_PSS_2048_SHA256 |
Kunci RSASSA-PSS 2048 bit dengan ringkasan SHA256. |
RSA_SIGN_PSS_3072_SHA256 |
Kunci RSASSA-PSS 3072 bit dengan ringkasan SHA256. |
RSA_SIGN_PSS_4096_SHA256 |
Kunci RSASSA-PSS 4096 bit dengan ringkasan SHA256. |
RSA_SIGN_PSS_4096_SHA512 |
Kunci RSASSA-PSS 4096 bit dengan ringkasan SHA512. |
RSA_SIGN_PKCS1_2048_SHA256 |
RSASSA-PKCS1-v1_5 dengan kunci 2048 bit dan ringkasan SHA256. |
RSA_SIGN_PKCS1_3072_SHA256 |
RSASSA-PKCS1-v1_5 dengan kunci 3072 bit dan ringkasan SHA256. |
RSA_SIGN_PKCS1_4096_SHA256 |
RSASSA-PKCS1-v1_5 dengan kunci 4096 bit dan ringkasan SHA256. |
RSA_SIGN_PKCS1_4096_SHA512 |
RSASSA-PKCS1-v1_5 dengan kunci 4096 bit dan ringkasan SHA512. |
RSA_SIGN_RAW_PKCS1_2048 |
Penandatanganan RSASSA-PKCS1-v1_5 tanpa encoding, dengan kunci 2048 bit. |
RSA_SIGN_RAW_PKCS1_3072 |
Penandatanganan RSASSA-PKCS1-v1_5 tanpa encoding, dengan kunci 3072 bit. |
RSA_SIGN_RAW_PKCS1_4096 |
Penandatanganan RSASSA-PKCS1-v1_5 tanpa encoding, dengan kunci 4096 bit. |
RSA_DECRYPT_OAEP_2048_SHA256 |
Kunci RSAES-OAEP 2048 bit dengan ringkasan SHA256. |
RSA_DECRYPT_OAEP_3072_SHA256 |
Kunci RSAES-OAEP 3072 bit dengan ringkasan SHA256. |
RSA_DECRYPT_OAEP_4096_SHA256 |
Kunci RSAES-OAEP 4096 bit dengan ringkasan SHA256. |
RSA_DECRYPT_OAEP_4096_SHA512 |
Kunci RSAES-OAEP 4096 bit dengan ringkasan SHA512. |
RSA_DECRYPT_OAEP_2048_SHA1 |
Kunci RSAES-OAEP 2048 bit dengan ringkasan SHA1. |
RSA_DECRYPT_OAEP_3072_SHA1 |
Kunci RSAES-OAEP 3072 bit dengan ringkasan SHA1. |
RSA_DECRYPT_OAEP_4096_SHA1 |
Kunci RSAES-OAEP 4096 bit dengan ringkasan SHA1. |
EC_SIGN_P256_SHA256 |
ECDSA pada kurva NIST P-256 dengan ringkasan SHA256. Fungsi hash lainnya juga dapat digunakan: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms |
EC_SIGN_P384_SHA384 |
ECDSA pada kurva NIST P-384 dengan ringkasan SHA384. Fungsi hash lainnya juga dapat digunakan: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms |
EC_SIGN_SECP256K1_SHA256 |
ECDSA pada kurva secp256k1 non-NIST. Kurva ini hanya didukung untuk tingkat perlindungan HSM. Fungsi hash lainnya juga dapat digunakan: https://cloud.google.com/kms/docs/create-validate-signatures#ecdsa_support_for_other_hash_algorithms |
HMAC_SHA256 |
HMAC-SHA256 dengan kunci 256 bit. |
HMAC_SHA1 |
Penandatanganan HMAC-SHA1 dengan kunci 160 bit. |
HMAC_SHA384 |
HMAC-SHA384 yang ditandatangani dengan kunci 384 bit. |
HMAC_SHA512 |
HMAC-SHA512 yang ditandatangani dengan kunci 512 bit. |
HMAC_SHA224 |
HMAC-SHA224 yang ditandatangani dengan kunci 224 bit. |
EXTERNAL_SYMMETRIC_ENCRYPTION |
Algoritma yang merepresentasikan enkripsi simetris oleh pengelola kunci eksternal. |
KeyOperationAttestation
Berisi pengesahan yang dihasilkan HSM tentang operasi kunci. Untuk mengetahui informasi selengkapnya, lihat Memverifikasi pengesahan.
Representasi JSON |
---|
{ "format": enum ( |
Kolom | |
---|---|
format |
Hanya output. Format data pengesahan. |
content |
Hanya output. Data pengesahan yang diberikan oleh HSM saat operasi kunci dilakukan. String berenkode base64. |
certChains |
Hanya output. Rantai sertifikat yang diperlukan untuk memvalidasi pengesahan |
AttestationFormat
Format pengesahan yang disediakan oleh HSM.
Enum | |
---|---|
ATTESTATION_FORMAT_UNSPECIFIED |
Tidak ditentukan. |
CAVIUM_V1_COMPRESSED |
Pengesahan Cavium HSM dikompresi dengan gzip. Perhatikan bahwa format ini ditentukan oleh Cavium dan dapat berubah kapan saja. Lihat https://www.marvell.com/products/security-solutions/nitrox-hs-adapters/software-key-attestation.html. |
CAVIUM_V2_COMPRESSED |
Pengesahan Cavium HSM V2 dikompresi dengan gzip. Ini adalah format baru yang diperkenalkan dalam versi 3.2-08 Cavium. |
CertificateChains
Rantai sertifikat yang diperlukan untuk memverifikasi pengesahan. Sertifikat dalam rantai dienkode ke PEM dan diurutkan berdasarkan https://tools.ietf.org/html/rfc5246#section-7.4.2.
Representasi JSON |
---|
{ "caviumCerts": [ string ], "googleCardCerts": [ string ], "googlePartitionCerts": [ string ] } |
Kolom | |
---|---|
caviumCerts[] |
Rantai sertifikat Cavium yang sesuai dengan pengesahan. |
googleCardCerts[] |
Rantai sertifikat kartu Google yang sesuai dengan pengesahan. |
googlePartitionCerts[] |
Rantai sertifikat partisi Google yang sesuai dengan pengesahan. |
ExternalProtectionLevelOptions
ExternalProtectionLevelOptions menyimpan grup kolom tambahan untuk mengonfigurasi CryptoKeyVersion
yang spesifik untuk tingkat perlindungan EXTERNAL
dan tingkat perlindungan EXTERNAL_VPC
.
Representasi JSON |
---|
{ "externalKeyUri": string, "ekmConnectionKeyPath": string } |
Kolom | |
---|---|
externalKeyUri |
URI untuk resource eksternal yang diwakili |
ekmConnectionKeyPath |
Jalur ke materi kunci eksternal pada EKM saat menggunakan [EkmConnection][] misalnya, "v0/my/key". Tetapkan kolom ini, bukan externalKeyUri saat menggunakan [EkmConnection][]. |
CryptoKeyPurpose
CryptoKeyPurpose
menjelaskan kemampuan kriptografis CryptoKey
. Kunci yang diberikan hanya dapat digunakan untuk operasi yang diizinkan oleh tujuannya. Untuk informasi selengkapnya, lihat Tujuan utama.
Enum | |
---|---|
CRYPTO_KEY_PURPOSE_UNSPECIFIED |
Tidak ditentukan. |
ENCRYPT_DECRYPT |
CryptoKeys dengan tujuan ini dapat digunakan dengan [Encrypt][KeyManagementService.Encrypt] dan [Decrypt][KeyManagementService.Decrypt]. |
ASYMMETRIC_SIGN |
CryptoKeys yang memiliki tujuan ini dapat digunakan dengan [AsymmetricSign][KeyManagementService.AsymmetricSign] dan [GetPublicKey][KeyManagementService.GetPublicKey]. |
ASYMMETRIC_DECRYPT |
CryptoKeys dengan tujuan ini dapat digunakan dengan [AsymmetricDecrypt][KeyManagementService.AsymmetricDecrypt] dan [GetPublicKey][KeyManagementService.GetPublicKey]. |
MAC |
CryptoKeys dengan tujuan ini dapat digunakan dengan [MacSign][KeyManagementService.MacSign]. |
CryptoKeyVersionTemplate
CryptoKeyVersionTemplate
menentukan properti yang akan digunakan saat membuat CryptoKeyVersion
baru, baik secara manual dengan [CreateCryptoKeyVersion][KeyManagementService.CreateCryptoKeyVersion] atau secara otomatis sebagai hasil dari rotasi otomatis.
Representasi JSON |
---|
{ "protectionLevel": enum ( |
Kolom | |
---|---|
protectionLevel |
|
algorithm |
Wajib. Untuk kompatibilitas mundur, GOOGLE_SYMMETRIC_ENCRYPTION tersirat jika kedua kolom ini dihilangkan dan |
Metode |
|
---|---|
|
Menampilkan kunci kriptografis yang dikelola oleh Cloud KMS dalam project Cloud tertentu. |