使用 Lightsail 存储桶日志分析对象存储访问权限
访问日志记录详细地记录对 Amazon Lightsail 对象存储服务中的存储桶所做的请求。您可以使用访问日志进行安全和访问审计,或者了解客户群。本节介绍了有关访问日志文件的格式和其他详细信息。有关日志记录基本知识的更多信息,请参阅存储桶访问日志。
访问日志文件由一系列的换行分隔日志记录组成。每个日志记录表示一个请求并由空格分隔的字段组成。
以下是含有五份日志记录的示例日志。
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 3E57427F3EXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket?versioning HTTP/1.1" 200 - 113 - 7 - "-" "S3Console/0.4" - s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 891CE47D2EXAMPLE REST.GET.LOGGING_STATUS - "GET /amzn-s3-demo-bucket?logging HTTP/1.1" 200 - 242 - 11 - "-" "S3Console/0.4" - 9vKBE6vMhrNiWHZmb2L0mXOcqPGzQOI5XLnCtZNPxev+Hf+7tpT6sxDwDty4LHBUOZJG96N1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:00:38 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be A1206F460EXAMPLE REST.GET.BUCKETPOLICY - "GET /amzn-s3-demo-bucket?policy HTTP/1.1" 404 NoSuchBucketPolicy 297 - 38 - "-" "S3Console/0.4" - BNaBsXZQQDbssi6xMBdBU2sLt+Yf5kZDmeBUP35sFoKa3sLLeMC78iwEIWxs99CRUrbS4n11234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:01:00 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be 7B4A0FABBEXAMPLE REST.GET.VERSIONING - "GET /amzn-s3-demo-bucket?versioning HTTP/1.1" 200 - 113 - 33 - "-" "S3Console/0.4" - Ke1bUcazaN1jWuUlPJaxF64cQVpUEhoZKEG/hmy/gijN/I1DeWqDfFvnpybfEseEME/u7ME1234= SigV2 ECDHE-RSA-AES128-GCM-SHA256 AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be amzn-s3-demo-bucket [06/Feb/2019:00:01:57 +0000] 192.0.2.3 79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be DD6CC733AEXAMPLE REST.PUT.OBJECT s3-dg.pdf "PUT /amzn-s3-demo-bucket/s3-dg.pdf HTTP/1.1" 200 - - 4406583 41754 28 "-" "S3Console/0.4" - 10S62Zv81kBW7BB6SX4XJ48o6kpcl6LPwEoizZQQxJd5qDSCTLX0TgS37kYUBKQW3+bPdrg1234= SigV4 ECDHE-RSA-AES128-SHA AuthHeader amzn-s3-demo-bucket.s3.us-west-1.amazonaws.com TLSV1.1
注意
任何日志记录字段都可以设置为 –
以指示数据未知或不可用,或者该字段不适用于此请求。
内容
日志记录字段
以下列表介绍了日志记录字段。
接入点 ARN(Amazon 资源名称)
请求访问点的 Amazon Resource Name (ARN)。如果访问点的 ARN 格式不正确或未使用,则该字段将包含“-”。如需有关访问点的更多信息,请参阅使用访问点。有关 ARN 的更多信息,请参阅 AWS 一般指南中的 Amazon Resource Name (ARN) 主题。
示例条目
arn:aws:s3:us-east-1:123456789012:accesspoint/example-AP
存储桶拥有者
源存储桶拥有者的规范用户 ID。规范用户 ID 是另一种形式的 AWS 账户 ID。有关规范用户 ID 的更多信息,请参阅 AWS 一般参考中的 AWS 账户标识符。有关如何查找您的账户的规范用户 ID 的信息,请参阅查找 AWS 账户的规范用户 ID。
示例条目
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
存储桶
请求处理的存储桶的名称。如果系统收到格式错误的请求且无法确定存储桶,则请求不会显示在任何的访问日志中。
示例条目
amzn-s3-demo-bucket
时间
收到请求的时间;这些日期和时间采用协调世界时 (UTC)。使用 strftime()
术语的格式如下:[%d/%b/%Y:%H:%M:%S %z]
示例条目
[06/Feb/2019:00:00:38 +0000]
远程 IP
请求者的显式 Internet 地址。中间代理和防火墙可能会隐藏发送请求的计算机的实际地址。
示例条目
192.0.2.3
请求者
请求者的规范用户 ID 或用于未经验证请求的 -
。如果请求者是 IAM 用户,此字段会返回请求者的 IAM 用户名以及该 IAM 用户所属的 AWS 根账户。此标识符与用于访问控制目的的标识符是相同的。
示例条目
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
请求 ID
由 Lightsail 生成的字符串,可用于唯一地标识每个请求。
示例条目
3E57427F33A59F07
操作
此处列出的操作将声明为 SOAP.
、operation
REST.
、HTTP_method.resource_type
WEBSITE.
或 HTTP_method.resource_type
BATCH.DELETE.OBJECT
。
示例条目
REST.PUT.OBJECT
密钥
请求的“密钥”部分、已编码的 URL 或“-” (如果操作没有使用密钥参数)。
示例条目
/photos/2019/08/puppy.jpg
请求 URI
HTTP 请求消息的“请求-URI”部分。
示例条目
"GET /amzn-s3-demo-bucket/photos/2019/08/puppy.jpg?x-foo=bar HTTP/1.1"
HTTP 状态
响应的数字 HTTP 状态代码。
示例条目
200
错误代码
Amazon S3 错误代码或“-”(如果没有发生错误)。
示例条目
NoSuchBucket
发送的字节数
发送的响应字节数,不包括 HTTP 协议支出或“-” (如果为零)。
示例条目
2662992
对象大小
所涉及的对象的总大小。
示例条目
3462992
总时间
从存储桶传输请求的毫秒数。该值计算从收到请求到发出响应的最后一个字节的时间。由于网络延迟,从客户端计算出的时间可能会更长。
示例条目
70
周转时间
Lightsail 处理您的请求所花费的毫秒数。该值计算从收到您的请求的最后一个字节到发出响应的第一个字节的时间。
示例条目
10
引用
HTTP 引用站点标头的值(如果存在)。发送请求时,HTTP 用户代理(例如,浏览器)通常会将此标头设置为链接的 URL 或嵌入页面。
示例条目
"http://www.amazon.com/webservices"
用户代理
HTTP 用户代理标头的值。
示例条目
"curl/7.15.1"
版本 ID
请求中的版本 ID;如果操作没有使用 versionId
参数,则为 -
。
示例条目
3HL4kqtJvjVBH40Nrjfkd
主机 ID
x-amz-id-2 或 Lightsail 扩展请求 ID。
示例条目
s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
签名版本
签名版本,用于对请求进行身份验证的 SigV2
或 SigV4
,或未经身份验证的请求的 -
。
示例条目
SigV2
密码套件
协商 HTTPS 请求的安全套接字层 (SSL) 密码或协商 HTTP 的 -
。
示例条目
ECDHE-RSA-AES128-GCM-SHA256
身份验证类型
所使用的请求身份验证的类型,身份验证标头使用 AuthHeader
,查询字符串(预签名 URL)使用 QueryString
,未经身份验证的请求使用 -
。
示例条目
AuthHeader
主机标头
用于连接到 Lightsail 的终端节点。
示例条目
s3.us-west-2.amazonaws.com
TLS 版本
客户端协商的传输层安全性 (TLS) 版本。为以下值之一:TLSv1
、TLSv1.1
、TLSv1.2
;如果不使用 TLS 则为 -
。
示例条目
TLSv1.2
复制操作的其他日志记录
复制操作包括 GET
和 PUT
。出于该原因,我们会在执行复制操作时记录两份记录。前面的部分描述了与操作的 PUT
部分相关的字段。以下列表描述了记录中与复制操作的 GET
部分相关的字段。
存储桶拥有者
用于存储将复制的对象的存储桶的规范用户 ID。规范用户 ID 是另一种形式的 AWS 账户 ID。有关规范用户 ID 的更多信息,请参阅 AWS 一般参考中的 AWS 账户标识符。有关如何查找您的账户的规范用户 ID 的信息,请参阅查找 AWS 账户的规范用户 ID。
示例条目
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
存储桶
用于存储被复制对象的存储桶的名称。
示例条目
amzn-s3-demo-bucket
时间
收到请求的时间;这些日期和时间采用协调世界时 (UTC)。使用 strftime()
术语的格式如下所示:[%d/%B/%Y:%H:%M:%S %z]
示例条目
[06/Feb/2019:00:00:38 +0000]
远程 IP
请求者的显式 Internet 地址。中间代理和防火墙可能会隐藏发送请求的计算机的实际地址。
示例条目
192.0.2.3
请求者
请求者的规范用户 ID 或用于未经验证请求的 -
。如果请求者是 IAM 用户,此字段将返回请求者的 IAM 用户名与该 IAM 用户所属的 AWS 根账户。此标识符与用于访问控制目的的标识符是相同的。
示例条目
79a59df900b949e55d96a1e698fbacedfd6e09d98eacf8f8d5218e7cd47ef2be
请求 ID
由 Lightsail 生成的字符串,可用于唯一地标识每个请求。
示例条目
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
请求 URI
HTTP 请求消息的“请求-URI”部分。
示例条目
"GET /amzn-s3-demo-bucket/photos/2019/08/puppy.jpg?x-foo=bar"
HTTP 状态
复制操作的 GET
部分的数字 HTTP 状态代码。
示例条目
200
错误代码
复制操作的 GET
部分的 Amazon S3 错误代码或 -
(如果没有发生任何错误)。
示例条目
NoSuchBucket
发送的字节数
发送的响应字节数,不包括 HTTP 协议支出或“-” (如果为零)。
示例条目
2662992
对象大小
所涉及的对象的总大小。
示例条目
3462992
总时间
从存储桶传输请求的毫秒数。该值计算从收到请求到发出响应的最后一个字节的时间。由于网络延迟,从客户端计算出的时间可能会更长。
示例条目
70
周转时间
Lightsail 处理您的请求所花费的毫秒数。该值计算从收到您的请求的最后一个字节到发出响应的第一个字节的时间。
示例条目
10
引用
HTTP 引用站点标头的值(如果存在)。发送请求时,HTTP 用户代理(例如,浏览器)通常会将此标头设置为链接的 URL 或嵌入页面。
示例条目
"http://www.amazon.com/webservices"
用户代理
HTTP 用户代理标头的值。
示例条目
"curl/7.15.1"
版本 ID
被复制对象的版本 ID 或 -
(如果 x-amz-copy-source
标头没有将 versionId
参数指定为复制源的一部分)。
示例条目
3HL4kqtJvjVBH40Nrjfkd
主机 ID
x-amz-id-2 或 Lightsail 扩展请求 ID。
示例条目
s9lzHYrFp76ZVxRcpX9+5cjAnEH2ROuNkd2BHfIa6UkFVdtjf5mKR3/eTPFvsiP/XV/VLi31234=
签名版本
签名版本,用于对请求进行身份验证的 SigV2
或 SigV4
,或未经身份验证的请求的 -
。
示例条目
SigV2
密码套件
协商 HTTPS 请求的安全套接字层 (SSL) 密码或协商 HTTP 的 -
。
示例条目
ECDHE-RSA-AES128-GCM-SHA256
身份验证类型
所使用的请求身份验证的类型,身份验证标头使用 AuthHeader
,查询字符串(预签名 URL)使用 QueryString
,未经身份验证的请求使用 -
。
示例条目
AuthHeader
主机标头
用于连接到 Lightsail 的终端节点。
示例条目
s3.us-west-2.amazonaws.com
TLS 版本
客户端协商的传输层安全性 (TLS) 版本。为以下值之一:TLSv1
、TLSv1.1
、TLSv1.2
;如果不使用 TLS 则为 -
。
示例条目
TLSv1.2
自定义访问日志信息
您可以包含要存储在请求的访问日志记录中的自定义信息。为此,请将自定义查询字符串参数添加到请求的 URL 中。Lightsail 忽略以“x-”开头的查询字符串参数,但是会将这些参数包含在请求的访问日志记录中,以作为日志记录的 Request-URI
字段的一部分。
例如,GET
的 "s3.amazonaws.com/amzn-s3-demo-bucket/photos/2019/08/puppy.jpg?x-user=johndoe"
请求工作方式与 "s3.amazonaws.com/amzn-s3-demo-bucket/photos/2019/08/puppy.jpg"
的请求的相同,只是 "x-user=johndoe"
字符串包含在关联日志记录的 Request-URI
字段中。此功能仅在 REST 界面中可用。
可扩展访问日志格式的编程注意事项
有时我们可能会通过向每一行的末尾添加新字段来扩展访问日志记录格式。因此,您应该编写解析访问日志的任何代码,以处理后续可能未知的字段。