本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon S3 伺服器存取日誌格式
伺服器存取記錄,針對向 Amazon S3 儲存貯體提出的請求,提供詳細的記錄。您可以將伺服器存取日誌用於下列目的:
-
執行安全與存取稽核
-
了解您的客戶群
-
了解您的 Amazon S3 計費
本節說明 Amazon S3 伺服器存取日誌檔案的格式和其他詳細資訊。
伺服器存取記錄檔,是由一連串換行分隔日誌記錄所組成。每筆日誌記錄都代表一項要求,且由多個空格分隔欄位所組成。
以下為五筆日誌記錄所組成的日誌範例。
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 3E57427F3EXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket1?versioning HTTP/1.1" 200 - 113 - 7 - "-" "S3Console/0.4" - s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234= SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 arn:aws:s3:us-west-1:123456789012:accesspoint/example-AP Yes 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 891CE47D2EXAMPLE REST.GET.LOGGING_STATUS - "GET /amzn-s3-demo-bucket1?logging HTTP/1.1" 200 - 242 - 11 - "-" "S3Console/0.4" - 9vKBE6vMhrNiWHZmb2L0mXOcqPGzQOI5XLnCtZNPxev+Hf+7tpT6sxDwDty4LHBUOZJG96N1234= SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 - - 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be A1206F460EXAMPLE REST.GET.BUCKETPOLICY - "GET /amzn-s3-demo-bucket1?policy HTTP/1.1" 404 NoSuchBucketPolicy 297 - 38 - "-" "S3Console/0.4" - BNaBsXZQQDbssi6xMBdBU2sLt+Yf5kZDmeBUP35sFoKa3sLLeMC78iwEIWxs99CRUrbS4n11234= SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 - Yes 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:01:00 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 7B4A0FABBEXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket1?versioning HTTP/1.1" 200 - 113 - 33 - "-" "S3Console/0.4" - Ke1bUcazaN1jWuUlPJaxF64cQVpUEhoZKEG/hmy/gijN/I1DeWqDfFvnpybfEseEME/u7ME1234= SigV4 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 - - 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket1 [06/Feb/2019:00:01:57 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be DD6CC733AEXAMPLE REST.PUT.OBJECT s3-dg.pdf "PUT /amzn-s3-demo-bucket1/s3-dg.pdf HTTP/1.1" 200 - - 4406583 41754 28 "-" "S3Console/0.4" - 10S62Zv81kBW7BB6SX4XJ48o6kpcl6LPwEoizZQQxJd5qDSCTLX0TgS37kYUBKQW3+bPdrg1234= SigV4 ECDHE-RSA-AES128-SHA AuthHeader amzn-s3-demo-bucket1.s3.us-west-1.amazonaws.com TLSV1.2 - Yes
注意
任何欄位都可以設成 -
,指出資料為未知或不可用,或欄位不適用於此要求。
日誌記錄欄位
下列清單說明日誌記錄欄位。
- 儲存貯體擁有者
-
來源儲存貯體擁有者的正式使用者 ID。正式使用者 ID 是 AWS 帳戶 ID 的另一種形式。如需正式使用者 ID 的詳細資訊,請參閱《AWS 一般參考》中的 AWS 帳戶 識別符。如需如何尋找帳戶正式使用者 ID 的資訊,請參閱尋找您的 AWS 帳戶的正式使用者 ID。
項目範例
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
- 儲存貯體
-
要求處理對象的儲存貯體名稱。如果系統收到格式錯誤的要求且無法判斷儲存貯體,則儲存貯體要求就不會出現在任何伺服器存取記錄中。
項目範例
- 時間
-
收到請求的時間;這些日期和時間以國際標準時間 () 為單位UTC。使用
strftime()
術語的格式如下:[%d/%b/%Y:%H:%M:%S %z]
項目範例
[06/Feb/2019:00:00:38 +0000]
- 遠端 IP
-
申請者清楚的 IP 地址。中間代理伺服器與防火牆可能會模糊提出請求之電腦的實際 IP 地址。
項目範例
192.0.2.3
- 要求者
-
要求者的正式使用者 ID,或未經驗證要求者的
-
。如果請求者是IAM使用者,此欄位會傳回請求者的IAM使用者名稱,以及 AWS 帳戶 IAM使用者所屬的 。此識別符與用於存取控制目的的識別符相同。項目範例
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
如果請求者使用擔任的角色,此欄位會傳回擔任IAM的角色。
項目範例
arn:aws:sts::123456789012:assumed-role/roleName/test-role
- 要求 ID
-
是由 Amazon S3 產生的字串,是可唯一識別每項請求。
項目範例
3E57427F33A59F07
- 操作
-
這裡列出的操作會宣告為 S3 生命週期和記錄 的
SOAP.
、operation
REST.
、HTTP_method
.resource_type
WEBSITE.
或HTTP_method
.resource_type
BATCH.DELETE.OBJECT
或S3.action.resource_type
。項目範例
REST.PUT.OBJECT
- 金錀
-
請求的索引鍵 (物件名稱) 部分。
項目範例
/photos/2019/08/puppy.jpg
- Request-URI
-
HTTP 請求訊息
Request-URI
的一部分。項目範例
"GET /amzn-s3-demo-bucket1/photos/2019/08/puppy.jpg?x-foo=bar HTTP/1.1"
- HTTP 狀態
-
回應的數值HTTP狀態碼。
項目範例
200
- 錯誤代碼
-
Amazon S3 錯誤回應 ,或者
-
如果沒有發生錯誤。項目範例
NoSuchBucket
- 已傳送的位元組
-
傳送的回應位元組數,不包括HTTP通訊協定額外負荷,或
-
如果為零。項目範例
2662992
- 物件大小
-
所提及之物件的總大小。
項目範例
3462992
- 總時間
-
從伺服器角度計算的請求所經過的毫秒數。此值是從收到您要求的時間開始,計算到回應傳送出最後一組位元組的時間。由於網路延遲,從用戶端角度進行的測量可能較長。
項目範例
70
- 周轉時間
-
Amazon S3 處理您請求所花費的毫秒數。此值是從收到您要求的最後位元組的時間開始,計算到回應傳送出第一組位元組的時間。
項目範例
10
- Referer
-
HTTP
Referer
標頭的值,如果有的話。HTTP 使用者代理程式 (例如瀏覽器) 通常會在提出請求時將此標頭設定為連結或內嵌頁面URL的 。項目範例
"http://www.example.com/webservices"
- User-Agent
-
HTTP
User-Agent
標頭的值。項目範例
"curl/7.15.1"
- 版本 Id
-
請求的版本 ID,或
-
(如果操作未採用versionId
參數)。項目範例
3HL4kqtJvjVBH40Nrjfkd
- 主機 Id
-
x-amz-id-2
或 Amazon S3 延伸請求 ID。項目範例
s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
- 簽章版本
-
簽章版本 (
SigV2
或SigV4
),用來驗證請求或未驗證請求的-
。項目範例
SigV2
- 密碼套件
-
針對 HTTPS請求或 交涉的安全通訊端層 (SSL)
-
密碼HTTP。項目範例
ECDHE-RSA-AES128-GCM-SHA256
- 身分驗證類型
-
使用的請求身分驗證類型:
AuthHeader
用於身分驗證標頭、QueryString
用於查詢字串 (預先簽章的 URL),或-
用於未驗證請求的 。項目範例
AuthHeader
- 主機標頭
-
用來連線到 Amazon S3 的端點。
項目範例
s3.us-west-2.amazonaws.com
某些早期區域支援舊版端點。您可能會在伺服器存取日誌或 AWS CloudTrail 日誌中看到這些端點。如需詳細資訊,請參閱舊版端點。如需 Amazon S3 區域和端點的完整清單,請參閱《Amazon Web Services 一般參考》中的 Amazon S3 端點和配額。
- TLS 版本
-
用戶端交涉的 Transport Layer Security (TLS) 版本。該值是下列其中一項:
TLSv1.1
、TLSv1.3
、TLSv1.2
或 TLS-
,如果未使用。項目範例
TLSv1.2
- 存取點 ARN
-
請求存取點的 Amazon Resource Name (ARN)。如果存取點格式ARN不正確或未使用, 欄位將包含
-
。如需存取點的詳細資訊,請參閱 使用存取點。如需 的詳細資訊ARNs,請參閱 AWS 參考指南 中的 Amazon Resource Name (ARN)。項目範例
arn:aws:s3:
us-east-1
:123456789012
:accesspoint/example-AP
- aclRequired
-
指出請求是否需要存取控制清單 (ACL) 以進行授權的字串。如果請求需要 ACL授權,則字串為
Yes
。如果不需要ACLs,則字串為-
。如需 的詳細資訊ACLs,請參閱 存取控制清單 (ACL) 概觀。如需使用aclRequired
欄位停用 的詳細資訊ACLs,請參閱 控制物件的擁有權,並ACLs停用儲存貯體。項目範例
Yes
複製操作的其他記錄
複製操作包括 GET
與 PUT
。因此,執行複製操作時,我們會記錄兩筆記錄。上節說明與操作的 PUT
部分有關的欄位。下列清單說明記錄中與複製操作的 GET
部分有關的欄位。
- 儲存貯體擁有者
-
存放要複製物件之儲存貯體的正式使用者 ID。正式使用者 ID 是 AWS 帳戶 ID 的另一種形式。如需正式使用者 ID 的詳細資訊,請參閱《AWS 一般參考》中的 AWS 帳戶 識別符。如需如何尋找帳戶正式使用者 ID 的資訊,請參閱尋找您的 AWS 帳戶的正式使用者 ID。
項目範例
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
- 儲存貯體
-
存放所複製物件的儲存貯體名稱。
項目範例
- 時間
-
收到請求的時間;這些日期和時間以國際標準時間 () 為單位UTC。使用
strftime()
術語的格式如下:[%d/%B/%Y:%H:%M:%S %z]
項目範例
[06/Feb/2019:00:00:38 +0000]
- 遠端 IP
-
申請者清楚的 IP 地址。中間代理伺服器與防火牆可能會模糊提出請求之電腦的實際 IP 地址。
項目範例
192.0.2.3
- 要求者
-
要求者的正式使用者 ID,或未經驗證要求者的
-
。如果請求者是IAM使用者,此欄位會傳回請求者的IAM使用者名稱,以及 AWS 帳戶根使用者 IAM使用者所屬的 。此識別符與用於存取控制目的的識別符相同。項目範例
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
如果請求者使用擔任的角色,此欄位會傳回擔任IAM的角色。
項目範例
arn:aws:sts::123456789012:assumed-role/roleName/test-role
- 要求 ID
-
是由 Amazon S3 產生的字串,是可唯一識別每項請求。
項目範例
3E57427F33A59F07
- 操作
-
這裡列出的操作會宣告為
SOAP.
、operation
REST.
、HTTP_method
.resource_type
WEBSITE.
或HTTP_method
.resource_type
BATCH.DELETE.OBJECT
。項目範例
REST.COPY.OBJECT_GET
- 金錀
-
要複製之物件的金鑰 (物件名稱);或
-
(如果操作未採用金鑰參數)。項目範例
/photos/2019/08/puppy.jpg
- Request-URI
-
HTTP 請求訊息
Request-URI
的一部分。項目範例
"GET /amzn-s3-demo-bucket1/photos/2019/08/puppy.jpg?x-foo=bar"
- HTTP 狀態
-
複製操作
GET
部分的數值HTTP狀態碼。項目範例
200
- 錯誤代碼
-
複製操作
GET
部分的 Amazon S3 錯誤回應,或者-
如果沒有發生錯誤。項目範例
NoSuchBucket
- 已傳送的位元組
-
傳送的回應位元組數,不包括HTTP通訊協定額外負荷,或
-
如果為零。項目範例
2662992
- 物件大小
-
所提及之物件的總大小。
項目範例
3462992
- 總時間
-
從伺服器角度計算的請求所經過的毫秒數。此值是從收到您要求的時間開始,計算到回應傳送出最後一組位元組的時間。由於網路延遲,從用戶端角度進行的測量可能較長。
項目範例
70
- 周轉時間
-
Amazon S3 處理您請求所花費的毫秒數。此值是從收到您要求的最後位元組的時間開始,計算到回應傳送出第一組位元組的時間。
項目範例
10
- Referer
-
HTTP
Referer
標頭的值,如果有的話。HTTP 使用者代理程式 (例如瀏覽器) 通常會在提出請求時將此標頭設定為連結或內嵌頁面URL的 。項目範例
"http://www.example.com/webservices"
- User-Agent
-
HTTP
User-Agent
標頭的值。項目範例
"curl/7.15.1"
- 版本 Id
-
要複製之物件的版本 ID,或
-
(如果x-amz-copy-source
標頭並未將versionId
參數指定為複製來源的一部分)。項目範例
3HL4kqtJvjVBH40Nrjfkd
- 主機 Id
-
x-amz-id-2
或 Amazon S3 延伸請求 ID。項目範例
s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
- 簽章版本
-
簽章版本 (
SigV2
或SigV4
),用來驗證請求或未驗證請求的-
。項目範例
SigV4
- 密碼套件
-
針對 HTTPS 請求或針對 交涉的安全通訊端層 (SSL)
-
密碼HTTP。項目範例
ECDHE-RSA-AES128-GCM-SHA256
- 身分驗證類型
-
使用的請求身分驗證類型:
AuthHeader
用於身分驗證標頭、QueryString
用於查詢字串 (預先簽章的 URLs),或-
用於未驗證請求的 。項目範例
AuthHeader
- 主機標頭
-
用來連線到 Amazon S3 的端點。
項目範例
s3.us-west-2.amazonaws.com
某些早期區域支援舊版端點。您可能會在伺服器存取日誌或 AWS CloudTrail 日誌中看到這些端點。如需詳細資訊,請參閱舊版端點。如需 Amazon S3 區域和端點的完整清單,請參閱《Amazon Web Services 一般參考》中的 Amazon S3 端點和配額。
- TLS 版本
-
用戶端交涉的 Transport Layer Security (TLS) 版本。該值是下列其中一項:
TLSv1.1
、TLSv1.3
、TLSv1.2
或 TLS-
,如果未使用。項目範例
TLSv1.2
- 存取點 ARN
-
請求存取點的 Amazon Resource Name (ARN)。如果存取點格式ARN不正確或未使用, 欄位將包含
-
。如需存取點的詳細資訊,請參閱 使用存取點。如需 的詳細資訊ARNs,請參閱 AWS 參考指南 中的 Amazon Resource Name (ARN)。項目範例
arn:aws:s3:
us-east-1
:123456789012
:accesspoint/example-AP
- aclRequired
-
指出請求是否需要存取控制清單 (ACL) 以進行授權的字串。如果請求需要 ACL授權,則字串為
Yes
。如果不需要ACLs,則字串為-
。如需 的詳細資訊ACLs,請參閱 存取控制清單 (ACL) 概觀。如需使用aclRequired
欄位停用 的詳細資訊ACLs,請參閱 控制物件的擁有權,並ACLs停用儲存貯體。項目範例
Yes
客戶存取日誌資訊
您可以包含要存放在請求存取日誌記錄中的自訂資訊。若要執行此操作,請將自訂 query-string 參數新增至請求URL的 。Amazon S3 忽略開頭為 x-
的查詢字串參數,但會將這些參數包含在請求的存取日誌日誌中,當成日誌記錄 Request-URI
欄位的一部分。
例如,GET
請求的 "s3.amazonaws.com/amzn-s3-demo-bucket1/photos/2019/08/puppy.jpg?x-user=johndoe"
運作方式與 "s3.amazonaws.com/amzn-s3-demo-bucket1/photos/2019/08/puppy.jpg"
請求相同,不同之處在於該 "x-user=johndoe"
字串包含在關聯日誌記錄的 Request-URI
欄位中。此功能僅適用於 REST 介面。
可擴展伺服器存取日誌格式的程式設計考量
有時候,我們可能要在每行結尾新增欄位,擴展存取日誌記錄的格式。因此,確定任何解析伺服器存取日誌的程式碼,可以處理其可能不理解的結尾欄位。