[新サービス] AWS Key Management Serviceを触ってみた #reinvent

2014.11.13

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ども、大瀧です。
開催中のAWSプライベートイベント、re:Inventで続々と新サービスが発表になっています(他のブログエントリーでチェックしましょう)!今回は、AWS Key Management Service(KMS)という新サービスに触ってみたのでレポートします。

KMS(Key Management Service)とは

KMSは、暗号鍵の管理を提供する高いセキュリティ性、可用性を持つサービスです。鍵自体の作成・管理はもちろん、AWSの以下のサービスの暗号化機能と連携し、簡単に設定できるようになっています。

鍵の作成と構成

KMSは、IAMのサブ機能としてIAMの管理画面からアクセスします。IAMの管理画面のメニューにある[Encryption Keys]でKMSの画面を表示します。初期状態ではWelcome画面になっているので、[Get Started Now]をクリックすると鍵のリスト画面に切り替わります。

kms-ataglance01

[Create Key]をクリックし、鍵を作成します。

kms-ataglance02

キー名と説明を入力し、[Next Step]をクリックします。

kms-ataglance03

鍵の管理者ユーザーと利用するユーザーをそれぞれ選択します。今回は同一アカウントのユーザーを選んでいますが、異なるAWSアカウントも指定できるようです。

kms-ataglance04

kms-ataglance05

ここまでの構成を示す、IAMポリシーが表示されます。確認し、[Finish]をクリックすれば鍵が作成されます。

kms-ataglance06

できました!

kms-ataglance07

鍵の利用

それでは、作成した鍵を使ってみましょう。今回はS3のSSE(Server Side Encryption)機能の鍵に利用してみます。S3の管理画面を表示し、ファイルアップロード画面で詳細設定([Set Details])を表示します。[Use Server Side Encryption]のチェックをオンにし、[Use an AWS Key Management Service master key]で作成した鍵を指定し、アップロードします。

kms-ataglance08

ファイルのプロパティを見ると、確かに今回の鍵で暗号化されていることが確認できました。

kms-ataglance09

まとめ

KMSの鍵の作成方法とS3 SSEでの扱い方をご紹介しました。これ以外にも、EBS、Redshiftでも利用することができます。また、AWS CLIでもaws kms encryptコマンドおよびaws kms decryptコマンドでの暗号・復号もできそうなのですが、試した範囲ではエラーになってしまい、試すことができませんでした。AWS CLIでうまく使えれば、汎用的なデータ保護の手段としてよ用途が広がりそうですよね。