

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Lightsail 存储桶日志分析对象存储访问权限
<a name="amazon-lightsail-bucket-access-log-format"></a>

访问日志记录为向 Amazon Lightsail 对象存储服务中的存储桶发出的请求提供了详细记录。您可以使用访问日志进行安全和访问审计，或者了解客户群。本节介绍了有关访问日志文件的格式和其他详细信息。有关日志记录基本知识的更多信息，请参阅[存储桶访问日志](amazon-lightsail-bucket-access-logs.md)。

访问日志文件由一系列的换行分隔日志记录组成。每个日志记录表示一个请求并由空格分隔的字段组成。

以下是含有五份日志记录的示例日志。

```
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
```

**注意**  
任何日志记录字段都可以设置为 `–` 以指示数据未知或不可用，或者该字段不适用于此请求。

**内容**
+ [日志记录字段](#log-record-fields)
+ [复制操作的其他日志记录](#additional-logging-for-copy-operations)
+ [自定义访问日志信息](#custom-access-log-information)
+ [可扩展访问日志格式的编程注意事项](#programing-considerations)

## 日志记录字段
<a name="log-record-fields"></a>

以下列表介绍了日志记录字段。

**接入点 ARN（Amazon 资源名称）**

请求访问点的 Amazon Resource Name (ARN)。如果访问点的 ARN 格式不正确或未使用，则该字段将包含“-”。如需有关访问点的更多信息，请参阅[使用访问点](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)。有关更多信息 ARNs，请参阅 AW *S 一般*参考中有关[亚马逊资源名称 (ARN)](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) 的主题。

示例条目

```
arn:aws:s3:us-east-1:123456789012:accesspoint/example-AP
```

**存储桶拥有者**

源存储桶拥有者的规范用户 ID。规范用户 ID 是另一种形式的 AWS 账户 ID。有关规范用户 ID 的更多信息，请参阅 *AWS 一般参考*中的 [AWS 账户标识符](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html)。有关如何查找您的账户的规范用户 ID 的信息，请参阅[查找 AWS 账户的规范用户 ID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId)。

示例条目

```
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 [错误代码](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingRESTError.html#ErrorCode)或“-”（如果没有发生错误）。

示例条目

```
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 扩展请求编号。

示例条目

```
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
```

## 复制操作的其他日志记录
<a name="additional-logging-for-copy-operations"></a>

复制操作包括 `GET` 和 `PUT`。出于该原因，我们会在执行复制操作时记录两份记录。前面的部分描述了与操作的 `PUT` 部分相关的字段。以下列表描述了记录中与复制操作的 `GET` 部分相关的字段。

**存储桶拥有者**

用于存储将复制的对象的存储桶的规范用户 ID。规范用户 ID 是另一种形式的 AWS 账户 ID。有关规范用户 ID 的更多信息，请参阅 *AWS 一般参考*中的 [AWS 账户标识符](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html)。有关如何查找您的账户的规范用户 ID 的信息，请参阅[查找 AWS 账户的规范用户 ID](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId)。

示例条目

```
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 扩展请求编号。

示例条目

```
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
```

## 自定义访问日志信息
<a name="custom-access-log-information"></a>

您可以包含要存储在请求的访问日志记录中的自定义信息。为此，请将自定义查询字符串参数添加到请求的 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 界面中可用。

## 可扩展访问日志格式的编程注意事项
<a name="programing-considerations"></a>

有时我们可能会通过向每一行的末尾添加新字段来扩展访问日志记录格式。因此，您应该编写解析访问日志的任何代码，以处理后续可能未知的字段。