CloudTrail ダイジェストファイル構造 - AWS CloudTrail

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

CloudTrail ダイジェストファイル構造

各ダイジェストファイルには、過去 1 時間の間に Amazon S3 バケットに送られたログファイルの名前、これらのログファイルのハッシュ値、前のダイジェストファイルのデジタル署名が含まれます。現在のダイジェストファイルの署名は、ダイジェストファイルオブジェクトのメタデータプロパティに格納されます。デジタル署名とハッシュは、ログファイルおよびダイジェストファイル自体の整合性を検証するために使用されます。

ダイジェストファイルの場所

ダイジェストファイルは、次の構文で表される Amazon S3 バケットの場所に送られます。

s3://amzn-s3-demo-bucket/optional-prefix/AWSLogs/aws-account-id/CloudTrail-Digest/ region/digest-end-year/digest-end-month/digest-end-date/ aws-account-id_CloudTrail-Digest_region_trail-name_region_digest_end_timestamp.json.gz
注記

組織の証跡の場合、次のようにバケットの場所に組織ユニット ID も含まれます。

s3://amzn-s3-demo-bucket/optional-prefix/AWSLogs/O-ID/aws-account-id/CloudTrail-Digest/ region/digest-end-year/digest-end-month/digest-end-date/ aws-account-id_CloudTrail-Digest_region_trail-name_region_digest_end_timestamp.json.gz

ダイジェストファイルの内容の例

次のダイジェストファイルの例には、 CloudTrail ログに関する情報が含まれています。

{ "awsAccountId": "111122223333", "digestStartTime": "2015-08-17T14:01:31Z", "digestEndTime": "2015-08-17T15:01:31Z", "digestS3Bucket": "amzn-s3-demo-bucket", "digestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/17/111122223333_CloudTrail-Digest_us-east-2_your-trail-name_us-east-2_20150817T150131Z.json.gz", "digestPublicKeyFingerprint": "31e8b5433410dfb61a9dc45cc65b22ff", "digestSignatureAlgorithm": "SHA256withRSA", "newestEventTime": "2015-08-17T14:52:27Z", "oldestEventTime": "2015-08-17T14:42:27Z", "previousDigestS3Bucket": "amzn-s3-demo-bucket", "previousDigestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/17/111122223333_CloudTrail-Digest_us-east-2_your-trail-name_us-east-2_20150817T140131Z.json.gz", "previousDigestHashValue": "97fb791cf91ffc440d274f8190dbdd9aa09c34432aba82739df18b6d3c13df2d", "previousDigestHashAlgorithm": "SHA-256", "previousDigestSignature": "50887ccffad4c002b97caa37cc9dc626e3c680207d41d27fa5835458e066e0d3652fc4dfc30937e4d5f4cc7f796e7a258fb50a43ac427f2237f6e505d4efaf373d156e15e3b68dea9f58111d395b62628d6bd367a9024d2183b5c5f6e19466d3a996b92df705bc997b8a0e13430f241d733cf95df4e41bb6c304c3f58363043572ea57a27085639ce187e679c0d81c7519b1184fa77fb7ab0b0e40a32dace6e1eefc3995c5ae182da49b62b26398cebb52a2201a6387b75b89c83e5570bcb9bba6c34a80f2f00a1c6ebe07d1ff149eccd812dc805bb3eeff6657db32a6cb48d2d096404eb76181877bc6ebb8cd0b23f823200155b2fd8848d428e46e8456328a", "logFiles": [ { "s3Bucket": "amzn-s3-demo-bucket", "s3Object": "AWSLogs/111122223333/CloudTrail/us-east-2/2015/08/17/111122223333_CloudTrail_us-east-2_20150817T1445Z_9nYN7gp2eWAJHIfT.json.gz", "hashValue": "9bb6196fc6b84d6f075a56548feca262bd99ba3c2de41b618e5b6e22c1fc71f6", "hashAlgorithm": "SHA-256", "newestEventTime": "2015-08-17T14:52:27Z", "oldestEventTime": "2015-08-17T14:42:27Z" } ] }

