AWS KMS の概念 - AWS Key Management Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS KMS の概念

AWS Key Management Service (AWS KMS) で使用される基本的な用語と概念、およびそれらが連携してデータを保護する方法について説明します。

AWS KMS keys

AWS KMS keys (KMS キー) は、 のプライマリリソースです AWS KMS。KMS キーを使用して、データの暗号化、復号、再暗号化を行うことができます。また、 の外部で使用できるデータキーを生成することもできます AWS KMS。通常は、対称 KMS キーを使用しますが、暗号化や署名には非対称 KMS キーを作成して使用することができ、HMAC KMS キーを作成および使用して、HMAC タグを生成および検証します。

注記

AWS KMS は、カスタマーマスターキー (CMK) という用語を AWS KMS keyおよび KMS キー に置き換えます。この概念に変更はありません。重大な変更を防ぐために、 AWS KMS ではこの用語のバリエーションがいくつか残されています。

AWS KMS keyは、暗号化キーの論理表現です。KMS キーには、キー ID、キー仕様キー使用法、作成日、説明、およびキーステータスなどのメタデータが含まれます。最も重要なのは、KMS キーを使用して暗号化オペレーションを実行するときに使用されるキーマテリアルへの参照が含まれていることです。

AWS KMS FIPS 検証済みハードウェアセキュリティモジュール で生成された暗号化キーマテリアルを使用して KMS キーを作成できます。対称 KMS キーのキーマテリアルと非対称 KMS キーのプライベートキーは、 AWS KMS を暗号化されないままにしません。KMS キーを使用または管理するには、 AWS KMSを使用します。KMS キーの作成と管理に関する詳細については、 キーの管理 を参照してください。KMS キーを使用する方法の詳細については、「AWS Key Management Service API リファレンス」を参照してください。

デフォルトでは、 は KMS キーのキーマテリアル AWS KMS を作成します。このキーマテリアルを抽出、エクスポート、表示、管理することはできません。唯一の例外は、非対称キーペアのパブリックキーで、エクスポートすることで AWSの外部で使用できます。また、このキーマテリアルは削除できません。KMS キーを削除する必要があります。ただし、独自のキーマテリアルを KMS キーにインポートするか、カスタムキーストアを使用して、 AWS CloudHSM クラスター内のキーマテリアルを使用する KMS キー、または の外部で所有および管理している外部キーマネージャー内のキーマテリアルを作成できます AWS。

AWS KMS は、1 つの でデータを暗号化し、別の で復号化できるマルチリージョンキー もサポートしています AWS リージョン。 AWS リージョン

KMS キーの作成と管理に関する詳細については、 キーの管理 を参照してください。KMS キーを使用する方法の詳細については、「AWS Key Management Service API リファレンス」を参照してください。

カスタマーキーと AWS キー

お客様が作成する KMS キーはカスタマーマネージドキーです。サービスリソースの暗号化に KMS キーを使用する AWS のサービス では、多くの場合お客様が使うキーを作成します。 AWS アカウントで が AWS のサービス 作成する KMS キーは ですAWS マネージドキー。がサービスアカウントで AWS のサービス 作成する KMS キーは ですAWS 所有のキー

KMS キーのタイプ KMS キーメタデータを表示可能 KMS キーを管理可能 自分の にのみ使用されます。 AWS アカウント 自動ローテーション 料金表
カスタマーマネージドキー はい はい あり オプション。毎年 (約 365 日)

月額料金 (時間単位の日割り計算)

従量課金料金

AWS マネージドキー あり いいえ あり 必須。毎年 (約 365 日)

月額料金なし

使用ごとの料金 (この料金 AWS のサービス を支払う場合もあります)

AWS 所有のキー なし いいえ なし 可変 料金はかかりません

AWS と統合する サービスは AWS KMS、KMS キーのサポートが異なります。一部の AWS サービスでは、デフォルトで AWS 所有のキー または を使用してデータを暗号化します AWS マネージドキー。一部の AWS サービスは、カスタマーマネージドキーをサポートしています。他の AWS サービスは、 の使いやすさ、 の可視性 AWS 所有のキー、 AWS マネージドキーまたはカスタマーマネージドキーの制御を可能にするすべてのタイプの KMS キーをサポートしています。 AWS サービスが提供する暗号化オプションの詳細については、 ユーザーガイドの保管時の暗号化トピックまたは サービスのデベロッパーガイドを参照してください。

カスタマーマネージドキー

お客様が作成する KMS キーは、カスタマーマネージドキーです。カスタマーマネージドキーは、ユーザーが作成、所有、管理する の KMS キー AWS アカウント です。これらの KMS キーは、キーポリシー、IAM ポリシー、グラントの確立と管理、有効化と無効化暗号化マテリアルのローテーションタグの追加、KMS キーを参照するエイリアスの作成KMS キー削除のスケジューリングなどを完全に制御できます。

カスタマーマネージドキーは、 AWS KMSの AWS Management Console のカスタマーマネージドキーページに表示されます。カスタマーマネージドキーを明確に識別するには、 DescribeKeyオペレーションを使用します。カスタマーマネージドキーでは、DescribeKey レスポンスの KeyManager フィールドの値は CUSTOMER です。

暗号化オペレーションでカスタマーマネージドキーを使用し、 AWS CloudTrail ログでその使用を監査できます。さらに、AWS KMSと統合されている多数のAWS のサービスを使用すると、カスタマーマネージドキーを指定して保存および管理するデータを保護できます。

カスタマーマネージドキーの使用には、月額料金と、無料利用枠を超えた使用に対する料金がかかります。アカウントの AWS KMS クォータに対してカウントされます。詳細については、「AWS Key Management Service 料金表」および「クォータ」を参照してください。

AWS マネージドキー

AWS マネージドキー は、 AWS と統合された サービスによってユーザーに代わって作成、管理、使用される アカウントの KMS AWS KMSキーです。

一部の AWS サービスでは、 AWS マネージドキー またはカスタマーマネージドキーを選択して、そのサービスのリソースを保護できます。一般に、リソースを保護する暗号化キーを制御する必要がある場合を除き、 AWS マネージドキー が適しています。キーまたはそのキーポリシーを作成または維持する必要はなく、 AWS マネージドキーの月額料金はまったく発生しません。

