AWS Key Management Service をお試しください

AWS の使用を開始する
またはコンソールにサインイン

アマゾン ウェブ サービスの無料アカウントを作成して、無料の製品とサービスを 12 か月間使用できます

AWS 無料利用枠の詳細はこちら »


AWS KMS は、データ暗号化の手間を軽減する管理型の暗号化サービスです。AWS Key Management Service では、可用性の高いキーストレージ、管理、監査ソリューションを提供し、AWS のサービス全体で、また独自のアプリケーション内でのデータの暗号化を可能にします。

アプリケーション内のデータを暗号化する必要がある開発者は、AWS Key Management Service のサポートを利用して AWS SDK を使用することをお勧めします。これにより、暗号化キーを簡単に使用および保護できます。開発者と増え続けるアプリケーションをサポートするためにスケーラブルなキー管理インフラストラクチャを必要としている IT 管理者は、AWS KMS を使用してライセンスコストと運用の負担を軽減できます。規制またはコンプライアンスに合わせてデータセキュリティを証明する必要があるお客様は、AWS KMS を使用して、データが使用および保存されているアプリケーション全体で一貫して暗号化されていることを確認できます。

AWS KMS の使用を開始する最も簡単な方法は、サポートされている AWS サービス内のデータを暗号化するチェックボックスを選択し、各サービスのアカウント内に作成されるデフォルトキーを使用することです。これらのキーをさらに厳密に管理する場合は AWS KMS でキーを作成し、サポートされている AWS サービスで暗号化リソースを作成するときに使用するために割り当てたり、独自のアプリケーションに直接使用したりできます。AWS KMS は、ウェブベースの場合は AWS Identity and Access Management (IAM) コンソールの [Encryption Keys] セクションから、プログラムの場合は AWS KMS コマンドラインインターフェイスまたは AWS Software Development Kit からアクセスできます。詳細はご利用開始にあたってのページをご覧ください。

利用可能なリージョンの一覧は、世界中を網羅した製品およびサービス一覧(リージョン別)ページでご覧いただけます。

AWS KMS では以下のキー管理機能を実行できます。

  • 単一のエイリアスおよび説明を付けたキーを作成する
  • 独自のキーをインポートする
  • どの IAM ユーザーおよび役割がキーを管理できるか定義する
  • どの IAM ユーザーおよび役割がキーを使用してデータを暗号化および解読できるか定義する
  • AWS KMS が 1 年ごとに自動でキーを更新するように設定する
  • 誰にもキーが使用されないように、一時的に無効にする
  • 無効にしたキーを再度有効にする
  • 使用しなくなったキーを削除する
  • AWS CloudTrail でログを調査してキーの使用を監査する

AWS KMS を使用すれば、キーの一元管理および安全な保存が可能です。KMS でキーを生成すること、またはキー管理インフラストラクチャからインポートすることが可能です。これらのキーは独自のアプリケーションまたはサポートされている AWS のサービスから使用してデータを保護できますが、キーが AWS KMS 外へ送信されることはありません。管理しているキーで暗号化または解読するように、データを AWS KMS に送信します。どのユーザーがキーを使用してデータを暗号化および解読できるかを定義する使用ポリシーをキーに設定できます。キーの使用をリクエストするユーザーはすべて AWS CloudTrail に記録されるため、誰が、いつ、どのキーを使用したかを把握できます。

AWS KMS を使用して独自のアプリケーションでローカルに暗号化することも、サポートされている AWS のサービスで暗号化することもできます。AWS KMS のサポートを利用して AWS SDK を使用することで、アプリケーションが実行されている場所を問わず暗号化できます。また、サポートされている AWS のサービスにリクエストして、保存されている場所でデータを暗号化できます。AWS CloudTrail は、それぞれの状況でキーがどのように使用されているかを監査できるようにログを作成します。

AWS Key Management Service は AWS の他のいくつかのサービスとシームレスに統合されており、それらのサービスでは簡単にデータを暗号化できます。お客様は、チェックボックスをオンにして、使用するマスターキーを選択するだけです。現在 KMS と統合されている AWS のサービスのリストについては、製品の詳細ページをご覧ください。統合されているサービス内で使用したキーはすべて AWS CloudTrail ログに出力されます。統合されているサービスで AWS KMS が使用される方法の詳細については、AWS KMS 開発者ガイドを参照してください。

