AWS CloudTrail で AWS KMS を使用する方法 - AWS Key Management Service

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

AWS CloudTrail で AWS KMS を使用する方法

次を使用できます。AWS CloudTrail記録するAWSAPI 呼び出しやその他のアクティビティを AWS アカウント およびで、記録された情報を、選択した Amazon Simple Storage Service (Amazon S3) バケット内のログファイルに保存できます。デフォルトでは、CloudTrail によって S3 バケットに配信されるログファイルは、Amazon S3 が管理する暗号化キー(SSE-S3)によるサーバー側の暗号化を使用して暗号化されます。ただし、代わりにでサーバー側の暗号化を使用することもできます。AWS KMSで管理されたキー (SSE-KMS) CloudTrail ログファイルをAWS KMS「」を参照してください。を使用した CloudTrail ログファイルの暗号化AWS KMS— マネージドキー (SSE-KMS)()AWS CloudTrailユーザーガイド

重要

AWS CloudTrailおよび Amazon S3 サポートのみ対称カスタマーマスターキー(CMK)。 非対称の CMK を使用して CloudTrail ログを暗号化することはできません。CMK が対称か非対称かを判断する方法については、「」を参照してください 対称 CMK と非対称 CMK の識別

CMK を使用するタイミングについて

を使用した CloudTrail ログファイルの暗号化AWS KMSでサーバー側の暗号化と呼ばれる Amazon S3 機能を基盤としています。AWS KMSで管理されたキー (SSE-KMS) SSE-KMS に関する詳細は、「」を参照してください。Amazon Simple Storage Service (Amazon S3) の使用方法AWS KMSこのガイドまたはでのサーバー側の暗号化を使用したデータの保護AWS KMS— マネージドキー (SSE-KMS)()Amazon Simple Storage Service 開発者ガイド

設定するとAWS CloudTrailSSE-KMS を使用してログファイルを暗号化するには、CloudTrail と Amazon S3 は、それらのサービスで特定のアクションを実行するときに、カスタマーマスターキー(CMK)を使用します。以下のセクションでは、これらのサービスが CMK をいつ、どのように使用するかについて説明し、この説明を確認するために使用できる追加情報を示します。

カスタマーマスターキー(CMK)を使用してログファイルを暗号化するように CloudTrail を設定する

次はCMK を使用するように CloudTrail 設定を更新の場合、CloudTrail はGenerateDataKeyへのリクエストAWS KMSCMK が存在し、CloudTrail が暗号化に使用する権限を持っていることを確認します。CloudTrail は、結果のデータキーを使用しません。

GenerateDataKey リクエストには、暗号化コンテキストの次の情報が含まれています。

GenerateDataKey リクエストの結果、CloudTrail ログに次の例のようなエントリが作成されます。このようなログエントリが表示された場合、CloudTrail ( ) はを呼び出しAWS KMS( )GenerateDataKeyオペレーション ( ) を特定のトレイル ( ).AWS KMSは特定の CMK ( ).

注記

次のログエントリの例に示されているコールアウトの一部を表示するには、右にスクロールする必要があります。

{ "eventVersion": "1.02", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::086441151436:user/AWSCloudTrail", "accountId": "086441151436", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "userName": "AWSCloudTrail", "sessionContext": {"attributes": { "mfaAuthenticated": "false", "creationDate": "2015-11-11T21:15:33Z" }}, "invokedBy": "internal.amazonaws.com" }, "eventTime": "2015-11-11T21:15:33Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:alias/ExampleAliasForCloudTrailCMK", "encryptionContext": { "aws:cloudtrail:arn": "arn:aws:cloudtrail:us-west-2:111122223333:trail/Default", "aws:s3:arn": "arn:aws:s3:::example-bucket-for-CT-logs/AWSLogs/111122223333/" }, "keySpec": "AES_256" }, "responseElements": null, "requestID": "581f1f11-88b9-11e5-9c9c-595a1fb59ac0", "eventID": "3cdb2457-c035-4890-93b6-181832b9e766", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsServiceEvent", "recipientAccountId": "111122223333" }

CloudTrail は S3 バケットにログファイルを格納します

CloudTrail が S3 バケットにログファイルを格納するたびに、Amazon S3 はGenerateDataKeyへのリクエストAWS KMSの代わりに CloudTrail を使用します。この要求に応じて、AWS KMSは一意のデータキーを生成し、データキーの 2 つのコピーを Amazon S3 に送信します。1 つはプレーンテキストで、もう 1 つは指定された CMK で暗号化されます。Amazon S3 は、プレーンテキストデータキーを使用して CloudTrail ログファイルを暗号化し、使用後できるだけ早くプレーンテキストデータキーをメモリから削除します。Amazon S3 は、暗号化されたデータキーをメタデータとして暗号化された CloudTrail ログファイルとともに保存します。

GenerateDataKey リクエストには、暗号化コンテキストの次の情報が含まれています。

GenerateDataKey リクエストごとに、CloudTrail ログに次の例のようなエントリが作成されます。このようなログエントリが表示された場合、CloudTrail ( ) はを呼び出しAWS KMS( )GenerateDataKeyオペレーション ( ) を特定のトレイル ( ) を使用して、特定のログファイル ( ).AWS KMS指定された CMK ( ) は、同じログエントリに 2 回表示されています。

