

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

# 使用以 Amaz OpenSearch on Security Lake 为来源的摄取管道
<a name="configure-client-source-security-lake"></a>

您可以使用 OpenSearch Ingestion 管道中的 Amazon S3 源插件从 Amazon Security Lake 提取数据。Security Lake 自动将来自 AWS 环境、本地系统和 SaaS 提供商的安全数据集中到专用数据湖。

Amazon Security Lake 在管道内具有以下元数据属性：
+ `bucket_name`：Security Lake 创建的 Amazon S3 存储桶的名称，用于存储安全数据。
+ `path_prefix`：在 Security Lake IAM 角色策略中定义的自定义源名称。
+ `region`：Secur AWS 区域 ity Lake S3 存储桶所在的位置。
+ `accountID`：启用安全湖的 AWS 账户 ID。
+ `sts_role_arn`：用于与 Security Lake 结合使用的 IAM 角色的 ARN。

## 先决条件
<a name="sl-prereqs"></a>

在创建 OpenSearch 摄取管道之前，请执行以下步骤：
+ [启用 Security Lake](https://docs.aws.amazon.com/security-lake/latest/userguide/getting-started.html#enable-service)。
+ 在 Security Lake 中[创建订阅用户](https://docs.aws.amazon.com/security-lake/latest/userguide/subscriber-data-access.html#create-subscriber-data-access)。
  + 选择要摄取到管道的源。
  + 对于**订阅者凭证**，请添加您打算在 AWS 账户 哪里创建管道的 ID。对于外部 ID，请指定 `OpenSearchIngestion-{accountid}`。
  + 对于**数据访问方法**，请选择 **S3**。
  + 有关**通知详细信息**，请选择 **SQS 队列**。

创建订阅用户时，Security Lake 将自动创建两个内联权限策略，一个用于 S3，一个用于 SQS。策略采用以下格式：`AmazonSecurityLake-amzn-s3-demo-bucket-S3` 和 `AmazonSecurityLake-AWS Demo-SQS`。要允许管道访问订阅用户源，必须将必需权限与管道角色进行关联。

## 配置管道角色
<a name="sl-pipeline-role"></a>

在 IAM 中创建新的权限策略，仅组合 Security Lake 自动创建的两个策略中的必需权限。以下示例策略显示了 OpenSearch 摄取管道从多个 Security Lake 来源读取数据所需的最低权限：

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:GetObject"
         ],
         "Resource":[
            "arn:aws:s3:::aws-security-data-lake-us-east-1-abcde/aws/LAMBDA_EXECUTION/1.0/*",
            "arn:aws:s3:::aws-security-data-lake-us-east-1-abcde/aws/S3_DATA/1.0/*",
            "arn:aws:s3:::aws-security-data-lake-us-east-1-abcde/aws/VPC_FLOW/1.0/*",
            "arn:aws:s3:::aws-security-data-lake-us-east-1-abcde/aws/ROUTE53/1.0/*",
            "arn:aws:s3:::aws-security-data-lake-us-east-1-abcde/aws/SH_FINDINGS/1.0/*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "sqs:ReceiveMessage",
            "sqs:DeleteMessage"
         ],
         "Resource":[
            "arn:aws:sqs:us-east-1:111122223333:AmazonSecurityLake-abcde-Main-Queue"
         ]
      }
   ]
}
```

------

**重要**  
Security Lake 不负责为您管理管道角色策略。如果向 Security Lake 订阅中添加源或从中删除源，则必须手动更新政策。Security Lake 将为每个日志源创建分区，因此您需要在管道角色中手动添加或删除权限。

必须将以下权限附加到在 S3 源插件配置的 `sts_role_arn` 选项的 `sqs` 下指定的 IAM 角色。

```
version: "2"
source:
  s3:
    ...
    sqs:
      queue_url: "https://sqs.us-east-1amazonaws.com/account-id/AmazonSecurityLake-amzn-s3-demo-bucket-Main-Queue"
    aws:
      ...
processor:
  ...
sink:
  - opensearch:
      ...
```

## 创建管道
<a name="sl-pipeline"></a>

向管道角色添加权限后，使用预先配置的 Security Lake 蓝图创建管道。有关更多信息，请参阅 [使用蓝图](pipeline-blueprint.md)。

必须在 `s3` 源配置中指定 `queue_url` 选项，即要读取的 Amazon SQS 队列 URL。要设置 URL 格式，请在订阅用户配置中找到**订阅端点**，将 `arn:aws:` 更改为 `https://`。例如 `https://sqs.us-east-1amazonaws.com/account-id/AmazonSecurityLake-AWS Demo-Main-Queue`。

在 S3 源配置中指定的 `sts_role_arn` 必须是管道角色 ARN。