選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用手動分割在 Athena 中建立 CloudTrail 日誌的資料表

焦點模式
使用手動分割在 Athena 中建立 CloudTrail 日誌的資料表 - Amazon Athena

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

您可以在 Athena 主控台中手動建立 CloudTrail 日誌檔案的資料表,然後在 Athena 中執行查詢。

若要使用 Athena 主控台為 CloudTrail 線索建立 Athena 資料表
  1. 將下列 DDL 陳述式複製並貼到 Athena 主控台查詢編輯器,然後根據您的需求進行修改。請注意,由於 CloudTrail 日誌檔案不是公有 API 呼叫的排序堆疊追蹤,因此日誌檔案中的欄位不會以任何特定順序顯示。

    CREATE EXTERNAL TABLE cloudtrail_logs ( eventversion STRING, useridentity STRUCT< type:STRING, principalid:STRING, arn:STRING, accountid:STRING, invokedby:STRING, accesskeyid:STRING, username:STRING, onbehalfof: STRUCT< userid: STRING, identitystorearn: STRING>, sessioncontext:STRUCT< attributes:STRUCT< mfaauthenticated:STRING, creationdate:STRING>, sessionissuer:STRUCT< type:STRING, principalid:STRING, arn:STRING, accountid:STRING, username:STRING>, ec2roledelivery:string, webidfederationdata: STRUCT< federatedprovider: STRING, attributes: map<string,string>> > >, eventtime STRING, eventsource STRING, eventname STRING, awsregion STRING, sourceipaddress STRING, useragent STRING, errorcode STRING, errormessage STRING, requestparameters STRING, responseelements STRING, additionaleventdata STRING, requestid STRING, eventid STRING, resources ARRAY<STRUCT< arn:STRING, accountid:STRING, type:STRING>>, eventtype STRING, apiversion STRING, readonly STRING, recipientaccountid STRING, serviceeventdetails STRING, sharedeventid STRING, vpcendpointid STRING, vpcendpointaccountid STRING, eventcategory STRING, addendum STRUCT< reason:STRING, updatedfields:STRING, originalrequestid:STRING, originaleventid:STRING>, sessioncredentialfromconsole STRING, edgedevicedetails STRING, tlsdetails STRUCT< tlsversion:STRING, ciphersuite:STRING, clientprovidedhostheader:STRING> ) PARTITIONED BY (region string, year string, month string, day string) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' STORED AS INPUTFORMAT 'com.amazon.emr.cloudtrail.CloudTrailInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/Account_ID/';
    注意

    建議您使用範例中org.apache.hive.hcatalog.data.JsonSerDe顯示的 。雖然com.amazon.emr.hive.serde.CloudTrailSerde存在 ,但目前它不會處理一些較新的 CloudTrail 欄位。

  2. (選用) 移除資料表不再需要的任何欄位。如果您只需要讀取特定的資料欄集,則您的資料表定義可排除其他資料欄。

  3. 修改 s3://amzn-s3-demo-bucket/AWSLogs/Account_ID/ 以指向包含您要查詢之日誌資料的 Amazon S3 儲存貯體。範例中使用特定帳戶日誌的 LOCATION 值,但您可以使用適合您應用程式的具體程度。例如:

    • 若要分析多個帳戶的資料,您可以復原 LOCATION 指標,使用 LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/' 來指定所有 AWSLogs

    • 若要分析特定日期、帳戶和區域的資料,請使用 LOCATION 's3://amzn-s3-demo-bucket/123456789012/CloudTrail/us-east-1/2016/03/14/'.

    • 若要分析網路活動資料,而非管理事件,請將子LOCATION/CloudTrail/中的 取代為 /CloudTrail-NetworkActivity/

    當您使用 Athena 進行查詢時,使用物件階層的最高層級可給您最大的靈活性。

  4. 確認列出的欄位正確。如需有關 CloudTrail 記錄中欄位的完整清單的詳細資訊,請參閱 CloudTrail 記錄內容

    步驟 1 中的範例CREATE TABLE陳述式使用 Hive JSON SerDe。在此範例中,欄位 requestparametersresponseelementsadditionaleventdata會列為查詢STRING中的類型,但 是 JSON 中使用的STRUCT資料類型。因此,若要取得這些欄位的資料,請使用 JSON_EXTRACT 函數。如需詳細資訊,請參閱從字串擷取 JSON 資料。為了改善效能,範例會依 AWS 區域年、月和日分割資料。

  5. 在 Athena 主控台執行 CREATE TABLE 陳述式。

  6. 使用 ALTER TABLE ADD PARTITION 命令載入分割區,以便進行查詢,如下列範例所示。

    ALTER TABLE table_name ADD PARTITION (region='us-east-1', year='2019', month='02', day='01') LOCATION 's3://amzn-s3-demo-bucket/AWSLogs/Account_ID/CloudTrail/us-east-1/2019/02/01/'
隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。