アカウントで を表示 AWS マネージドキーし、そのキーポリシー を表示し、 AWS CloudTrail ログでの使用を監査するアクセス許可があります。ただし、 のプロパティを変更したり AWS マネージドキー、ローテーションしたり、キーポリシーを変更したり、削除をスケジュールしたりすることはできません。また、暗号化オペレーション AWS マネージドキー で を直接使用することはできません。それらを作成するサービスは、ユーザーに代わってそれらを使用します。

AWS マネージドキー は、 AWS Management Console の AWS マネージドキーページに表示されます AWS KMS。aws/service-nameなどの形式 を持つエイリアス AWS マネージドキー で を識別することもできますaws/redshift。を明確に識別するには AWS マネージドキー、 DescribeKeyオペレーションを使用します。 AWS マネージドキーの場合、DescribeKey レスポンスの KeyManager フィールドの値は AWS です。

すべての AWS マネージドキー は毎年自動的にローテーションされます。このローテーションスケジュールは変更できません。

注記

2022 年 5 月に、 は のローテーションスケジュールを 3 年ごと (約 1,095 日) AWS マネージドキー から毎年 (約 365 日) AWS KMS に変更しました。

新しい AWS マネージドキー は、作成されてから 1 年後に自動的にローテーションされ、その後はほぼ毎年ローテーションされます。

既存の AWS マネージドキー は、最新のローテーションから 1 年後に自動的にローテーションされ、その後は毎年ローテーションされます。

には月額料金はかかりません AWS マネージドキー。無料利用枠を超える使用料が発生する場合がありますが、一部の AWS サービスではこれらのコストがカバーされます。詳細については、サービスのユーザーガイドまたはデベロッパーガイドの「保管時の暗号化 」トピックを参照してください。詳細については、「AWS Key Management Service の料金表」を参照してください。

AWS マネージドキー は、アカウントの各リージョンの KMS キーの数のリソースクォータにはカウントされません。ただし、アカウントのプリンシパルに代わって使用される場合、KMS キーはリクエストクォータに対してカウントされます。詳細については、「クォータ」を参照してください。

AWS 所有のキー

AWS 所有のキー は、 AWS サービスが複数の で使用するために所有および管理する KMS キーのコレクションです AWS アカウント。 AWS 所有のキー は にはありませんが AWS アカウント、 AWS サービスは AWS 所有のキー を使用してアカウントのリソースを保護できます。

一部の AWS サービスでは、 AWS 所有のキー またはカスタマーマネージドキーを選択できます。一般的に、 リソースを保護する暗号化キーを監査または制御する必要がない限り、 は適切な選択肢 AWS 所有のキー です。 AWS 所有のキー は完全に無料 (月額料金や使用料なし) で、アカウントのAWS KMS クォータにはカウントされず、簡単に使用できます。キーまたはそのキーポリシーを作成または管理する必要はありません。

のローテーションはサービス AWS 所有のキー によって異なります。特定の のローテーションについては AWS 所有のキー、 サービスのユーザーガイドまたはデベロッパーガイドの「保管時の暗号化」トピックを参照してください。

対称暗号化 KMS キー

を作成すると AWS KMS key、デフォルトで対称暗号化用の KMS キーが取得されます。これは、最もよく使用されるタイプの基本的な KMS キーです。

では AWS KMS、対称暗号化 KMS キーは 256 ビット AES-GCM 暗号化キーを表します。ただし、中国リージョンでは 128 ビット SM4 暗号化キーを表します。対称キーマテリアルは、暗号化 AWS KMS されずに を残すことはありません。対称暗号化 KMS キーを使用するには、 を呼び出す必要があります AWS KMS。対称暗号化キーは対称暗号化で使用され、同じキーが暗号化と復号に使用されます。タスクが非対称キーを明示的に要求する場合以外は、暗号化されずに AWS KMS 外で使用されることがない対称暗号化 KMS キーが適切な選択肢になります。

AWS と統合された サービスは、 AWS KMS対称暗号化 KMS キーのみを使用してデータを暗号化します。これらのサービスは、非対称 KMS キーを使用する暗号化をサポートしません。KMS キーが対称か非対称かを判断する方法については、「非対称 KMS キーの識別」を参照してください。

具体的には、対称キーのキー仕様は SYMMETRIC_DEFAULT、キー使用法は ENCRYPT_DECRYPT、暗号化アルゴリズムは SYMMETRIC_DEFAULT です。詳細については、「SYMMETRIC_DEFAULT キー仕様」を参照してください。

で対称暗号化 KMS キーを使用して、データを AWS KMS 暗号化、復号、再暗号化し、データキーとデータキーペアを生成できます。マルチリージョンの対称暗号化 KMS キーの作成、対称暗号化 KMS キーへの独自のキーマテリアルのインポート、およびカスタムキーストアでの対称暗号化 KMS キーの作成が可能です。異なるタイプの KMS キーで実行できるオペレーションを比較した表については、「キータイプリファレンス」を参照してください。

非対称 KMS キー

AWS KMSで非対称 KMS キーを作成できます。非対称 KMS キーは、数学的に関連するパブリックキーとプライベートキーペアを表します。プライベートキーが暗号化 AWS KMS されていないままになることはありません。プライベートキーを使用するには、 を呼び出す必要があります AWS KMS。API AWS KMS オペレーションを呼び出し AWS KMS て 内でパブリックキーを使用するか、パブリックキーをダウンロードして の外部で使用できます AWS KMS。マルチリージョン非対称 KMS キーを作成することもできます。

RSA キーペア、楕円曲線キーペア、または SM2 キーペアを表す非対称 KMS キーを作成できます (中国リージョンのみ)。RSA キーペアを持つ KMS キーを使用して、データを暗号化または復号化したり、メッセージに署名および検証したりできます (両方はできません)。NIST が推奨する楕円曲線キーペアを持つ KMS キーを使用して、メッセージに署名して検証したり、共有シークレットを取得したりできます (両方ではありません)。キーペアを持つ KMS ECC_SECG_P256K1 キーは、メッセージの署名と検証にのみ使用できます。SM2 (中国リージョンのみ) キーペアを持つ KMS キーは、データの暗号化と復号、メッセージの署名と検証、共有シークレットの取得に使用できます (キー使用タイプを 1 つ選択する必要があります)。

非対称 KMS キーの作成と使用の詳細については、「の非対称キー AWS KMS」を参照してください。

HMAC KMS キー

HMAC KMS キーは、Hash-based Message Authentication Code (HMAC) の生成と検証に使用されるさまざまな長さの対称キーを表します。HMAC キーのキーマテリアルは、暗号化 AWS KMS されていないままになることはありません。HMAC キーを使用するには、GenerateMac または VerifyMac API オペレーションを呼び出します。

