Google 云 KMS 存储自定义密钥

Google cloud KMS store custom keys

是否可以将我手动生成的 AES-256 密钥存储到 google 云 kms。 我成功地创建了由 Google 完全管理和创建的密钥,但是如何处理在采用 google 云之前生成的密钥?

我们目前不支持导入密钥,但即使支持,我们目前也没有记录加密数据的格式,因此我们无法支持与您自己加密的数据的互操作性。

此用例的解决方案通常是在 KMS 中使用主密钥来包装 AES 密钥,然后将包装后的密钥存储在数据存储中。然后,您可以 bootstrap 从配置到您部署的代码中的服务帐户身份,使用它们来授权使用 KMS 来解包您的 AES 密钥,然后使用解包的密钥 encrypt/decrypt 您的数据。

当时 Tim 的回答是正确的,但是 Cloud KMS now supports Key Import

创建导入作业:

$ gcloud kms import-jobs create "my-job" \
  --location "us-central1" \
  --keyring "my-keyring" \
  --import-method "rsa-oaep-4096-sha1-aes-256" \
  --protection-level "hsm"

导入您的密钥:

$ gcloud kms keys versions import \
  --import-job "my-job" \
  --location "us-central1" \
  --keyring "my-keyring" \
  --key "my-key" \
  --algorithm "<algorithm>" \
  --target-key-file ./path/to/my.key