

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

# 使用管理事件数据存储 Amazon CLI
<a name="lake-cli-manage-eds"></a>

本节介绍了您可以运行的其他几个命令，以获取有关事件数据存储的信息、启动和停止事件数据存储上的引入以及启用和禁用事件数据存储上的[联合](query-federation.md)。

**Topics**
+ [使用获取事件数据存储 Amazon CLI](#lake-cli-get-eds)
+ [列出账户中存储的所有事件数据 Amazon CLI](#lake-cli-list-eds)
+ [添加资源标签键和 IAM 全局条件键，并扩展事件大小](#lake-cli-put-event-configuration)
+ [获取事件数据存储的事件配置](#lake-cli-get-event-configuration)
+ [使用获取事件数据存储的基于资源的策略 Amazon CLI](#lake-cli-get-resource-policy)
+ [使用以下命令将基于资源的策略附加到事件数据存储 Amazon CLI](#lake-cli-put-resource-policy)
+ [使用删除附加到事件数据存储的基于资源的策略 Amazon CLI](#lake-cli-delete-resource-policy)
+ [使用停止在事件数据存储上进行提取 Amazon CLI](#lake-cli-stop-ingestion-eds)
+ [使用开始在事件数据存储上进行提取 Amazon CLI](#lake-cli-start-ingestion-eds)
+ [在事件数据存储上启用联合身份验证](#lake-cli-enable-federation-eds)
+ [在事件数据存储上禁用联合身份验证](#lake-cli-disable-federation-eds)
+ [使用恢复事件数据存储 Amazon CLI](#lake-cli-restore-eds)

## 使用获取事件数据存储 Amazon CLI
<a name="lake-cli-get-eds"></a>

以下示例 Amazon CLI **get-event-data-store**命令返回有关由必需`--event-data-store`参数指定的事件数据存储的信息，该参数接受 ARN 或 ARN 的 ID 后缀。

```
aws cloudtrail get-event-data-store \
--event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE
```

以下为响应示例。创建时间和上次更新时间采用 `timestamp` 格式。

```
{
    "EventDataStoreARN": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE",
    "Name": "s3-data-events-eds",
    "Status": "ENABLED",
    "AdvancedEventSelectors": [
        {
            "Name": "Log DeleteObject API calls for a specific S3 bucket",
            "FieldSelectors": [
                {
                    "Field": "eventCategory",
                    "Equals": [
                        "Data"
                    ]
                },
                {
                    "Field": "eventName",
                    "Equals": [
                        "DeleteObject"
                    ]
                },
                {
                    "Field": "resources.ARN",
                    "StartsWith": [
                        "arn:aws:s3:::amzn-s3-demo-bucket"
                    ]
                },
                {
                    "Field": "readOnly",
                    "Equals": [
                        "false"
                    ]
                },
                {
                    "Field": "resources.type",
                    "Equals": [
                        "AWS::S3::Object"
                    ]
                }
            ]
        }
    ],
    "MultiRegionEnabled": true,
    "OrganizationEnabled": false,
    "BillingMode": "FIXED_RETENTION_PRICING",
    "RetentionPeriod": 2557,
    "TerminationProtectionEnabled": true,
    "CreatedTimestamp": "2023-11-09T22:20:36.344000+00:00",
    "UpdatedTimestamp": "2023-11-09T22:20:36.476000+00:00"
}
```

## 列出账户中存储的所有事件数据 Amazon CLI
<a name="lake-cli-list-eds"></a>

以下示例 Amazon CLI **list-event-data-stores**命令返回有关当前区域中账户中存储的所有事件数据的信息。可选参数包括 `--max-results`，以指定希望在单个页面上通过命令返回的最大结果数。如果结果数超过指定的 `--max-results` 值，请再次运行命令，添加返回的 `NextToken` 值来获取下一页的结果。

```
aws cloudtrail list-event-data-stores
```

以下为响应示例。

```
{
    "EventDataStores": [
        {
            "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE7-cad6-4357-a84b-318f9868e969",
            "Name": "management-events-eds"
        },
        {
            "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE6-88e1-43b7-b066-9c046b4fd47a",
            "Name": "config-items-eds"
        },
        {
            "EventDataStoreArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLEf-b314-4c85-964e-3e43b1e8c3b4",
            "Name": "s3-data-events"
        }
    ]
}
```

## 添加资源标签键和 IAM 全局条件键，并扩展事件大小
<a name="lake-cli-put-event-configuration"></a>

运行 Amazon CLI `put-event-configuration`命令以扩展最大事件大小，并添加最多 50 个资源标签密钥和 50 个 IAM 全局条件密钥，以提供有关事件的更多元数据。

`put-event-configuration` 命令接受以下参数：
+ `--event-data-store`：指定事件数据存储的 ARN 或 ARN 的 ID 后缀。此参数为必需参数。
+ `--max-event-size`：设置为 `Large` 可将最大事件大小设置为 1 MB。默认情况下，该值为 `Standard`，指定最大事件大小 256 KB。
**注意**  
要添加资源标签键或 IAM 全局条件键，必须将事件大小设置为 `Large`，以确保所有添加的键都包含在事件中。
+ `--context-key-selectors`：指定要包含在事件数据存储收集的事件中的键类型。您可以包含资源标签键和 IAM 全局条件键。有关添加的资源标签键和 IAM 全局条件键的信息显示在事件的 `eventContext` 字段中。有关更多信息，请参阅 [通过添加资源标签密钥和 IAM 全局条件键来丰富 CloudTrail 事件](cloudtrail-context-events.md)。
  + 将 `Type` 设置为 `TagContext` 可传入最多包含 50 个资源标签键的数组。如果您添加资源标签，则 CloudTrail 事件将包括与 API 调用中涉及的资源关联的选定标签密钥。与已删除资源相关的 API 事件将没有资源标签。
  + 将 `Type` 设置为 `RequestContext` 可传入最多包含 50 个 IAM 全局条件键的数组。如果您添加 IAM 全局条件密钥，则 CloudTrail 事件将包含有关在授权过程中评估的所选条件密钥的信息，包括有关委托人、会话、网络和请求本身的其他详细信息。

以下示例将最大事件大小设置为 `Large`，并添加了两个资源标签键 `myTagKey1` 和 `myTagKey2`。

```
aws cloudtrail put-event-configuration \
--event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE \
--max-event-size Large \
--context-key-selectors '[{"Type":"TagContext", "Equals":["myTagKey1","myTagKey2"]}]'
```

下一个示例将最大事件大小设置为 `Large`，并添加了 IAM 全局条件键（`aws:MultiFactorAuthAge`）。

```
aws cloudtrail put-event-configuration \
--event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE \
--max-event-size Large \
--context-key-selectors '[{"Type":"RequestContext", "Equals":["aws:MultiFactorAuthAge"]}]'
```

最后一个示例移除了所有资源标签键和 IAM 全局条件键，并将最大事件大小设置为 `Standard`。

```
aws cloudtrail put-event-configuration \
--event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE \
--max-event-size Standard \
--context-key-selectors
```

## 获取事件数据存储的事件配置
<a name="lake-cli-get-event-configuration"></a>

运行 Amazon CLI `get-event-configuration`命令返回收集事件的事件数据存储 CloudTrail 的事件配置。此命令返回最大事件大小，并列出 CloudTrail 事件中包含的资源标签密钥和 IAM 全局条件密钥（如果有）。

```
aws cloudtrail get-event-configuration \
--event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE
```

## 使用获取事件数据存储的基于资源的策略 Amazon CLI
<a name="lake-cli-get-resource-policy"></a>

以下示例会对组织事件数据存储运行 `get-resource-policy` 命令。

```
aws cloudtrail get-resource-policy --resource-arn arn:aws:cloudtrail:us-east-1:888888888888:eventdatastore/example6-d493-4914-9182-e52a7934b207
```

由于该命令是对组织事件数据存储运行的，因此输出将显示提供的基于资源的策略以及为委派管理员账户生成的 [`DelegatedAdminResourcePolicy`](cloudtrail-lake-organizations.md#cloudtrail-lake-organizations-eds-rbp)。

## 使用以下命令将基于资源的策略附加到事件数据存储 Amazon CLI
<a name="lake-cli-put-resource-policy"></a>

要在手动或计划刷新期间对控制面板运行查询，您需要将基于资源的策略附加到与控制面板上的小组件关联的每个事件数据存储。这允许 CloudTrail Lake 代表您运行查询。有关基于资源的策略的更多信息，请参阅 [示例：允许 CloudTrail 运行查询以刷新仪表板](security_iam_resource-based-policy-examples.md#security_iam_resource-based-policy-examples-eds-dashboard)。

以下示例将基于资源的策略附加到事件数据存储中，该策略 CloudTrail 允许在仪表板刷新时在仪表板上运行查询。该策略是在单独的文件中创建的*policy.json*，其中包含以下示例策略声明：

------
#### [ JSON ]

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [{ "Sid": "EDSPolicy", "Effect":
    "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Resource":
    "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/event_data_store_ID",
    "Action": "cloudtrail:StartQuery", "Condition": { "StringEquals": { "AWS:SourceArn":
    "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE",
    "AWS:SourceAccount": "123456789012" } } } ] }
```

------

 *123456789012*替换为您的账户 ID、*arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/event\$1data\$1store\$1ID* CloudTrail 将运行查询的事件数据存储的 ARN 以及控制面板*arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE*的 ARN。

```
aws cloudtrail put-resource-policy \
--resource-arn eds-arn \
--resource-policy file://policy.json
```

下面是响应示例。

```
{ "ResourceArn": "arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE", "ResourcePolicy": "policy-statement" }
```

有关其他策略示例，请参阅[事件数据存储的基于资源的策略示例](security_iam_resource-based-policy-examples.md#security_iam_resource-based-policy-examples-eds)。

## 使用删除附加到事件数据存储的基于资源的策略 Amazon CLI
<a name="lake-cli-delete-resource-policy"></a>

以下示例将删除附加到事件数据存储的基于资源的策略。*eds-arn*替换为事件数据存储的 ARN。

```
aws cloudtrail delete-resource-policy --resource-arn eds-arn
```

如果成功，此命令不会产生任何输出。

## 使用停止在事件数据存储上进行提取 Amazon CLI
<a name="lake-cli-stop-ingestion-eds"></a>

以下示例 Amazon CLI **stop-event-data-store-ingestion**命令阻止事件数据存储接收事件。要停止摄取，事件数据存储 `Status` 必须是 `ENABLED`，并且 `eventCategory` 必须是 `Management`、`Data` 或 `ConfigurationItem`。事件数据存储由 `--event-data-store` 指定，它接受事件数据存储 ARN 或 ARN 的 ID 后缀。运行 **stop-event-data-store-ingestion** 后，事件数据存储的状态将更改为 `STOPPED_INGESTION`。

处于 `STOPPED_INGESTION` 状态时，事件数据存储计入您的账户最多十个事件数据存储的限额内。

```
aws cloudtrail stop-event-data-store-ingestion \
--event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE
```

如果成功执行操作，则没有响应。

## 使用开始在事件数据存储上进行提取 Amazon CLI
<a name="lake-cli-start-ingestion-eds"></a>

以下示例 Amazon CLI **start-event-data-store-ingestion**命令在事件数据存储上启动事件摄取。要开始摄取，事件数据存储 `Status` 必须是 `STOPPED_INGESTION`，并且 `eventCategory` 必须是 `Management`、`Data` 或 `ConfigurationItem`。事件数据存储由 `--event-data-store` 指定，它接受事件数据存储 ARN 或 ARN 的 ID 后缀。运行 **start-event-data-store-ingestion** 后，事件数据存储的状态将更改为 `ENABLED`。

```
aws cloudtrail start-event-data-store-ingestion --event-data-store arn:aws:cloudtrail:us-east-1:123456789012:eventdatastore/EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE
```

如果成功执行操作，则没有响应。

## 在事件数据存储上启用联合身份验证
<a name="lake-cli-enable-federation-eds"></a>

要启用联合身份验证，请运行 **aws cloudtrail enable-federation** 命令，以提供所需的 `--event-data-store` 和 `--role` 参数。对于 `--event-data-store`，请提供事件数据存储 ARN（或 ARN 的 ID 后缀）。对于 `--role`，请提供您的联合身份验证角色的 ARN。该角色必须存在于您的账户中，并提供[所需的最低权限](query-federation.md#query-federation-permissions-role)。

```
aws cloudtrail enable-federation \
--event-data-store arn:aws:cloudtrail:region:account-id:eventdatastore/eds-id
--role arn:aws:iam::account-id:role/federation-role-name
```

此示例说明委托管理员如何通过在管理账户中指定事件数据存储的 ARN 和在委托管理员账户中指定联合身份验证角色的 ARN 来在组织事件数据存储上启用联合身份验证。

```
aws cloudtrail enable-federation \
--event-data-store arn:aws:cloudtrail:region:management-account-id:eventdatastore/eds-id
--role arn:aws:iam::delegated-administrator-account-id:role/federation-role-name
```

## 在事件数据存储上禁用联合身份验证
<a name="lake-cli-disable-federation-eds"></a>

要在事件数据存储上禁用联合身份验证，请运行 **aws cloudtrail disable-federation** 命令。事件数据存储由 `--event-data-store` 指定，它接受事件数据存储 ARN 或 ARN 的 ID 后缀。

```
aws cloudtrail disable-federation \
--event-data-store arn:aws:cloudtrail:region:account-id:eventdatastore/eds-id
```

**注意**  
如果这是组织事件数据存储，则使用管理账户的账户 ID。

## 使用恢复事件数据存储 Amazon CLI
<a name="lake-cli-restore-eds"></a>

以下示例 Amazon CLI **restore-event-data-store** 命令恢复待删除的事件数据存储。事件数据存储由 `--event-data-store` 指定，它接受事件数据存储 ARN 或 ARN 的 ID 后缀。您只能在删除后的七天等待期内恢复被删除的事件数据存储。

```
aws cloudtrail restore-event-data-store \
--event-data-store EXAMPLE-f852-4e8f-8bd1-bcf6cEXAMPLE
```

响应包括有关事件数据存储的信息，包括其 ARN、高级事件选择器以及还原状态。