マルチリージョンの HMAC KMS キーを作成することもできます。

HMAC KMS キーの作成と使用の詳細については、「AWS KMS での HMAC キー」を参照してください。

データキー

データキーは、大量のデータ、および他のデータ暗号化キーなどのデータを暗号化するために使用できる暗号化キーです。ダウンロードできない対称 KMS キー とは異なり、データキーは の外部で使用するために返されます AWS KMS。

がデータキー AWS KMS を生成すると、すぐに使用できるプレーンテキストのデータキー (オプション) と、データと共に安全に保存できる暗号化されたデータキーのコピーが返されます。データを復号する準備ができたら、まず暗号化されたデータキーを復号するように AWS KMS に依頼します。

AWS KMS はデータキーを生成、暗号化、復号します。ただし、 AWS KMS データキーを保存、管理、追跡したり、データキーを使用して暗号化オペレーションを実行したりすることはありません。の外部でデータキーを使用および管理する必要があります AWS KMS。データキーを安全に使用する方法については、「AWS Encryption SDK」を参照してください。

データキーの作成

データキーを作成するには、 GenerateDataKey operation. AWS KMS generates データキーを呼び出します。次に、ユーザーが指定する対称暗号化 KMS キーのデータキーのコピーを暗号化します。このオペレーションでは、データキーのプレーンテキストコピーと KMS キーで暗号化されたデータキーのコピーが返されます。以下の図では、このオペレーションを示しています。

データキーを生成する

AWS KMS は、暗号化されたデータキーのみを返す GenerateDataKeyWithoutPlaintextオペレーションもサポートしています。データキーを使用する必要がある場合は、 AWS KMS に復号を依頼してください。

データキーでデータを暗号化する

AWS KMS は、データキーを使用してデータを暗号化することはできません。ただし、OpenSSL を使用するか、AWS Encryption SDK のような暗号化ライブラリを使用することで、 AWS KMSの外部でデータキーを使用できます。

プレーンテキストのデータキーを使用してデータを暗号化したら、できる限り早急にメモリからそれを削除します。暗号化したデータと一緒に暗号化データキーを安全に保存して、データの復号に利用することができます。

の外部でユーザーデータを暗号化する AWS KMS

データキーでデータを復号する

データを復号するには、暗号化されたデータキーを Decrypt オペレーションに渡します。 AWS KMS は KMS キーを使用してデータキーを復号し、プレーンテキストのデータキーを返します。プレーンテキストのデータキーを使ってデータを復号し、続いてできる限り早急にメモリからプレーンテキストのデータキーを削除します。

以下の図では、Decrypt オペレーションを使用して暗号化されたデータキーを復号する方法を示しています。

データキーの復号

使用できない KMS キーがデータキーに及ぼす影響

KMS キーが使用できなくなると、その影響はほぼ即時に表れます (最終的な一貫性の対象となります)。KMS キーのキーステータスは新しい条件を反映して変化し、暗号化オペレーションで KMS キーを使用するすべてのリクエストは失敗します。

ただし、KMS キーで暗号化されたデータキー、およびデータキーで暗号化されたデータへの影響は、データキーの復号などに KMS キーが再度使用されるまで遅延します。

KMS キーは、実行する可能性のある次のアクションなどのような、さまざまな原因によって使用できなくなる可能性があります。

この効果は、サービス AWS のサービス が管理するリソースを保護するためにデータキーを使用する多くの にとって特に重要です。次の例では、Amazon Elastic Block Store (Amazon EBS) と Amazon Elastic Compute Cloud (Amazon EC2) を使用しています。異なる は、さまざまな方法でデータキー AWS のサービス を使用します。詳細については、 AWS のサービスの「セキュリティ」の章の「データ保護」セクションを参照してください。

例えば、次のシナリオが考えられます。

  1. 暗号化された EBS ボリュームを作成し、KMS キーを指定して保護します。Amazon EBS は AWS KMS 、KMS キーを使用してボリュームの暗号化されたデータキーを生成するように に要求します。Amazon EBS は、暗号化されたデータキーをボリュームのメタデータとともに保存します。

  2. EBS ボリュームを EC2 インスタンスにアタッチすると、Amazon EC2 は、KMS キーを使用して EBS ボリュームの暗号化されたデータキーを復号します。Amazon EC2 は、EBS ボリュームに対するすべてのディスク I/O を暗号化する責任を担う Nitro ハードウェア内のデータキーを使用します。データキーは、EBS ボリュームが EC2 インスタンスにアタッチされる限り、Nitro ハードウェア内で維持されます。

  3. KMS キーを使用不可能にするアクションを実行しました。これによって EC2 インスタンスまたは EBS ボリュームにただちに影響が出ることはありません。Amazon EC2 は、KMS キーではなくデータキーを使用して、ボリュームがインスタンスにアタッチされている限り、すべてのディスク I/O を暗号化します。

  4. ただし、暗号化された EBS ボリュームが EC2 インスタンスからデタッチされると、Amazon EBS は Nitro ハードウェアからデータキーを削除します。次回、暗号化された EBS ボリュームが EC2 インスタンスにアタッチされると、アタッチメントは失敗します。これは、Amazon EBS は KMS キーを使用してボリュームの暗号化されたデータキーを復号できないためです。EBS ボリュームを再度使用するには、KMS キーを再度使用可能にする必要があります。

データキーペア

データキーペアは、数学的に関連するパブリックキーとプライベートキーで構成される非対称データキーです。クライアント側の暗号化と復号、または の外部での署名と検証に使用するように設計されています AWS KMS。

OpenSSL などのツールが生成するデータキーペアとは異なり、 は、 AWS KMS 指定した の対称暗号化 KMS キーで各データキーペアのプライベートキー AWS KMS を保護します。ただし、データキーペアを保存、管理、追跡したり、データキーペアで暗号化オペレーションを実行 AWS KMS したりすることはありません。 AWS KMSの外部でデータキーペアを使用して管理する必要があります。

AWS KMS では、次のタイプのデータキーペアがサポートされています。

  • RSA キーペア: RSA_2048、RSA_3072、RSA_4096

  • 楕円曲線キーペア、ECC_NIST_P256、ECC_NIST_P384、ECC_NIST_P521、ECC_SECG_P256K1

  • SM キーペア (中国リージョンのみ): SM2