AWS KMS と統合されている AWS クラウドサービスは、データを保護するためにエンベロープ暗号化と呼ばれる方法を使用します。エンベロープ暗号化は、2 つの異なるキーを使用したデータの暗号化に最適化された方法です。データキーが生成され、AWS サービスはそれを使用して、データまたはリソースの各要素を暗号化します。データキーは AWS KMS でお客様が定義したマスターキーによって暗号化されます。暗号化されたデータキーは AWS のサービスに保存されます。AWS のサービスによってデータを復号する必要がある場合、データキーは AWS KMS に渡され、データキーを暗号化したマスターキーで復号されます。これにより、サービスはデータを復号できるようになります。

AWS KMS は 4 KB 未満のデータ送信をサポートしていますが、エンベロープ暗号化にはパフォーマンス面で多大なメリットがあります。KMS で直接データを暗号化する場合、データをネットワーク経由で送信する必要があります。エンベロープ暗号化では、アプリケーションまたは AWS クラウドサービスのネットワーク負荷を軽減できます。ネットワークを経由する必要があるのは、KMS を使用したデータキーのリクエストおよび受理のみです。データキーは常に暗号化されたフォームで保存されるため公開される心配がなく、必要な場所に安全かつ簡単に配信できます。暗号化されたデータキーは AWS KMS に送られ、マスターキーで解読されます。これにより、データの解読が可能になります。データキーはアプリケーション内で直接使用できるため、データブロック全体を AWS KMS に送信する必要がなく、ネットワークレイテンシーも発生しません。

AWS のサービスがお客様に代わってデータを暗号化する場合に、お客様は使用する特定のマスターキーを選択できます。初めて暗号化リソースを作成する際に、各サービスに向けたデフォルトマスターキーがアカウント内に参考用として作成されます。キーは AWS KMS によって管理されますが、AWS CloudTrail でいつでも使用状況を監査できます。また、独自のアプリケーションで、またはサポートされている AWS のサービスから使用できるお客様専用のマスターキーも作成できます。AWS は必要に応じてデフォルトマスターキーのポリシーをアップデートし、サポートされているサービスの新機能を自動的に有効にします。AWS は、お客様が作成したキーのポリシーは変更しません。

AWS KMS でキーを作成すると、デフォルトのサービスマスターキーを使用するよりさらに厳重な管理ができます。お客様のマスターキーを作成する際は、KMS により生成されたキーマテリアルを使用、または独自のキーマテリアルをインポートすることができます。KMS により生成されたキーマテリアルがベースとなっている場合は、エイリアスと説明を定義し、キーが 1 年に 1 回自動的にローテーションされるように設定します。また、権限を設定してキーを使用および管理できるユーザーを制限できます。キーに関する管理および使用の状況は AWS CloudTrail で監査できます。

はい。独自のキー管理インフラストラクチャから KMS にキーのコピーをインポートして、統合された AWS のサービスで、または独自のアプリケーションでそれを使用できます。

インポートされたキーを使用して、KMS におけるキーの作成、ライフサイクル管理、および耐久性をより確実にコントロールできます。インポートされたキーは、コンプライアンス要件を満たすように設計されています。これには、インフラストラクチャのキーの安全なコピーを生成および維持する機能、および不要になった際に、AWS インフラストラクチャからオンデマンドでキーのインポートのコピーを削除する機能が含まれます。

256 ビットの対称キーをインポートできます。

インポートするキーは、2 つの RSA PKCS#1 スキームのいずれかを使用して、KMS が提供するパブリックキーで覆う必要があります。こうすれば、暗号化キーは KMS 以外では復号できなくなります。

自身がインポートしたキーと KMS により生成されたキーには主に 2 つの違いがあります。
  1. KMS にキーをインポートする場合は、随時それを再インポートできるように、キーのコピーを安全にキー管理インフラストラクチャに維持する必要があります。KMS により生成したキーの場合は、ユーザーがそのキーの削除を予定に入れるまで、AWS によりキーの可用性、セキュリティ、および耐久性が保証されます。
  2. インポートされたキーの有効期限を設定できます。そうすれば、有効期限が切れ次第、キーが KMS から自動的に削除されます。また、基礎となるお客様のマスターキーを削除せずに、オンデマンドでインポートされたキーを削除することもできます。さらに、お客様のマスターキーとインポートされたキーを随時手動で無効化または削除することも可能です。KMS により生成されたキーは、無効化または削除を予定することしかできません。このキーには、有効期限を設定することもできません。