注記

次のログエントリの例に示されているコールアウトの一部を表示するには、右にスクロールする必要があります。

{ "eventVersion": "1.02", "userIdentity": { "type": "AssumedRole", "principalId": "AROACKCEVSQ6C2EXAMPLE:i-34755b85", "arn": "arn:aws:sts::086441151436:assumed-role/AWSCloudTrail/i-34755b85", "accountId": "086441151436", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "attributes": { "mfaAuthenticated": "false", "creationDate": "2015-11-11T20:45:25Z" }, "sessionIssuer": { "type": "Role", "principalId": "AROACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::086441151436:role/AWSCloudTrail", "accountId": "086441151436", "userName": "AWSCloudTrail" } }, "invokedBy": "internal.amazonaws.com" }, "eventTime": "2015-11-11T21:15:58Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKey", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:cloudtrail:arn": "arn:aws:cloudtrail:us-west-2:111122223333:trail/Default", "aws:s3:arn": "arn:aws:s3:::example-bucket-for-CT-logs/AWSLogs/111122223333/CloudTrail/us-west-2/2015/11/11/111122223333_CloudTrail_us-west-2_20151111T2115Z_7JREEBimdK8d2nC9.json.gz" }, "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "keySpec": "AES_256" }, "responseElements": null, "requestID": "66f3f74a-88b9-11e5-b7fb-63d925c72ffe", "eventID": "7738554f-92ab-4e27-83e3-03354b1aa898", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsServiceEvent", "recipientAccountId": "111122223333" }

S3 バケットから暗号化されたログファイルを取得する

S3 バケットから暗号化された CloudTrail ログファイルを取得するたびに、Amazon S3 はDecryptへのリクエストAWS KMSを代理して、ログファイルの暗号化されたデータキーを復号化します。この要求に応じて、AWS KMSは CMK を使用してデータキーを復号化し、プレーンテキストのデータキーを Amazon S3 に送信します。Amazon S3 は、プレーンテキストデータキーを使用して CloudTrail ログファイルを復号化し、使用後できるだけ早くプレーンテキストデータキーをメモリから削除します。

Decrypt リクエストには、暗号化コンテキストの次の情報が含まれています。

Decrypt リクエストごとに、CloudTrail ログに次の例のようなエントリが作成されます。このようなログエントリが表示された場合、IAM ユーザーは AWS アカウント ( ) はを呼び出しAWS KMS( )Decryptオペレーション ( ) を特定のトレイル ( ) と特定のログファイル ( ).AWS KMS特定の CMK ( ).

注記

次のログエントリの例に示されているコールアウトの一部を表示するには、右にスクロールする必要があります。

{ "eventVersion": "1.02", "userIdentity": { "type": "IAMUser", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:user/cloudtrail-admin", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "userName": "cloudtrail-admin", "sessionContext": {"attributes": { "mfaAuthenticated": "false", "creationDate": "2015-11-11T20:48:04Z" }}, "invokedBy": "signin.amazonaws.com" }, "eventTime": "2015-11-11T21:20:52Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "internal.amazonaws.com", "userAgent": "internal.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:cloudtrail:arn": "arn:aws:cloudtrail:us-west-2:111122223333:trail/Default", "aws:s3:arn": "arn:aws:s3:::example-bucket-for-CT-logs/AWSLogs/111122223333/CloudTrail/us-west-2/2015/11/11/111122223333_CloudTrail_us-west-2_20151111T2115Z_7JREEBimdK8d2nC9.json.gz" } }, "responseElements": null, "requestID": "16a0590a-88ba-11e5-b406-436f15c3ac01", "eventID": "9525bee7-5145-42b0-bed5-ab7196a16daa", "readOnly": true, "resources": [{ "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "accountId": "111122223333" }], "eventType": "AwsApiCall", "recipientAccountId": "111122223333" }

CMK を使用する頻度について

コストを予測し、AWS請求書では、CloudTrail が CMK を使用する頻度を把握できます。AWS KMS無料利用枠を超えるサービスへのすべての API リクエストに対して料金を請求します。正確な料金については、「AWS Key Management Service の料金表」を参照してください。

CloudTrail ログファイルをAWS KMSで管理されたキー (SSE-KMS)CloudTrail は S3 バケットにログファイルを格納しますとすると、AWS KMSAPI リクエスト。通常、CloudTrail は 5 分ごとに 1 回、ログファイルを S3 バケットに配置します。その結果、約 288 になります。AWS KMS1 日あたり、リージョンあたり、および AWS アカウント 。以下はその例です。

  • この機能を 2 つのリージョンで単一の AWS アカウント , あなたは約期待することができます 576AWS KMS1 日あたり API リクエスト(2 x 288)。

  • この機能を 3 つの各リージョンで 2 つのリージョンで有効にすると AWS アカウント , あなたは約期待することができます 1,728AWS KMS1 日あたりの API リクエスト(6 x 288)。

これらの数値は PUT リクエストから生じる AWS KMS 呼び出しのみを表します。彼らはカウントされません復号はを呼び出します。AWS KMSから結果をGETS3 バケットから暗号化されたログファイルを取得するときにリクエストします。