選択するデータキーペアのタイプは、通常、ユースケースまたは規制要件によって異なります。ほとんどの証明書には RSA キーが必要です。楕円曲線キーは、デジタル署名や共有シークレットの取得によく使用されます。ECC_SECG_P256K1 キーは cryptocurrencies に一般的に使用されます。署名には ECC キーペア AWS KMS を使用し、暗号化または署名には RSA キーペアを使用することをお勧めしますが、両方には使用しないことをお勧めします。ただし、 AWS KMS は、 の外部でのデータキーペアの使用に制限を適用することはできません AWS KMS。

データキーペアを作成する

データキーペアを作成するには、 GenerateDataKeyPairまたは GenerateDataKeyPairWithoutPlaintextオペレーションを呼び出します。プライベートキーの暗号化に使用する対称暗号化 KMS キーを指定します。

GenerateDataKeyPair は、プレーンテキストパブリックキー、プレーンテキストプライベートキー、暗号化されたプライベートキーを返します。このオペレーションは、デジタル署名を生成する場合など、プレーンテキストプライベートキーをすぐに必要とする場合に使用します。

GenerateDataKeyPairWithoutPlaintext は、プレーンテキストのパブリックキーと暗号化されたプライベートキーを返しますが、プレーンテキストプライベートキーは返しません。このオペレーションは、パブリックキーで暗号化する場合など、プレーンテキストプライベートキーがすぐに必要ない場合に使用します。後で、データを復号化するために平文の秘密鍵が必要な場合は、Dec rypt オペレーションを呼び出すことができます。

以下の図では、GenerateDataKeyPair オペレーションを示しています。GenerateDataKeyPairWithoutPlaintext オペレーションは、プレーンテキストプライベートキーを省略します。

データキーペアの生成

データキーペアでデータを暗号化する

データキーペアを使用して暗号化する場合、ペアのパブリックキーを使用してデータを暗号化し、同じペアのプライベートキーを使用してデータを復号します。通常、データキーペアは、プライベートキーを保持している当事者のみが復号できるデータを、多くの当事者が暗号化する必要がある場合に使用されます。

次の図に示すように、パブリックキーを持つ当事者は、そのキーを使用してデータを暗号化します。

の外部でデータキーペアのパブリックキーを使用してユーザーデータを暗号化する AWS KMS

データキーペアでデータを復号する

データを復号するには、データキーペアでプライベートキーを使用します。オペレーションを成功させるには、パブリックキーとプライベートキーが同じデータキーペアのものである必要があり、また、同じ暗号化アルゴリズムを使用する必要があります。

暗号化された秘密鍵を復号化するには、復号オペレーションに渡します。プレーンテキストプライベートキーを使用してデータを復号します。その後、できるだけ早くプレーンテキストのプライベートキーをメモリから削除します。

次の図は、データキーペアのプライベートキーを使用して暗号テキストを復号する方法を示しています。

AWS KMS外でデータキーペアのプライベートキーを使用してユーザーデータを復号化します。

データキーペアでメッセージに署名する

メッセージの暗号化署名を生成するには、データキーペアのプライベートキーを使用します。パブリックキーを持つすべてのユーザーは、メッセージが自分のプライベートキーで署名されたこと、および署名されてから変更されていないことを確認するために使用できます。

プライベートキーを暗号化する場合は、暗号化されたプライベートキーを Decrypt オペレーションに渡します。 AWS KMS は KMS キーを使用してデータキーを復号し、プレーンテキストのプライベートキーを返します。署名を生成するには、プレーンテキストプライベートキーを使用します。その後、できるだけ早くプレーンテキストのプライベートキーをメモリから削除します。

メッセージに署名するには、OpenSSL で dgst コマンドなどの暗号化ハッシュ関数を使用してメッセージダイジェストを作成します。次に、プレーンテキストプライベートキーを署名アルゴリズムに渡します。結果は、メッセージの内容を表す署名です。(最初にダイジェストを作成しなくても、短いメッセージで署名できる場合があります。メッセージの最大サイズは、使用する署名ツールによって異なります)。

次の図は、データキーペアのプライベートキーを使用してメッセージに署名する方法を示しています。

の外部のデータキーペアでプライベートキーを使用して暗号化署名を生成します AWS KMS。

データキーペアを使用した署名の検証

データキーペアにパブリックキーを持っているユーザーは、誰でもそれを使用して、プライベートキーで生成した署名を検証できます。検証では、承認されたユーザーが指定したプライベートキーと署名アルゴリズムを使用してメッセージに署名し、メッセージが署名後に変更されていないことを確認します。

署名を検証する当事者は、同じタイプのダイジェストを生成し、同じアルゴリズムを使用して、メッセージの署名に使用されるプライベートキーに対応するパブリックキーを使用する必要があります。

次の図は、データキーペアのパブリックキーを使用してメッセージ署名を検証する方法を示しています。

AWS KMS外でデータキーペアのパブリックキーを使用して暗号化署名を検証します。

データキーペアを使用して共有シークレットを取得する

キーアグリーメントにより、2 つのピアがそれぞれ楕円曲線のパブリックキーとプライベートキーのペアを持ち、安全でないチャネルで共有シークレットを確立できます。共有シークレット を取得するには、2 人のピアが安全でない通信チャネル (インターネットなど) を介してパブリックキーを交換する必要があります。次に、各関係者はプライベートキーとピアのパブリックキーを使用して、キー契約アルゴリズムを使用して同じ共有シークレットを計算します。共有シークレット値を使用して、2 つのピア間で送信されるデータを暗号化および復号化できる対称キー、または HMACsを生成して検証できる対称キーを導出できます。

注記

AWS KMS では、パブリックキーを使用して共有シークレットを取得する前に、受信するパブリックキーが想定当事者からのものであることを強くお勧めします。

エイリアス

KMS キーのフレンドリ名としてエイリアスを使用します。例えば、KMS キーを 1234abcd-12ab-34cd-56ef-1234567890ab ではなく、テストキーとして参照できます。

エイリアスを使用すると、 AWS Management ConsoleでKMS キーを識別しやすくなります。エイリアスを使用して、暗号化 AWS KMS オペレーション を含む一部のオペレーションで KMS キーを識別できます。 暗号化オペレーションアプリケーションでは、単一のエイリアスを使用して、各 で異なる KMS キーを参照できます AWS リージョン。