はい。KMS により生成されたキーを毎年自動的にローテーションするように設定できます。インポートされたキーには、キーの自動ローテーションを設定することはできません。KMS にキーをインポートした場合は、随時手動でローテーションできます。

KMS により生成されたキーを自動的にローテーションすることを選択した場合は、データを再暗号化する必要はありません。AWS KMS は過去のバージョンのキーを保管して、そのキーで暗号化されたデータを解読できるようにします。AWS KMS のキーに対する新しい暗号化リクエストは、すべて最新バージョンのキーで実行されます。

手動でキーをローテーションする場合は、アプリケーションの設定に応じて、データを再暗号化する必要があります。 

はい。KMS で作成したお客様のマスターキーと関連するメタデータは削除を予定できます。削除までの待機期間は 7~30 日の間に設定できます。この待機期間中に、キーを削除することによって、そのキーを使用しているアプリケーションとユーザーが受ける影響を確認できます。デフォルトの待機期間は 30 日です。待機期間中に削除をキャンセルすることもできます。削除を予定したキーを使用することはできません。ただし、待機期間中に削除をキャンセルした場合はその限りではありません。キーは、削除をキャンセルしない限り、待機期間 (設定可能) の最後に削除されます。削除されたキーは使用できなくなります。削除されたマスターキーで保護されているデータはすべてアクセスできなくなります。

お客様のマスターキーがインポートされたキーマテリアルの場合は、2 つの方法でお客様のマスターキー ID とメタデータを削除せずにキーマテリアルを削除できます。1 つは、待機期間なしで、オンデマンドでインポートされたキーマテリアルを削除する方法です。2 つ目は、お客様のマスターキーにキーマテリアルをインポートする際に、AWS でインポートされたキーマテリアルを使用できる有効期限を定義する方法です。再度使用する必要が発生した場合は、キーマテリアルをお客様のマスターキーに再インポートできます。

元のお客様のマスターキーを使って、有効な有効期限が付いたキーマテリアルのコピーを KMS に再インポートできます。そうすれば、再び使用できるようになります。

はい。キーを一旦お客様のマスターキーにインポートすると、インポートされたキーの有効期限までの時間を知らせる Amazon CloudWatch メトリクスが数分ごとに届きます。また、お客様のマスターキーにインポートされたキーの有効期限が切れると、Amazon CloudWatch イベントが送信されます。可用性のリスクを回避するために、こうしたメトリクスとイベントに基づいて動作し、新しい有効期間で自動的にキーを再インポートするロジックを構築できます。 

はい。AWS KMS は AWS SDK、AWS Encryption SDK、および Amazon S3 Encryption Client でサポートされており、実行されている場所を問わずお客様のアプリケーションのデータ暗号化を可能にします。Java、Ruby、.NET、PHP プラットフォームの AWS SDK では、AWS KMS API がサポートされています。詳しくは、「Developing on AWS」のウェブサイトをご覧ください。

各リージョンのアカウントごとに最大 1000 個のお客様専用のキーを作成していただけます。有効および無効にされているお客様のマスターキーの合計数が上限に近づいたら、無効にされ使用しなくなったキーを削除することをお勧めします。AWS サービスで使用するためにお客様に代わって作成されるデフォルトマスターキーはこの数に含まれません。マスターキーで作成され、アプリケーションまたは AWS サービスでお客様に代わってデータを暗号化するデータキーの数に上限はありません。AWS サポートセンターで、お客様専用のキーの上限を引き上げるリクエストができます。

Amazon KMS については、お客様が使用した分に対してのみ料金が発生します。最低料金はありません。サービスの利用を開始するためのセットアップ料金や契約はありません。月末に、その月の使用料金が自動的にお客様のクレジットカードに請求されます。

作成したお客様のマスターキーすべて、および毎月のサービスに対して行われた API リクエストで無料利用枠を超過した分を請求できます。

価格情報については、AWS KMS の料金表ページをご覧ください。

