LoginSignup
24
22

More than 5 years have passed since last update.

Cloud KMSを使ってみる

Last updated at Posted at 2017-04-12

概要

GCPでは以下3つの暗号化ソリューションを提供しており、今回は暗号化キーの作成や管理をクラウドベースで行うことができるサービスであるCloud KMSを使ってみる。(Encryption by defaultは利用者が気にしなくてもGCP側で勝手に暗号化してくれる)

Screen Shot 2017-04-12 at 17.29.28.png

引用:https://cloudplatform-jp.googleblog.com/2017/01/managing-encryption-keys-in-the-cloud-introducing-Google-Cloud-Key-Management-Service.html

Cloud KMS API を利用することで介すことで、秘密管理やエンベロープ暗号化ソリューションの一部として、キーの作成、使用、ローテーション、破棄を可能にしている。

鍵の作成

手順1. KeyRing名とlocationを設定
KeyRingはCryptoKeyをグルーピングしたものであり、GCPの特定のロケーションに属する。(グルーピングした方が管理しやすいため)。

resources2.png
引用元:https://cloud.google.com/kms/docs/object-hierarchy

Screen Shot 2017-04-12 at 16.44.58.png

手順2. Key名を設定
CryptoKeysはKeyRingからの権限を継承する。
Screen Shot 2017-04-12 at 17.04.38.png

作成すると以下の画面で確認できる。
Screen Shot 2017-04-12 at 17.05.20.png

Cloud KMSで管理している鍵を使って、ファイルの暗号化と復号を行う。

暗号化と復号を行うPythonのコードはクイックスタートのコードを使用する。

gsutil cp -r gs://cloudkms-eap-resources/quickstart .

以下のコマンドでファイルを暗号化

$ python crypter.py $PROJECT_NAME encrypt /tmp/test_file /tmp/test_file.encrypted
$ cat /tmp/test_file.encrypted 
CiQAkyqlpvH5W7e/W5nZluSZeitnT9gPENSj+s3gG0tQLqQPJKMSMwCiNopxhxTc7nBaS0u8ZtDzr/Pjz8a7Lqb2wF7LzcOwLvVPo8+
CMR7uWffW7FvYZ61/pA==

以下のコマンドでファイルを復号

$ python crypter.py $PROJECT_NAME decrypt /tmp/test_file.encrypted /tmp/test_file.decrypted
$ cat /tmp/test_file.decrypted 
Hello KMS

API経由で鍵を操作し、ファイルに対して暗号化と復号ができることを確認した。

24
22
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
24
22