ポリシーを編集したり、グラントを管理したりすることなく、エイリアスに基づいて KMS キーへのアクセスを許可および拒否することもできます。この機能は、属性ベースのアクセスコントロール (ABAC) AWS KMS のサポートの一部です。詳細については、「AWS KMS の ABAC」を参照してください。

では AWS KMS、エイリアスは独立したリソースであり、KMS キーのプロパティではありません。そのため、関連付けられた KMS キーに影響を与えずに、エイリアスを追加、変更、削除できます。

重要

エイリアス名には、機密情報や重要情報を含めないでください。エイリアスは、 CloudTrail ログやその他の出力にプレーンテキストで表示されます。

詳細はこちら:

カスタムキーストア

カスタムキーストアは、 AWS KMS ユーザーが所有および管理する の外部のキーマネージャーによってバックアップされる AWS KMS リソースです。暗号化オペレーションでカスタムキーストアの KMS キーを使用すると、暗号化オペレーションは、実際には暗号化キーを使用してキーマネージャーで実行されます。

AWS KMS は、 AWS CloudHSM クラスターによってバックアップされた AWS CloudHSM キーストアと、 の外部にある外部キーマネージャーによってバックアップされた外部キーストアをサポートします AWS。

詳細については、「カスタムキーストア」を参照してください。

暗号化オペレーション

では AWS KMS、暗号化オペレーションは KMS キーを使用してデータを保護する API オペレーションです。KMS キーは 内に留まるため AWS KMS、暗号化オペレーションで KMS キー AWS KMS を使用するには を呼び出す必要があります。

KMS キーを使用して暗号化オペレーションを実行するには、 AWS SDKs、 (AWS CLI)、 AWS Command Line Interface または を使用します AWS Tools for PowerShell。 AWS KMS コンソールで暗号化オペレーションを実行することはできません。いくつかのプログラミング言語で暗号化オペレーションを呼び出す例については、を参照してください AWS KMS API のプログラミング

次の表に AWS KMS 、暗号化オペレーションを示します。また、オペレーションで使用される KMS キーのキータイプとキー使用法の要件も示します。

オペレーション キーのタイプ キーの用途
Decrypt 対称または非対称 ENCRYPT_DECRYPT
DeriveSharedSecret 非対称 KEY_AGREEMENT
暗号化 対称または非対称 ENCRYPT_DECRYPT
GenerateDataKey 対称 ENCRYPT_DECRYPT
GenerateDataKeyPair 非対称 [1]

カスタムキーストアの KMS キーではサポートされません。

ENCRYPT_DECRYPT
GenerateDataKeyPairWithoutPlaintext 非対称 [1]

カスタムキーストアの KMS キーではサポートされません。

ENCRYPT_DECRYPT
GenerateDataKeyWithoutPlaintext 対称 ENCRYPT_DECRYPT
GenerateMac HMAC GENERATE_VERIFY_MAC
GenerateRandom 該当なし。このオペレーションでは KMS キーを使用しません。 該当なし
ReEncrypt 対称または非対称 ENCRYPT_DECRYPT
Sign 非対称 SIGN_VERIFY
検証 非対称 SIGN_VERIFY
VerifyMac HMAC GENERATE_VERIFY_MAC

[1] 対称暗号化 KMS キーによって保護される非対称データキーペアを生成します。

暗号化オペレーションのアクセス許可については、「AWS KMS アクセス許可」を参照してください。

すべてのユーザーに対して AWS KMS 応答性と高機能を実現するために、 は 1 秒あたりに呼び出される暗号化オペレーションの数にクォータ AWS KMS を確立します。詳細については、「暗号化オペレーションの共有クォータ」を参照してください。

キー識別子 (KeyId)

キー識別子は、KMS キーの名前のように機能します。これらは、コンソールで KMS キーを識別するのに役立ちます。キー識別子を使用して、 AWS KMS API オペレーション、キーポリシー、IAM ポリシー、グラントで使用する KMS キーを指定します。キー識別子の値は、KMS キーに関連付けられているキーマテリアルとはまったく関係ありません。

AWS KMS は複数のキー識別子を定義します。KMS キーを作成すると、 は KMS キーのプロパティであるキー ARN とキー ID AWS KMS を生成します。エイリアス を作成すると、 は定義したエイリアス名に基づいてエイリアス ARN AWS KMS を生成します。キー識別子とエイリアス識別子は、 AWS Management Console および AWS KMS API で表示できます。

AWS KMS コンソールでは、キー ARN、キー ID、またはエイリアス名で KMS キーを表示およびフィルタリングし、キー ID とエイリアス名でソートできます。コンソールでキー ID を検索する方法については、「キー ID とキー ARN を検索する」を参照してください。

AWS KMS API では、KMS キーの識別に使用するパラメータの名前は、 KeyIdまたは などのバリエーションTargetKeyIdですDestinationKeyId。ただし、これらのパラメータの値はキー ID に限定されません。いくつかは、任意の有効なキー識別子を受け取ることができます。各パラメータの値の詳細については、 AWS Key Management Service API リファレンスのパラメータの説明を参照してください。

注記

AWS KMS API を使用する場合は、使用するキー識別子に注意してください。API ごとに異なるキー識別子が必要です。通常、タスクに対して実用的で最も完全なキー識別子を使用します。

AWS KMS では、次のキー識別子がサポートされています。

キー ARN

キー ARN は、KMS キーの Amazon リソースネーム (ARN) です。これは KMS キーの、一意の完全修飾識別子です。キー ARN には、 AWS アカウント、リージョン、およびキー ID が含まれます。KMS キーのキー ARN を検索する方法については、キー ID とキー ARN を検索する を参照してください。

キー ARN の形式は次のとおりです。

arn:<partition>:kms:<region>:<account-id>:key/<key-id>

以下は単一リージョン KMS キーのサンプルキー ARN です。

arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

マルチリージョンキーのキー ARN のkey-id 要素は、mrk- プレフィックスで始まります。以下はマルチリージョンキーのサンプルキー ARN です。

arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab
キー ID

キー ID は、アカウントとリージョン内の KMS キーを一意に識別します。KMS キーのキー ID を検索する方法については、キー ID とキー ARN を検索する を参照してください。

以下は単一リージョン KMS キーのサンプルキー ID です。

1234abcd-12ab-34cd-56ef-1234567890ab

マルチリージョンキーのキー ID は、mrk- プレフィックスで始まります。以下はマルチリージョンキーのサンプルキー ID です。