はい。AWS の無料利用枠を利用すれば、すべてのリージョンで AWS KMS の使用を無料で開始できます。お客様に代わって作成されるデフォルトマスターキーはアカウント内に無料で保存できます。使用に対しても無料利用枠があり、毎月無料で決められた数のリクエストを AWS KMS に発信できます。無料利用枠も含め、現在の料金情報は、AWS KMS の料金表ページをご覧ください。

別途記載がない限り、表示される料金には VAT、売上税その他取引に対して適用される一切の税金等および関税は含まれません。日本の居住者であるお客様が AWS サービスをご利用になった場合には、料金とあわせて別途消費税をご請求させていただきます。こちらで詳しい情報をご覧ください。

AWS KMS はお客様が定義した使用および管理ポリシーを実行します。お客様のアカウントまたは別のアカウントの AWS Identity and Access Management (IAM) のユーザーおよび役割に対してキーの使用および管理を許可できます。

AWS KMS では誰もマスターキーにアクセスできないように設計されています。このサービスは、プレーンテキストのマスターキーをディスクに保存しない、メモリに保存しない、デバイスに接続できるシステムを制限するなど、幅広い堅牢化技術を使用してマスターキーを保護するように設計されたシステムを土台としています。サービス内でソフトウェアをアップデートしようとするアクセスは複数段階の承認プロセスによって管理され、このプロセスは Amazon の独立したグループによって監査およびレビューされます。

セキュリティ管理に関する詳細は、AWS KMS Cryptographic Details Whitepaperをご覧ください。さらに、AWS コンプライアンスに Service Organization Controls (SOC) レポートをリクエストすることで、AWS がデータおよびマスターキーの保護に使用しているセキュリティ管理方法について詳しくご確認いただけます。

 

はい。KMS は、暗号化とキー管理要件(主に PCI DSS 3.1 のセクション 3.5 と 3.6 で言及されている)を満たすのに役立つ機能とセキュリティ管理を有していると検証されています。

AWS の PCI DSS 準拠サービスの詳細については、PCI DSS よくある質問を参照してください。

お客様に返却してアプリケーションで使用できるデータキーを AWS KMS が生成するようにリクエストできます。データキーはお客様が AWS KMS で定義したマスターキーによって暗号化されます。そのため、暗号化されたデータキーは暗号化されたデータと合わせて安全に保存できます。暗号化されたデータキー(およびソースデータ)は、データキーの暗号化に使用されたマスターキーの使用許可を与えられたユーザーのみが解読できます。

AWS KMS のマスターキーの長さは 256 ビットです。データキーは 128 ビットまたは 256 ビットの長さで、お客様が定義したマスターキーで暗号化されます。また AWS KMS を使用すれば、暗号化に適したランダムデータをお客様が定義した長さで生成できます。

いいえ。マスターキーは AWS KMS でのみ作成および使用することにより、セキュリティを固め、ポリシーを一貫して適用し、一元化した使用状況のログを作成できます。

キーは作成されたリージョンにのみ保存されます。他のリージョンに移動することはできません。たとえば、欧州中央(フランクフルト)リージョンで作成されたキーは欧州中央(フランクフルト)でのみ保存および使用できます。

AWS CloudTrail のログは、管理リクエスト(作成、更新、無効化、ポリシーの編集など)および暗号化リクエスト(暗号化または解読)など、マスターキーに対するリクエストを表示します。アカウントで AWS CloudTrail を有効にすればこのログを確認できます。

AWS CloudHSM では、Amazon Virtual Private Cloud (VPC) でのキーの保存と使用のために、FIPS 140-2 レベル 3 検証済みシングルテナント HSM を利用できます。キーと、AWS CloudHSM でキーを使用するアプリケーションソフトウェアを完全に管理できます。さらに、AWS CloudHSM を使用すると、デジタル著作権管理 (DRM)、公開鍵基盤 (PKI)、非対称の暗号化機能、ドキュメントの署名、高性能な VPC 内暗号化の高速化など、さまざまなユースケースやアプリケーションに対応できます。

AWS KMS では、アプリケーションおよびサポートされている AWS サービスが世界中の複数のリージョンで使用する暗号化キーを単一のコンソールから管理できます。AWS KMS ですべてのキーを一元管理することにより、キーを使用できるユーザー、更新する時期、管理できるユーザーを設定できます。AWS KMS は AWS CloudTrail との統合により、キーの使用状況の監視を可能にし、規制およびコンプライアンスを満たすために役立ちます。