Igo*_*nko 3 google-cloud-storage google-cloud-platform google-cloud-kms
我正在按照 GCP 的说明在存储桶中存储机密。KMS 用于在文件上传到存储桶之前对其进行加密。
由于数据加密发生在 Google 的存储之外,因此我对密钥轮换的一个方面感到有些困惑。
让我们考虑一个特定的场景:
A(这实际上是A_ver1由于密钥版本)。此外,密钥轮换策略设置为每年触发轮换。some_file.txt与A_ver1:
curl -s -X POST "https://cloudkms.googleapis.com/v1/projects/my-project/<...>" \
-d "{\"plaintext\":\"<...SOME_FILE_CONTENT...>\"}" \
-H "Authorization:Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type:application/json"。some_file.txt.encrypted。A_ver1被禁用A_ver2被生成和激活。some_file.txt.encrypted. 我正在下载文件,然后尝试运行命令以使用A_ver2...问题 1:A_ver2如果文件是用早期版本加密的,当我尝试解密文件时会发生什么A_ver1?
问题 2:如果解密失败,我应该首先做什么来防止它?
小智 5
在您的场景中,步骤 4 中的旋转描述不太正确。当您轮换 CryptoKey 时,会生成新的 CryptoKeyVersion 并将其作为 CryptoKey 的主要版本,但旧版本不会发生任何变化。也就是说,对于您的场景,A_ver1仍然启用,但另一个启用的版本A_ver2是主版本。
为了回答您的问题,
问题1:当您尝试解密文件时,不需要指定CryptoKeyVersion,只需指定CryptoKey;该服务将为您提供正确的版本。如果您尝试解密已使用现已禁用(或销毁)的 CryptoKeyVersion 加密的文件,则解密调用将失败。
问题 2:这取决于您要优化的目的。例如,如果您使用轮换来尝试限制使用任何一个版本加密的数据量,那么您可能不想禁用旧版本,并长期保留这些版本。您可能只想禁用大量版本之外的关键版本。在这种情况下,您可以跟踪用于特定数据的密钥版本,并重新加密所有受影响的数据。
| 归档时间: |
|
| 查看次数: |
429 次 |
| 最近记录: |