mrk-1234abcd12ab34cd56ef1234567890ab
エイリアス ARN

エイリアス ARN は、 AWS KMS エイリアスの Amazon リソースネーム (ARN) です。これは、エイリアスとそれが表す KMS キーの、一意の完全修飾識別子です。エイリアス ARN には AWS アカウント、、リージョン、エイリアス名が含まれます。

エイリアス ARN は、任意の時点で特定の 1 つの KMS キーを識別します。ただし、エイリアスに関連付けられている KMS キーは変更できるため、エイリアス ARN は異なる時点でさまざまな KMS キーを識別できます。KMS キーのエイリアス ARN を検索する方法については、エイリアス名とエイリアス ARN を見つける を参照してください。

エイリアス ARN の形式は次のとおりです。

arn:<partition>:kms:<region>:<account-id>:alias/<alias-name>

以下は、架空の ExampleAlias のエイリアス ARN です。

arn:aws:kms:us-west-2:111122223333:alias/ExampleAlias
エイリアス名

エイリアス名は、最大 256 文字の文字列です。エイリアス名は、アカウントとリージョン内で関連付けられた KMS キーを一意に識別します。 AWS KMS API では、エイリアス名は常に で始まりますalias/。KMS キーのエイリアス名を検索する方法については、エイリアス名とエイリアス ARN を見つける を参照してください。

エイリアス名の形式は次のとおりです。

alias/<alias-name>

例:

alias/ExampleAlias

エイリアス名の aws/ プレフィックスは、AWS マネージドキー 用に予約されます。このプレフィックスでエイリアスを作成することはできません。例えば、Amazon Simple Storage Service (Amazon S3) AWS マネージドキー の のエイリアス名は次のとおりです。

alias/aws/s3

キーマテリアル

キーマテリアルは、暗号化アルゴリズムで使用されるビット単位の文字列です。キーマテリアルを使用する暗号化オペレーションを保護するには、シークレットキーを秘密にしておく必要があります。パブリックキーマテリアルは共有されるように設計されています。

各 KMS キーには、メタデータにキーマテリアルへの参照が含まれています。対称暗号化 KMS キーのキーマテリアルのオリジンは、異なる可能性があります。が AWS KMS 生成するキーマテリアル、カスタムキーストア のクラスターで AWS CloudHSM 生成されるキーマテリアル、または独自のキーマテリアル をインポートできます。 カスタムキーストア対称暗号化 KMS AWS KMS キーにキーマテリアルを使用する場合は、キーマテリアルの自動ローテーションを有効にできます。

デフォルトでは、各 KMS キーに一意のキーマテリアルがあります。ただし、同じキーマテリアルでマルチリージョンキーのセットを作成することができます。

キーマテリアルのオリジン

キーマテリアルのオリジンは、KMS キーのキーマテリアルのソースを識別する KMS キープロパティです。KMS キーの作成時にキーマテリアルのオリジンを選択し、それを変更することはできません。キーマテリアルのソースは、KMS キーのセキュリティ、耐久性、可用性、レイテンシー、スループット特性に影響します。

KMS キーのキーマテリアルのオリジンを見つけるには、 DescribeKeyオペレーションを使用するか、 AWS KMS コンソールの KMS キーの詳細ページの暗号化設定タブでオリジン値を確認します。ヘルプについては、「キーの表示」を参照してください。

KMS キーでは、次のうち 1 つのキーマテリアルオリジン値を指定できます。

AWS_KMS

AWS KMS は、独自のキーストアで KMS キーのキーマテリアルを作成および管理します。これは、ほとんどの KMS キーのデフォルト値であり、推奨値です。

からキーマテリアルを使用してキーを作成する方法については AWS KMS、「」を参照してくださいキーの作成

EXTERNAL (Import key material)

KMS キーには、インポートされたキーマテリアルがあります。External キーマテリアルオリジンを持つ KMS キーを作成するとき、KMS キーにはキーマテリアルがありません。後で、KMS キーにキーマテリアルをインポートすることができます。インポートされたキーマテリアルを使用する場合は、有効期限が切れた場合のキーマテリアルの置き換えを含め AWS KMS、 の外部でそのキーマテリアルを保護および管理する必要があります。詳細については、「インポートしたキーマテリアルについて」を参照してください。

インポートされたキーマテリアルを持つ KMS キーの作成方法については、「ステップ 1: キーマテリアルなしで KMS キーを作成する」を参照してください。

AWS_CLOUDHSM

AWS KMS は、キーAWS CloudHSM ストア のキーマテリアルを AWS CloudHSM クラスターに作成します。

キーストアで KMS AWS CloudHSM キーを作成する方法については、「」を参照してくださいAWS CloudHSM キーストアでの KMS キーの作成

EXTERNAL_KEY_STORE

キーマテリアルは、 の外部にある外部キーマネージャーの暗号化キーです AWS。このオリジンは、外部キーストアの KMS キーでのみサポートされています。

外部キーストアで KMS キーを作成する方法については、「外部キーストアで KMS キーを作成する」を参照してください。

キー仕様

キー仕様は、キーの暗号化設定を表すプロパティです。キー仕様の意味は、キータイプによって異なります。

  • AWS KMS キーキー仕様は、KMS キーが対称か非対称かを決定します。また、そのキーマテリアルのタイプとサポートするアルゴリズムも決定します。キー仕様は、KMS キーの作成時に選択します。キー仕様を変更することはできません。デフォルトのキースペックである SYMMETRIC_DEFAULT は、256 ビット対称暗号化キーを表します。

    注記

    KMS キーの KeySpec は、CustomerMasterKeySpec と呼ばれていました。CreateKey オペレーションの CustomerMasterKeySpecパラメータは廃止されました。代わりに、同様に機能する KeySpec パラメータを使用します。重大な変更を防ぐために、 CreateKeyおよび DescribeKeyオペレーションのレスポンスに、同じ値を持つ KeySpecおよび CustomerMasterKeySpecメンバーの両方が含まれるようになりました。

    主要仕様のリストと主要仕様の選択に関するヘルプについては、「キー仕様の選択」を参照してください。KMS キーのキー仕様を確認するには、 DescribeKeyオペレーションを使用するか、 AWS KMS コンソールの KMS キーの詳細ページの暗号化設定タブを参照してください。ヘルプについては、「キーの表示」を参照してください。

    KMS キーの作成時にプリンシパルが使用できるキー仕様を制限するには、kms:KeySpec 条件キーを使用します。kms:KeySpec 条件キーを使用して、プリンシパルが特定のキー仕様の KMS キーでのみ AWS KMS オペレーションを呼び出すことを許可することもできます。例えば、RSA_4096 キー仕様を持つ KMS キーの削除をスケジュールする許可を拒否できます。

  • データキー (GenerateDataKey) — キー仕様によって AES データキーの長さが決まります。

  • データキーペア (GenerateDataKeyPair) — キーペア仕様は、データキーペア内のキーマテリアルのタイプを決定します。