ダイジェストファイルのフィールドの説明

以下では、ダイジェストファイルの各フィールドについて説明します。

awsAccountId

ダイジェストファイルが配信された AWS アカウント ID。

digestStartTime

ダイジェストファイルがカバーする開始UTC時間範囲。ログファイルが によって配信された時刻を参照として受け取ります CloudTrail。つまり、時間範囲が [Ta, Tb] の場合、Ta と Tb の間に顧客に配信されたすべてのログファイルが、ダイジェストに含まれます。

digestEndTime

ダイジェストファイルがカバーする終了UTC時間範囲。ログファイルが によって配信された時刻をリファレンスとして扱います CloudTrail。つまり、時間範囲が [Ta, Tb] の場合、Ta と Tb の間に顧客に配信されたすべてのログファイルが、ダイジェストに含まれます。

digestS3Bucket

現在のダイジェストファイルの配信先であった Amazon S3 バケットの名前です。

digestS3Object

現在のダイジェストファイルの Amazon S3 オブジェクトキー (つまり、Amazon S3 バケットの場所) です。文字列の最初の 2 つのリージョンは、ダイジェストファイルの配信元のリージョンを示します。最後のリージョン (your-trail-name の後) は、証跡のホームリージョンです。ホームリージョンは、証跡が作成されたリージョンです。マルチリージョンの証跡の場合、このリージョンはダイジェストファイル配信元のリージョンと異なる場合があります。

newestEventTime

ダイジェスト内のログファイル内のすべてのイベントのうち、最新のイベントのUTC時刻。

oldestEventTime

ダイジェスト内のログファイル内のすべてのイベントのうち、最も古いイベントのUTC時刻。

注記

ダイジェストファイルが遅れて配信された場合、oldestEventTime の値は digestStartTime の値より前になります。

previousDigestS3Bucket

前のダイジェストファイルの配信先であった Amazon S3 バケットです。

previousDigestS3Object

前のダイジェストファイルの Amazon S3 オブジェクトキー (つまり、Amazon S3 バケットの場所) です。

previousDigestHashValue

前のダイジェストファイルの圧縮されていない内容の 16 進エンコードされたハッシュ値です。

previousDigestHashAlgorithm

前のダイジェストファイルのハッシュ計算に使用されたハッシュアルゴリズムの名前です。

publicKeyFingerprint

このダイジェストファイルの署名に使用されたプライベートキーと一致するパブリックキーの 16 進エンコードされたフィンガープリントです。 AWS CLI または を使用して、ダイジェストファイルに対応する時間範囲のパブリックキーを取得できます CloudTrail API。返されたパブリックキーのうち、フィンガープリントがこの値と一致するものを使用して、ダイジェストファイルを検証できます。ダイジェストファイルのパブリックキーの取得については、 コマンドまたは CloudTrail ListPublicKeys を参照してください AWS CLI list-public-keysAPI。

注記

CloudTrail は、リージョンごとに異なるプライベート/パブリックキーペアを使用します。各ダイジェストファイルは、リージョンに固有のプライベートキーを使用して署名されます。したがって、特定のリージョンからのダイジェストファイルを検証するときは、同じリージョンで対応するパブリックキーを検索する必要があります。

digestSignatureAlgorithm

ダイジェストファイルの署名に使用されるアルゴリズムです。

logFiles.s3Bucket

ログファイルの Amazon S3 バケットの名前です。

logFiles.s3Object

現在のログファイルの Amazon S3 オブジェクトキーです。

logFiles.newestEventTime

ログファイル内の最新のイベントのUTC時刻。この時刻は、ログファイル自体のタイムスタンプにも対応しています。

logFiles.oldestEventTime

ログファイル内の最も古いイベントのUTC時刻。

logFiles.hashValue

圧縮されていないログファイルの内容の 16 進エンコードされたハッシュ値です。

logFiles.hashAlgorithm

ログファイルのハッシュ計算に使用されたハッシュアルゴリズムです。

