JAWS-UG CLI専門支部 KMS入門 (2016/8/15)
昨年からほぼ毎回参加しているCLIですが、今回は終戦記念日スペシャル。
黒船の出島、目黒からスペシャルゲストがいらっしゃるプレミアム。
基調講演
まずはKMSとCloudHSMを担当していらっしゃるSA布目さんによる基調講演
普段あまり使う機会が無い人が多いであろうKMSをわかりやすく説明いただきました。
ちょうど勉強会の3日前にアップデートがあり、こちらも解説がありました。
●8月11日アップデート
鍵のインポート機能が追加されました。
これって何に使うの?
オンプレミスで既に鍵管理を行っていて、同じ鍵を使いたい場合に使う。
256ビット鍵のみ対応。有効期限はインポート時に決めることができる。
これによりAWS上でも同じ鍵が使えるため、オンプレミスから暗号をほどかずデータをそのまま持ち込めるメリットがあります。
詳細は公式ドキュメントを読んでもらうとして。
KMSのポイント。
・KMSとは保管データの暗号化・復号化を行うもの。(通信データは対象外)
もともとは鍵を暗号化するためのもの。4kBまでの任意のデータを暗号化可能。
例えばDynamo DBなど暗号非対応サービスのデータを暗号化する場合に使う。
共通鍵暗号のみ。公開鍵暗号ではない。
リージョン間の鍵の共有不可能。しかし、鍵にはエイリアスを付けられるのでアプリに実装する場合エイリアスで呼び出す実装にすると良い。
・KMSの暗号鍵はエンベロープ暗号化。
最初にカスタマーマスターキーを作成し、それを用いデータキーを作成する。
実際にデータを暗号化するのはデータキーを取り出して行う。
・アクセス監査。
Cloudtrailに鍵の使用履歴が残る。
・アクセス許可。
同じアカウントでも特定のアプリに暗号化のみ復号化のみといった制御ができる。
・無料枠はありません。
キー1つにつき月額1ドル。
削除予約機能が実装され、無効(disable)にしても課金対象になりました。
削除予約(7~30日で設定。設定日経過後に自動削除)すると課金されません。
キーを削除すると過去にそのキーを使用して暗号化したデータは全て復号不可能。
予約期間中は削除を取り消し復活させる事が出来ますが、削除予約日にさかのぼって費用が請求されます。
・CloudHSMとKMSの違い。
KMSは主要なAPIは100rps(毎秒100リクエスト)でスロットリングする。
超過したリクエストは、時が経過するまで待たされる。
CloudHSMは超高速。本体性能は7000だがネットワーク越しなので実質3~4000rps程度。
KMS非対応のものもある。
Oracleの透過的データ暗号化はCloudHSMを導入するしかない。
・実はKMSを(裏で)使っていたりすることはよくある。
KMSは他のサービスに結構インテグレートされている。
CLIで --encrypted とかオプションがあるのは裏でKMSが使われています。
KMS CLIハンズオン
続いて中山プロによるハンズオンが行われ、参加者全員でKMSを体験。
鍵の作成、ローカルでのデータの暗号化・復号化から始めて、
S3への暗号化してファイルをアップロード。
鍵を無効化するとS3からファイルが読み出せなくなり、再び有効化すると読み出せる。
と、一通りKMSの機能を体験するハンズオンでした。
興味を持たれた方、やってみませんか?資料はこちら。
https://jawsug-cli.doorkeeper.jp/events/41911
懇親会!
懇親会に参加するまでが勉強会ですよ。
基調講演に登壇いただいた布目さん、ハンズオン講師の中山プロはもちろんのこと、
AWSJからCloudHSMに大変お詳しいテリトリーマネージャーの亀田さんも参加。
やっぱり亀田さん!懇親会が大変盛り上がりました。
JAWSの懇親会にこの人は欠かせません。またの参加をお待ちしております。
JAWS-UG CLI専門支部では毎回ハンズオンでAWSのサービスを体験します。
次回は8月29日、
JAWS-UG CLI専門支部 #61 復習編: AutoScaling入門
です。参加者募集中。復習でのんびりやりますから初心者の方も歓迎。
しっかり学んで、楽しく飲もう!