キーの用途

キー用途は、キーがサポートする暗号化オペレーションを決定するプロパティです。KMS キーは、、ENCRYPT_DECRYPT、、SIGN_VERIFYGENERATE_VERIFY_MACまたは のキー使用量を持つことができますKEY_AGREEMENT。各 KMS キーに指定できるキー用途は 1 つだけです。KMS キーを複数タイプのオペレーションに使用すると、両方のオペレーションの成果が攻撃に対してより脆弱になります。

KMS キーの用途を選択する方法については、「キーの用途の選択」を参照してください。KMS キーのキーの使用方法を確認するには、 DescribeKeyオペレーションを使用するか、 AWS KMS コンソールの KMS キーの詳細ページで暗号化設定タブを選択します。ヘルプについては、「キーの表示」を参照してください。

エンベロープ暗号化

データを暗号化するとデータは保護されますが、暗号化キーを保護する必要があります。1 つの方法としては、それを暗号化します。エンベロープ暗号化は、データキーでプレーンテキストデータを暗号化してから、そのデータキーを別のキーで暗号化する手法です。

データ暗号化キーを別の暗号化キーで暗号化し、その暗号化キーを別の暗号化キーで暗号化することもできます。しかし、最終的には、キーとデータを復号するために、1 つのキーをプレーンテキストで保持する必要があります。この最上位プレーンテキストキーの暗号化キーは、ルートキーと呼ばれます。

エンベロープ暗号化

AWS KMS は、暗号化キーを安全に保存および管理することで、暗号化キーを保護するのに役立ちます。に保存されているルートキー AWS KMSは、 と呼ばれAWS KMS keys、 AWS KMS FIPS 検証済みハードウェアセキュリティモジュールを暗号化されないままにすることはありません。KMS キーを使用するには、 を呼び出す必要があります AWS KMS。

複数キー暗号化キーによるエンベロープ暗号化

エンベロープ暗号化には、いくつかの利点があります。

  • データキーの保護

    データキーを暗号化する場合、暗号化されたデータキーの保存について心配する必要がありません。これは、そのデータキーが暗号化によって本質的に保護されているためです。暗号化されたデータとともに、暗号化されたデータキーを安全に保存できます。

  • 複数のキーを使用した同じデータの暗号化

    暗号化オペレーションには時間がかかります (特に、暗号化するデータが大きいオブジェクトである場合)。異なるキーで raw データを複数回にわたって再暗号化する代わりに、raw データを保護するデータキーのみを再暗号化できます。

  • 複数のアルゴリズムの強度の結合

    一般に、対称キーアルゴリズムは、パブリックキーアルゴリズムよりも高速で、より小さい暗号文を生成します。一方、パブリックキーのアルゴリズムはロールを本質的に分離し、キー管理を簡単にします。エンベロープ暗号化により、それぞれの方法を組み合わせることができます。

暗号化コンテキスト

対称暗号化 KMS キーを使用するすべての AWS KMS 暗号化オペレーションは、暗号化コンテキスト を受け入れます。これは、データに関する追加のコンテキスト情報を含むことができるシークレット以外のキーと値のペアのオプションセットです。 AWS KMS は、暗号化コンテキストを追加の認証データ (AAD) として使用して、認証された暗号化 をサポートします。

暗号化リクエストに暗号化コンテキストが含まれている場合、暗号文に暗号化されてバインドされます。このため、データを復号する (または復号して再暗号化する) には、同じ暗号化コンテキストが必要です。復号リクエストで指定された暗号化コンテキストが大文字と小文字を区別して完全に一致しない場合、復号リクエストは失敗します。暗号化コンテキストでのキーと値のペアの順序のみを変更できます。

注記

非対称 KMS キーまたは HMAC KMS キーを使用する暗号化オペレーションで暗号化コンテキストを指定することはできません。非対称アルゴリズムと MAC アルゴリズムは、暗号化コンテキストをサポートしません。

この暗号化コンテキストは秘密ではなく、暗号化されていません。これは AWS CloudTrail ログにプレーンテキストで表示されるため、それを使用して暗号化オペレーションを識別して分類できます。暗号化コンテキストには機密情報を含めないようにしてください。暗号化または復号されるデータの内容を説明した暗号化テキストの使用をお勧めします。例えば、ファイルを暗号化するときは、ファイルパスの一部を暗号化コンテキストとして使用することもあります。

"encryptionContext": { "department": "10103.0" }

例えば、Amazon Elastic Block Store (Amazon EBS) CreateSnapshotオペレーションで作成されたボリュームとスナップショットを暗号化する場合、Amazon EBS はボリューム ID を暗号化コンテキスト値として使用します。

"encryptionContext": { "aws:ebs:id": "vol-abcde12345abc1234" }

暗号化コンテキストを使用して、アカウント AWS KMS keys 内の へのアクセスを絞り込んだり制限したりすることもできます。暗号化コンテキストはグラントの制約として、およびポリシーステートメントの条件として使用できます。

暗号化コンテキストを使用して暗号化されたデータの整合性を保護する方法については、 AWS セキュリティブログの「 AWS Key Management Service および を使用して暗号化されたデータの整合性を保護する EncryptionContext方法」を参照してください。

暗号化コンテキストの詳細。

AWS KMS は、暗号化コンテキストのキーと値に次のルールを適用します。

  • 暗号化コンテキストペアのキーと値はシンプルなリテラル文字列であることが必要です。整数や浮動小数点数など、別の型を使用する場合、 はそれを文字列として AWS KMS 解釈します。

  • 暗号化コンテキストのキーと値には、Unicode 文字を含めることができます。暗号化コンテキストにキーポリシーまたは IAM ポリシーで許可されていない文字が含まれている場合は、kms:EncryptionContext:context-key および kms:EncryptionContextKeys などのポリシー条件キーで暗号化コンテキストを指定できなくなります。キーポリシードキュメントのルールに関する詳細については、「キーポリシー形式」を参照してください。IAM ポリシードキュメントのルールに関する詳細については、「IAM ユーザーガイド」の「IAM 名前の要件」を参照してください。