開始ダイジェストファイル

ログファイルの整合性の検証が開始されると、開始ダイジェストファイルが生成されます。開始ダイジェストファイルは、ログファイルの整合性の検証が再開されるときにも生成されます (ログファイルの整合性検証をいったん無効にしてから再び有効にすることで、またはログ記録を停止してから検証を有効にしてログ記録を再び開始することで)。開始ダイジェストファイルでは、前のダイジェストファイルに関する以下のフィールドは null になります。

  • previousDigestS3Bucket

  • previousDigestS3Object

  • previousDigestHashValue

  • previousDigestHashAlgorithm

  • previousDigestSignature

"空の" ダイジェストファイル

CloudTrail は、ダイジェストファイルが表す 1 時間の間にアカウントにAPIアクティビティがない場合でも、ダイジェストファイルを配信します。これは、ダイジェストファイルによって報告される 1 時間の間にログファイルが配信されなかったことをアサートする必要がある場合に役に立つことがあります。

次の例は、APIアクティビティが発生しなかった 1 時間を記録したダイジェストファイルの内容を示しています。ダイジェストファイルの内容の最後にある logFiles:[ ] フィールドが空であることに注意してください。

{ "awsAccountId": "111122223333", "digestStartTime": "2015-08-20T17:01:31Z", "digestEndTime": "2015-08-20T18:01:31Z", "digestS3Bucket": "amzn-s3-demo-bucket", "digestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/20/111122223333_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150820T180131Z.json.gz", "digestPublicKeyFingerprint": "31e8b5433410dfb61a9dc45cc65b22ff", "digestSignatureAlgorithm": "SHA256withRSA", "newestEventTime": null, "oldestEventTime": null, "previousDigestS3Bucket": "amzn-s3-demo-bucket", "previousDigestS3Object": "AWSLogs/111122223333/CloudTrail-Digest/us-east-2/2015/08/20/111122223333_CloudTrail-Digest_us-east-2_example-trail-name_us-east-2_20150820T170131Z.json.gz", "previousDigestHashValue": "ed96c4bac9eaa8fe9716ca0e515da51938be651b1db31d781956416a9d05cdfa", "previousDigestHashAlgorithm": "SHA-256", "previousDigestSignature": "82705525fb0fe7f919f9434e5b7138cb41793c776c7414f3520c0242902daa8cc8286b29263d2627f2f259471c745b1654af76e2073264b2510fd45236b3aea4d80c0e8e6455223d7bd54ff80af0edf22a5f14fa856626daec919f0591479aa4f213787ba1e1076328dcf8ff624e03a977fa5612dcf58594c590fd8c1c5b48bddf43fc84ecc00b41bedd0ff7f293c3e2de8dcdc78f98b03e17577f5822ba842399d69eb79921c0429773509520e08c8b518702d987dfbb3a4e5d8c5f17673ce1f989dfff82d4becf24e452f20d3bcac94ad50131f93e57f10155536acb54c60efbe9d57228c2b930bc6082b2318e3ccd36834a8e835b8d112dbf32145f445c11", "logFiles": [] }

ダイジェストファイルの署名

