情報セキュリティはデータがクラウド上に保管されているか、オンプレミスに保管されているかに関わらず、常に最も重要なものです。AWSがその初期のころより、私達はお客様がどのようなアプリケーションやデータをクラウド上に移せるか、移すべきなのか十分に考慮して決断するために必要となる情報やサービス、機能を提供するためにベストを尽くしてきました。
暗号化がデータ保護戦略の主要な要素の一つであることに反対する人はいないと思います。これまで私達はお客様にAmazon Simple Storage Service(S3)のクライアントサイド、サーバーサイド暗号化や、Amazon Elastic Block Store(EBS)、Amazon Redshift、そしてAmazon RDS for OracleとAmazon RDS for SQL Serverのサーバーサイド暗号化といったいくつもの選択肢を提供してきました。これまでのところ、サーバーサイド暗号化のサポートは、それらのサービスがAWS内で生成、保管、管理される"マスターキー"を利用することで提供されてきました。
今日、私達はクラウド上のみならずオンプレミスで稼働するアプリケーションやサービスのマスターキーを管理することができる、新しくそして強力な鍵管理の選択肢を追加いたします!
AWS Key Management Service (KMS)の紹介
この新しいフルマネージドなAWS Key Management Service(KMS)は暗号化キーのシームレスで集中化された管理を提供するように作られています。このサービスはお客様にデータ保護の新しい選択肢を与え、エンタープライズスケールで鍵管理を導入する際に必ず遭遇するスケーラビリティや可用性といった煩わしい問題の多くからお客様を解放します。その適切な利用により、AWS Key Management Serviceはクラウド上に機密情報を置くことに対する懸念に対処することにも役立ちます。

このサービスはディスク上に鍵を保管しない、メモリー上に鍵を保持し続けない、そしてデバイスに接続できるシステムを制限するといった広範なハードニング技術により鍵を保護するシステム上に構築されています。サービスのソフトウェアアップデートを行うための全てのアクセスは、アマゾンの独立したグループによるレビューと監査を受ける多階層の承認プロセスにより管理されています。メンテナンスのためのすべての物理的なアクセスは厳しく管理され、記録されています(複数人の、シニアレベルの従業員が協業しなければいけません)。
S3、EBS、RDSそしてRedshiftはAWS Key Management Serviceにより管理された鍵を用いて保管するデータの暗号化を行うことができます。お客様は各サービスのデフォルトのマスターキーを利用するか、AWS Key Management Serviceを利用してお客様自身の鍵を生成、管理するか選択することができます。お客様は各サービス、アプリケーションタイプ、データの分類ごとに鍵の利用を定義することができます。どのような選択であれこのサービスはどのマスターキーがデータを保護するのかまとめてくれます。どのようなオペレーションを選択したとしても、鍵に関する全ての通常の操作(生成、ローテート、有効化、無効化)はAWS Management Consoleや鍵管理用APIを通じて行うことができます。また鍵に関する全ての 操作はAWS CloudTrailに記録されます。お客様は特定の鍵がいつ、どのように使われ、そしてどのサービスが使ったのかそのログから知ることができます。
AWSのサービスのための鍵管理に加え、AWS Key Management Service(KMS)は豊富な鍵管理と暗号化APIを提供することにより、AWS及びオンプレミス上のアプリケーションに強固で完全に統合された暗号機能を付与するプロセスを合理化を行います。
AWS Key Management Serviceを利用した鍵の生成
早速鍵を作成してみましょう! Identity and Access Management Consoleを開き、Encryption Keysをクリックして下さい。この時点では既存の鍵を確認することができます(私のS3バケットやEBSボリューム、Redshiftのデータウェアハウスを暗号化するようにした際、KMSがこれらの鍵を作成しました。):

新しい鍵を作成するにはCreate Keyをクリックします。(簡単な3ステップの操作です)初めのステップは鍵に対するAlias(表示名)を指定し、デスクリプションを与えることです:

次に、一つもしくは複数のIAMユーザーやロールを選択することで誰が新しい鍵の管理を許されるか決める必要があります:

三番目のそして最後のステップとして、データの暗号化や復号化にその鍵の利用を許すユーザーやロール、他のAWSアカウントを決めます。このステップで決められたパーミッションはAPIによる直接の利用にも、KMSに統合されているAWSサービスでの利用にも適用されます:

EBSとS3での鍵の利用
さぁ、鍵が作られました。先ほど触れたどのAWSサービスでも(そして将来的にはその他でも)容易に鍵を利用することができます!こちらが作成した鍵で暗号化したEBSボリュームの作り方です:

そしてこちらがオブジェクトをS3にアップロードした後に暗号化するやり方です:

鍵の利用に関する管理と監査
鍵に関する全ての情報は1クリックで取得可能です:

鍵に対する全てのAPIリクエストはAWS CloudTrailにログされるため、利用者はいつ、どこで、だれによってどのように鍵が利用されたか追跡し、見て取ることができます。
鍵管理APIs
ここまで触れてきた全ての機能はプログラムによっても利用可能です。利用者は鍵の生成、削除、有効化、無効化を行うことができます。その鍵を利用することでデータの暗号化と復号化を行うことができます。また鍵ローテーションの有効可や無効化も可能です。AWS上やオンプレミスのアプリケーションはこうしたAPIを鍵管理と暗号化のために利用することができます。
新しいWhite Paper
KMSを利用した場合のAWSにおける暗号化の仕組みについてより知りたい方は私たちの新しいWhite Paper AWS KMS - Cryptographic Detailsをダウンロードし、お読みください。
価格と利用に関して
この新しいサービスは全ての公式なAWSリージョンで本日より利用になれます。
(開始するためにAWS Key Management Service(KMS)のページをご覧ください。)
お客様は一つの鍵のバージョンにつき月々$1で鍵の生成と利用、管理を行うことが可能です。サービスに対するAPIリクエストは10000リクエストにつき$0.03になっています。一月あたり20000リクエストの無料枠を用意しています。
-- Jeff; (日本語訳は高田が担当しました)