

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon Security Lake をソースとして OpenSearch Ingestion パイプラインを使用する
<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`: Security Lake S3 バケット AWS リージョン がある 。
+ `accountID`: Security Lake が有効になっている AWS アカウント ID。
+ `sts_role_arn`: Security Lake で使用する IAM ロールの ARN。

## 前提条件
<a name="sl-prereqs"></a>

OpenSearch Ingestion パイプラインを作成する前に、次の手順を実行します。
+ [Security Hub を有効にします](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 は 2 つのインライン許可ポリシーを自動的に作成します。1 つは S3 用、もう 1 つは SQS 用です。ポリシーの形式は `AmazonSecurityLake-{{amzn-s3-demo-bucket}}-S3` および `AmazonSecurityLake-{{AWS Demo}}-SQS` です。パイプラインがサブスクライバーソースにアクセスできるようにするには、必要なアクセス許可をパイプラインロールに関連付ける必要があります。

## パイプラインロールを設定する
<a name="sl-pipeline-role"></a>

Security Lake が自動的に作成した 2 つのポリシーから必要なアクセス許可のみを組み合わせた新しいアクセス許可ポリシーを IAM で作成します。次のポリシー例は、OpenSearch Ingestion パイプラインが複数の 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 はログソースごとにパーティションを作成するため、パイプラインロールのアクセス許可を手動で追加または削除する必要があります。

`sqs` において、S3 ソースプラグイン設定内の `sts_role_arn` オプションで指定した IAM ロールに、これらの許可をアタッチする必要があります。

```
version: "2"
source:
  s3:
    ...
    sqs:
      queue_url: "https://sqs.{{us-east-1}}amazonaws.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-1}}amazonaws.com/{{account-id}}/AmazonSecurityLake-{{AWS Demo}}-Main-Queue`。

S3 ソース設定内で指定した `sts_role_arn` は、パイプラインロールの ARN でなければなりません。