Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

暗号化コンテキスト

フォーカスモード
暗号化コンテキスト - AWS Key Management Service

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

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

注記

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

対称暗号化 KMS キーを使用したすべての AWS KMS 暗号化オペレーションは、暗号化コンテキストを受け入れます。これは、データに関する追加のコンテキスト情報を含むことができるシークレット以外のキーと値のペアのオプションセットです。の Encryptオペレーションに暗号化コンテキストを挿入 AWS KMS して、 AWS KMS API 復号呼び出しの認可と監査可能性を高めることができます。 AWS KMS は、暗号化コンテキストを追加の認証データ (AAD) として使用して、認証された暗号化をサポートします。暗号化コンテキストは、暗号化されて暗号文にバインドされます。これにより、データの復号には同じ暗号化コンテキストが必要になります。

この暗号化コンテキストは秘密ではなく、暗号化されていません。これは 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 をサポートします。どちらも暗号化オペレーションのリクエストに暗号化コンテキストを含めます。これらのグラント制約を使用するとき、グラントの許可は、暗号化オペレーションのリクエストで暗号化コンテキストがグラント制約の要件を満たしている場合にのみ有効になります。

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

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

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

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.