暗号化コンテキストは主に整合性と信頼性を検証するために使用されます。ただし、キーポリシーおよび IAM ポリシーで、対称暗号化 AWS KMS keys へのアクセスを制御するための暗号化コンテキストを使用することも可能です。

kms:EncryptionContext: および kms:EncryptionContextKeys 条件キーは、リクエストに特定の暗号化コンテキストキーまたはキーと値のペアが含まれている場合にのみ、アクセス許可を許可 (または拒否) します。

例えば、以下のキーポリシーステートメントでは、RoleForExampleApp ロールに Decrypt オペレーションでの KMS キーの使用を許可します。また、kms:EncryptionContext:context-key 条件キーを使用して、リクエストの暗号化コンテキストに AppName:ExampleApp 暗号化コンテキストペアが含まれる場合にのみ、このアクセス許可を付与します。

{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/RoleForExampleApp" }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:AppName": "ExampleApp" } } }

これらの暗号化コンテキスト条件キーの詳細については、「の条件キー AWS KMS」を参照してください。

許可を作成するときに許可のアクセス許可の条件を設定する許可制約を含めることができます。 は、2 つの許可制約 EncryptionContextSubsetEncryptionContextEqualsと AWS KMS をサポートします。どちらも暗号化オペレーションのリクエストに暗号化コンテキストが含まれます。これらのグラント制約を使用するとき、グラントの許可は、暗号化オペレーションのリクエストで暗号化コンテキストがグラント制約の要件を満たしている場合にのみ有効になります。

例えば、 GenerateDataKeyオペレーションを許可するEncryptionContextEqualsグラントにグラント制約を追加できます。この制約により、このグラントは、リクエストの暗号化コンテキストがグラント制約の暗号化コンテキストで大文字と小文字を区別して一致する場合にのみ、この操作を許可します。

$ aws kms create-grant \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --grantee-principal arn:aws:iam::111122223333:user/exampleUser \ --retiring-principal arn:aws:iam::111122223333:role/adminRole \ --operations GenerateDataKey \ --constraints EncryptionContextEquals={Purpose=Test}

被付与者プリンシパルからの次のようなリクエストは、EncryptionContextEquals の制約を満たします。

$ aws kms generate-data-key \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --key-spec AES_256 \ --encryption-context Purpose=Test

グラント制約の詳細については、「グラントの制約の使用」を参照してください 。グラントの詳細については、「でのグラント AWS KMS」を参照してください。

AWS KMS は AWS CloudTrail を使用して暗号化コンテキストをログに記録し、どの KMS キーとデータにアクセスされたかを特定できるようにします。ログエントリには、ログエントリ内の暗号化コンテキストによって参照された特定のデータの暗号化または復号に、どの KMS キーが使用されたかが正確に示されます。

重要

暗号化コンテキストは記録されるため、機密情報が含まれていてはなりません。

Decrypt または ReEncrypt オペレーションを呼び出すときに暗号化コンテキストを簡単に使用できるように、暗号化コンテキストを暗号化されたデータとともに格納できます。暗号化や復号で必要になったときに完全な暗号化コンテキストを作成できる十分な暗号化コンテキストのみを保存することをお勧めします。

例えば、暗号化コンテキストがファイルへの完全修飾パスである場合、そのパスの一部のみを、暗号化されたファイルの内容とともに保存します。次に、完全な暗号化コンテキストが必要になったら、保存されたフラグメントからコンテキストを再構築します。誰かがファイルを改ざんした場合 (名前の変更、別の場所への移動など)、暗号化コンテキスト値が変更され、復号リクエストは失敗します。

キーポリシー

KMS キーの作成時に、KMS キーを使用および管理できるユーザーを決定します。これらのアクセス許可は、キーポリシーと呼ばれるドキュメントに含まれます。キーポリシーを使用して、カスタマーマネージドキーに対するアクセス許可をいつでも追加、削除、変更できます。ただし、 のキーポリシーを編集することはできません AWS マネージドキー。詳細については、「のキーポリシー AWS KMS」を参照してください。

グラント

グラントは、プリン AWS シパルが暗号化オペレーション AWS KMS keys で を使用できるようにするポリシーツールです。また、KMS キー (DescribeKey) を表示し、許可を作成および管理することもできます。KMS キーへのアクセスを認可する際、グラントはキーポリシーおよび IAM ポリシーと共に考慮されます。グラントは、作成してそのアクセス許可を使用し、キーポリシーまたは IAM ポリシーを変更することなく削除できるため、一時的なアクセス許可としてよく使用されます。グラントは限定的であり、作成と取り消しが容易であるため、一時的なアクセス許可やよりきめ細かなアクセス許可を付与するためによく使用されます。

グラントの用語を含む、グラントの詳細については「でのグラント AWS KMS」を参照してください。

KMS キーの使用状況を監査する

を使用して、キーの使用状況 AWS CloudTrail を監査できます。 は、アカウントの AWS API コールおよび関連イベントの履歴を含むログファイル CloudTrail を作成します。これらのログファイルには、 AWS マネジメントコンソール、SDK、およびコマンドラインツールで行われたすべての AWS KMS API リクエストが含まれます。 AWS SDKs ログファイルには、 AWS サービス AWS KMS がユーザーに代わって行う へのリクエストも含まれます。これらのログファイルを使用して、KMS キーが使用された日時、リクエストされたオペレーション、リクエスタのアイデンティティ、ソースの IP アドレスなどの重要な情報を見つけることができます。詳細については、を使用したログ記録 AWS CloudTrail および AWS CloudTrail ユーザーガイドを参照してください。

キー管理インフラストラクチャ

暗号化の一般的な手法では、AES (Advanced Encryption Standard) など一般に利用でき専門家によって検証されたアルゴリズムとシークレットキーを使用して暗号化し、復号する必要があります。暗号化での主な問題の 1 つは、キーを秘密にしておくのが非常に困難なことです。これは通常、キー管理インフラストラクチャ (KMI) のジョブです。 は、キーインフラストラクチャを AWS KMS 運用します。 は、 と呼ばれるルートキー AWS KMS を作成し、安全に保存しますAWS KMS keys。 AWS KMS の動作の詳細については、AWS Key Management Service 「暗号化の詳細」を参照してください。