Google Cloud KMS で暗号化/復号化にトライ

gcp

Cloud Key Management
https://cloud.google.com/security-key-management?hl=ja

Cloud KMS から鍵をエクスポートすることはできません。
これらの鍵を使用する暗号化と復号はすべて Cloud KMS 内で行う必要があります。

Cloud KMS に関する FAQ – 2021/03/08
https://cloud.google.com/kms/docs/faq?hl=ja

インポートされた鍵の確認
https://cloud.google.com/kms/docs/verifying-imported-key?hl=ja

Cloud KMSで暗号化された情報を使ってみる@Cloud Functions編
https://www.apps-gcp.com/kms-with-functions

Cloud KMSで平文を暗号化

Cloud KMSを使用して暗号化を行う方法として、下記2つを紹介いたします。

・gcloudコマンドを使用する
・Cloud KMSのクライアント(Python)を使用する

Cloud KMSを使う上で非常に面倒なところなのですが、Cloud KMSで平文(テキスト)を暗号化するとバイナリに変換されます。バイナリファイルを直接扱える環境であれば大した問題ではないのですが、このままではCloud Functionsの環境変数として設定ができないため、HEX(16進数)もしくはbase64でエンコードされたテキストとして出力します。

一般的にはbase64でエンコードする方法が使われると思いますが、16進数に変換するやり方も参考として紹介します。以下、Cloud Shellから hogehoge という文字列を暗号化する例です。

暗号化のテスト

gcloud コマンドで暗号化する

復号化のテスト

逆をやってみる。。。

Next.jsの場合

Next.js の env ファイルも KMS で暗号化できるのでしょうか。

【Node.js/Next.js】環境変数(.env)のチートシート|2021年6月版
https://zenn.dev/kazumax4395/articles/643ffc25d3f803

Next.jsの環境変数設定まとめ
https://qiita.com/KZ-taran/items/64cad61096cf45f18c24

コメント

タイトルとURLをコピーしました