ダイジェストファイルの署名情報は、Amazon S3 ダイジェストファイルオブジェクトの 2 つのオブジェクトメタデータプロパティにあります。各ダイジェストファイルには、次のメタデータエントリが含まれます。

  • x-amz-meta-signature

    ダイジェストファイルの署名の 16 進エンコードされた値です。以下に、署名の例を示します。

    3be472336fa2989ef34de1b3c1bf851f59eb030eaff3e2fb6600a082a23f4c6a82966565b994f9de4a5989d053d9d15d20fc5c43e66358652d93326550a4acc5c5f541bb52e9b455897ab723bd7cbabfe963a406a41d600f3658f7a3135e5ed9fcae7b79bb5857d1e5eb78fcce8595ce0ade2f3ad1d9f2d62be7bc4660d83166ce24586489b7da9ee9883eaf0b9efabb5dd3cbba565cc4aab5c9c46c9fa7e9cda310afcc5e8adcd9e48d0597ec5f8174a52c3bebb3e845eeb1d18904fbf4cc14cd117080098e10022ddf55e017a9431446acad8560de0ba1e477af9f8a3048bc6196350adad0cc0cb4ab99b5e7c9944437a3c674a038009220684ced7be07b4f 28f1cc237f372264a51b611c01da429565def703539f4e71009051769469231bc22232fa260df02740047af532229885ea2b0e95ecd353326b7104941e0cbddb076a391f1fcf2923c19565f4841770a78723451aeb732ff1b6162dc40e601fc6720bc5325987942ebd817783b322f0ac77698523bf742fdea7aa44f4911b3101221b7e1233387f16a52077610498f4a1254211258e37da0fb4cb207aef593b4c1baa13674e85acc52046b3adb889e63331a66abac5de7e42ffdd6952987c31ae871650e130bd2e63bfe145b22bbd39ea192210f6df64d49b888a321e02d3fc4cf126accae30d2857ccd6b2286a7c9feba6c35c44161b24147d645e6ca26844ba 05d3ffcb5d2dd5dc28f8bb5b7993938e8a5f912a82b448a367eccb2ec0f198ba71e23eb0b97278cf65f3c8d1e652c6de33a22ca8428821ffc95bf8b726ba9f37cfbc20c54dc5bd6159bdea1c4d951b68cb8e0528852c55bb0c5e499ea60560f7c2bb3af7f694407da863a2594f7a2f2838cb09254afbaf8003587746e719a0437f85eeffae534f283f3837eb939a9bccc3c71573500661245891051231b580ac92d9e0e68c6f47ad38975f493e2c40e7f303353c4adc7d563ef1e875977afac2e085f0c824045d998c9543d8a3293ad3c063b7a109d0bfd84b0b1e3f72c4f057e744e6a2cf9cc97727b08584f44bfa47799c5072b60f0b619aea88a17de585e9
  • x-amz-meta-signature-algorithm

    次に示すのは、ダイジェストの署名を生成するために使用されたアルゴリズムの値の例です。

    SHA256withRSA

ダイジェストファイルの連鎖

各ダイジェストファイルには以前のダイジェストファイルへの参照が含まれているため、 などの検証ツールがダイジェストファイルが削除されたかどうかを検出 AWS CLI できる「チェーン」が可能になります。また、指定された時間範囲内のダイジェストファイルを、新しいものから順に連続的に検査することもできます。

注記

ログファイルの整合性検証を無効にすると、1 時間後にダイジェストファイルのチェーンが壊れます。 CloudTrail は、ログファイルの整合性検証が無効になっている期間中に配信されたログファイルのダイジェストファイルを作成しません。たとえば、1 月 1 日の正午にログファイルの整合性検証を有効にし、1 月 2 日の正午にそれを無効にした後、1 月 10 日の正午に再び有効にした場合、1 月 2 日正午から 1 月 10 日正午までの間に配信されたログファイルに対しては、ダイジェストファイルは作成されません。 CloudTrail ログ記録を停止したり、証跡を削除したりする場合も同様です。

証跡の S3 バケットポリシーの設定が間違っていたり、予期しないサービス中断 CloudTrail が発生した場合、ダイジェストファイルの一部または全部が受信されないことがあります。証跡にダイジェスト配信エラーがあるかどうかを確認するには、 get-trail-status コマンドを実行し、 LatestDigestDeliveryErrorパラメータでエラーを確認します。配信の問題が解決されると (バケットポリシーの修正など)、 は欠落しているダイジェストファイルの再配信を試み CloudTrail ます。再配信期間中、ダイジェストファイルが順不同で配信される可能性があるため、チェーンが一時的に壊れているように見える場合があります。

ログ記録が停止するか、証跡が削除された場合、 CloudTrail は最終的なダイジェストファイルを配信します。このダイジェストファイルには、StopLogging イベントまでのイベントを対象とする残りのすべてのログファイルに関する情報が含まれている場合があります。