

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

# Amazon OpenSearch Ingestion のロールとユーザーの設定
<a name="pipeline-security-overview"></a>

Amazon OpenSearch Ingestion では、ソースアプリケーションからパイプラインへの書き込みと、パイプラインからシンクへの書き込みを行えるように、さまざまなアクセス許可モデルと IAM ロールを使用しています。データの取り込みを開始する前に、特定のアクセス許可を持つ IAM ロールをユースケースに基づいて 1 つ以上作成する必要があります。

パイプラインを正常に設定するには、少なくとも次のロールが必要です。


| 名前 | 説明 | 
| --- | --- | 
| [**パイプラインロール**](#pipeline-security-sink) |  パイプラインロールは、パイプラインがソースから読み取り、ドメインまたはコレクションシンクに書き込むために必要なアクセス許可を付与します。パイプラインロールは手動で作成することも、OpenSearch Ingestion で作成することもできます。  | 
| [**取り込みロール**](#pipeline-security-same-account) |  取り込みロールには、パイプラインリソースの `osis:Ingest` 許可が含まれています。これにより、プッシュ型のソースはパイプラインにデータを取り込むことができます。  | 

次の図は、Amazon S3 や Fluent Bit などのデータソースから別のアカウントのパイプラインに書き込むときの一般的なパイプライン設定を示しています。この場合、パイプラインにアクセスするには、クライアントが取り込みロールを引き受けている必要があります。詳細については、「[クロスアカウント取り込み](#pipeline-security-different-account)」を参照してください。

![\[Cross-account data ingestion pipeline showing client application, roles, and OpenSearch sink.\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/pipeline-security.png)


簡単な設定ガイドについては、「[チュートリアル: Amazon OpenSearch Ingestion を使用してドメインにデータを取り込む](osis-get-started.md)」を参照してください。

**トピック**
+ [パイプラインロール](#pipeline-security-sink)
+ [取り込みロール](#pipeline-security-same-account)
+ [クロスアカウント取り込み](#pipeline-security-different-account)

## パイプラインロール
<a name="pipeline-security-sink"></a>

パイプラインは、ソースから読み込み、シンクに書き込むために特定のアクセス許可が必要です。これらのアクセス許可は、クライアントアプリケーションまたはパイプラインに書き込む AWS のサービス 、およびシンクが OpenSearch Service ドメイン、OpenSearch Serverless コレクション、または Amazon S3 OpenSearch のいずれであるかによって異なります。さらに、パイプラインには、ソースアプリケーションから物理的にデータを*プル*するための権限 (ソースがプルベースのプラグインの場合)、および S3 デッドレターキュー (有効化されている場合) に書き込むための権限が必要になる場合があります。

パイプラインを作成するときは、手動で作成した既存の IAM ロールを指定するか、選択したソースとシンクに基づいて OpenSearch Ingestion にパイプラインロールを自動的に作成させることができます。次の図は、 AWS マネジメントコンソールでパイプラインロールを指定する方法を示しています。

![\[Pipeline role selection interface with options to create new or use existing IAM role.\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/pipeline-role.png)


**Topics**
+ [パイプラインロールの作成の自動化](#pipeline-role-auto-create)
+ [パイプラインロールの手動作成](#pipeline-role-manual-create)

### パイプラインロールの作成の自動化
<a name="pipeline-role-auto-create"></a>

OpenSearch Ingestion でパイプラインロールを作成するように選択できます。設定されたソースとシンクに基づいて、ロールに必要なアクセス許可が自動的に識別されます。`OpenSearchIngestion-` というプレフィックスと、入力したサフィックスを持つ IAM ロールを作成します。たとえば、サフィックスとして `PipelineRole` と入力すると、OpenSearch Ingestion は `OpenSearchIngestion-PipelineRole` という名前のロールを作成します。

パイプラインロールを自動で作成すると、セットアッププロセスが簡素化され、設定エラーの発生可能性が軽減されます。ロールの作成を自動化することで、アクセス許可を手動で割り当てる必要がなくなり、セキュリティの誤設定のリスクなしに正しいポリシーが適用されます。これにより時間を節約でき、ベストプラクティスを適用することでセキュリティコンプライアンスが強化され、複数のパイプラインデプロイ間で一貫性が確保されます。

OpenSearch Ingestion のみが AWS マネジメントコンソールでパイプラインロールを自動的に作成できます。 AWS CLI、OpenSearch Ingestion API、またはいずれかの SDKs を使用している場合は、手動で作成したパイプラインロールを指定する必要があります。

OpenSearch でロールを作成するには、**[新しいサービスロールを作成して使用]** を選択します。

**重要**  
パイプラインロールへのアクセスを許可するには、ドメインまたはコレクションアクセスポリシーを手動で変更する必要があります。詳細なアクセスコントロールを使用するドメインの場合は、パイプラインロールをバックエンドロールにマッピングする必要があります。これらのステップは、パイプラインの作成前または作成後に実行できます。  
手順については、次のトピックを参照してください。  
[Configure data access for the domain](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/pipeline-domain-access.html#pipeline-access-domain)
[Configure data and network access for the collection](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/pipeline-domain-access.html#pipeline-collection-acces)

### パイプラインロールの手動作成
<a name="pipeline-role-manual-create"></a>

特定のセキュリティまたはコンプライアンス要件を満たすためにアクセス許可をより細かく制御する必要がある場合は、パイプラインロールを手動で作成することをお勧めします。手動作成では、既存のインフラストラクチャまたはアクセス管理戦略に合わせてロールを調整できます。また、手動セットアップを選択して、ロールを他の と統合 AWS のサービス したり、独自の運用ニーズに合わせて調整したりできます。

手動で作成したパイプラインロールを選択するには、**[既存の IAM ロールを使用]** を選択し、既存のロールを選択します。ロールには、選択したソースからデータを受信し、選択したシンクに書き込むために必要なすべてのアクセス許可が必要です。以下のセクションでは、パイプラインロールを手動で作成する方法について説明します。

**Topics**
+ [ソースから読み取るためのアクセス許可](#pipeline-security--source)
+ [ドメインシンクに書き込むためのアクセス許可](#pipeline-security-domain-sink)
+ [コレクションシンクに書き込むためのアクセス許可](#pipeline-security--collection-sink)
+ [Amazon S3 またはデッドレターキューに書き込むためのアクセス許可](#pipeline-security-dlq)

#### ソースから読み取るためのアクセス許可
<a name="pipeline-security--source"></a>

OpenSearch Ingestion パイプラインには、指定されたソースからデータを読み取って受信するためのアクセス許可が必要です。例えば、Amazon DynamoDB ソースの場合、`dynamodb:DescribeTable` や `dynamodb:DescribeStream` などのアクセス許可が必要です。Amazon S3、Fluent Bit、OpenTelemetry Collector などの一般的なソースのパイプラインロールアクセスポリシーの例については、「[Amazon OpenSearch Ingestion パイプラインを他のサービスやアプリケーションと統合する](configure-client.md)」を参照してください。

#### ドメインシンクに書き込むためのアクセス許可
<a name="pipeline-security-domain-sink"></a>

OpenSearch Ingestion パイプラインには、シンクとして設定されている OpenSearch Service ドメインに書き込むためのアクセス許可が必要です。これらのアクセス許可には、ドメインを記述して、そこに HTTP リクエストを送信できることが含まれます。これらのアクセス許可は、パブリックパイプラインと VPC ドメインのどちらも同じです。パイプラインロールを作成し、ドメインアクセスポリシーで指定する手順については、「[Allowing pipelines to access domains](pipeline-domain-access.md)」を参照してください。

#### コレクションシンクに書き込むためのアクセス許可
<a name="pipeline-security--collection-sink"></a>

シンクとして設定されている OpenSearch Serverless コレクションに書き込みを行うときは、OpenSearch Ingestion パイプラインにアクセス権限が必要になります。これらのアクセス権限には、コレクションを記述しそこに HTTP リクエストを送信できることが含まれます。

まず、パイプラインロールのアクセスポリシーが必要なアクセス許可を付与していることを確認します。次に、このロールをデータアクセスポリシーに追加し、インデックスの作成、インデックスの更新、インデックスの記述、コレクション内でのドキュメントの書き込みを行うためのアクセス権限をそれに付与します。これらの各ステップを完了する手順については、「[パイプラインにコレクションへのアクセスを許可する](pipeline-collection-access.md)」を参照してください。

#### Amazon S3 またはデッドレターキューに書き込むためのアクセス許可
<a name="pipeline-security-dlq"></a>

パイプラインのシンク送信先として Amazon S3 を指定する場合、または[デッドレターキュー](https://opensearch.org/docs/latest/data-prepper/pipelines/dlq/) (DLQ) を有効にする場合、パイプラインロールは送信先として指定した S3 バケットへのアクセスを許可する必要があります。

DLQ アクセスを提供するパイプラインロールに別の許可ポリシーをアタッチします。少なくとも、ロールにはバケットリソースに対する `S3:PutObject` アクションが付与されている必要があります。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "WriteToS3DLQ",
      "Effect": "Allow",
      "Action": "s3:PutObject",
      "Resource": "arn:aws:s3:::my-dlq-bucket/*"
    }
  ]
}
```

------

## 取り込みロール
<a name="pipeline-security-same-account"></a>

取り込みロールは、外部サービスが OpenSearch Ingestion パイプラインと安全にやり取りしてデータを送信できるようにする IAM ロールです。Amazon Security Lake などのプッシュベースのソースの場合、このロールは、`osis:Ingest` を含むパイプラインにデータをプッシュするためのアクセス許可を付与する必要があります。Amazon S3 などのプルベースのソースの場合、ロールは OpenSearch Ingestion がロールを引き受け、必要なアクセス許可でデータにアクセスできるようにする必要があります。

**Topics**
+ [プッシュベースのソース用の取り込みロール](#ingestion-role-push-based)
+ [プルベースのソース用の取り込みロール](#ingestion-role-pull-based)
+ [クロスアカウント取り込み](#pipeline-security-different-account)

### プッシュベースのソース用の取り込みロール
<a name="ingestion-role-push-based"></a>

プッシュベースのソースの場合、データは Amazon Security Lake や Amazon DynamoDB などの別のサービスから取り込みパイプラインに送信またはプッシュされます。このシナリオでは、取り込みロールには、少なくともパイプラインを操作するための `osis:Ingest` アクセス許可が必要です。

次の IAM アクセスポリシーは、このアクセス許可を取り込みロールに付与する方法を示しています。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "osis:Ingest"
      ],
      "Resource": "arn:aws:osis:us-east-1:111122223333:pipeline/pipeline-name/*"
    }
  ]
}
```

------

### プルベースのソース用の取り込みロール
<a name="ingestion-role-pull-based"></a>

プルベースのソースの場合、OpenSearch Ingestion パイプラインは Amazon S3 などの外部ソースからデータをアクティブにプルまたは取得します。この場合、パイプラインはデータソースにアクセスするために必要なアクセス許可を付与する IAM パイプラインロールを引き受ける必要があります。これらのシナリオでは、*取り込みロール*は*パイプラインロール*と同義です。

ロールには、OpenSearch Ingestion がロールを引き受けられるようにする信頼関係と、データソースに固有のアクセス許可を含める必要があります。詳細については、「[ソースから読み取るためのアクセス許可](#pipeline-security--source)」を参照してください。

### クロスアカウント取り込み
<a name="pipeline-security-different-account"></a>

アプリケーションアカウントなど AWS アカウント、別のパイプラインにデータを取り込む必要がある場合があります。クロスアカウント取り込みを設定するには、パイプラインと同じアカウント内で取り込みロールを定義し、その取り込みロールとアプリケーションアカウント間に信頼関係を確立します。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [{
     "Effect": "Allow",
     "Principal": {
       "AWS": "arn:aws:iam::444455556666:root"
      },
     "Action": "sts:AssumeRole"
  }]
}
```

------

次に、取り込みロールを引き受けるようにアプリケーションを設定します。アプリケーションアカウントは、パイプラインアカウントの取り込みロールに対する [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) 許可を、アプリケーションロールに付与する必要があります。

詳細な手順と IAM ポリシーの例については、「[クロスアカウント取り込みアクセスの提供](configure-client.md#configure-client-cross-account)」を参照してください。

# Amazon OpenSearch Ingestion パイプラインにドメインへのアクセスを付与する
<a name="pipeline-domain-access"></a>

Amazon OpenSearch Ingestion パイプラインが、シンクとして設定されている OpenSearch Service ドメインに書き込みを行うには、アクセス許可が必要です。アクセスを提供するには、パイプラインがデータを送信しているドメインへのアクセスを制限する制限付きアクセス許可ポリシーで AWS Identity and Access Management (IAM) ロールを設定します。例えば、このユースケースをサポートするために必要なドメインとインデックスのみに、取り込みパイプラインを制限するとします。

**重要**  
パイプラインロールを手動で作成することも、パイプラインの作成時に OpenSearch Ingestion に作成させることもできます。自動ロール作成を選択した場合、OpenSearch Ingestion は、選択したソースとシンクに基づいて、パイプラインロールのアクセスポリシーに必要なすべてのアクセス許可を追加します。プレフィックス `OpenSearchIngestion-` と入力したサフィックスを使用して、IAM にパイプラインロールを作成します。詳細については、「[パイプラインロール](pipeline-security-overview.md#pipeline-security-sink)」を参照してください。  
OpenSearch Ingestion でパイプラインロールを作成している場合は、そのロールをドメインアクセスポリシーに含め、パイプラインの作成前または作成後にバックエンドロール (ドメインが詳細なアクセスコントロールを使用している場合) にマッピングする必要があります。手順については、ステップ 2 を参照してください。

**Topics**
+ [ステップ 1: パイプラインロールを作成する](#pipeline-access-configure)
+ [ステップ 2: ドメインのデータアクセスを設定する](#pipeline-access-domain)

## ステップ 1: パイプラインロールを作成する
<a name="pipeline-access-configure"></a>

パイプラインロールには、データをドメインシンクへ送信できるようにするアクセス許可ポリシーをアタッチしてある必要があります。また、OpenSearch Ingestion にこのロールの引き受けを許可する信頼関係も必要になります。ポリシーをロールにアタッチする方法については、「*IAM ユーザーガイド*」の「[IAM ID アクセス許可の追加](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console)」を参照してください。

次のポリシー例では、単一ドメインへの書き込みを可能にするパイプラインで提供可能な[最小特権](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)が付与されています。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "es:DescribeDomain",
            "Resource": "arn:aws:es:*:111122223333:domain/*"
        },
        {
            "Effect": "Allow",
            "Action": "es:ESHttp*",
            "Resource": "arn:aws:es:*:111122223333:domain/domain-name/*"
        }
    ]
}
```

------

ロールを再利用して複数のドメインに書き込む場合は、ドメイン名をワイルドカード文字 (`*`) に置き換えることでポリシーの範囲を広げることができます。

このロールには次の[信頼関係](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy)が必要です。この信頼関係により、OpenSearch Ingestion はパイプラインのロールを引き受けることができます。

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Principal":{
            "Service":"osis-pipelines.amazonaws.com"
         },
         "Action":"sts:AssumeRole"
      }
   ]
}
```

------

## ステップ 2: ドメインのデータアクセスを設定する
<a name="pipeline-access-domain"></a>

パイプラインがドメインにデータを書き込むには、sts\$1role\$1arn パイプラインロールにドメインへのアクセスを許可する[ドメインレベルのアクセスポリシー](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ac.html#ac-types-resource)が、このドメインに必要になります。

次のドメインアクセスポリシーの例では、`pipeline-role` と言う名前のパイプラインロールに、`ingestion-domain` と言う名前のドメインへのデータの書き込みが許可されています。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/pipeline-role"
            },
            "Action": [
                "es:DescribeDomain",
                "es:ESHttp*"
            ],
            "Resource": "arn:aws:es:us-east-1:111122223333:domain/domain-name/*"
        }
    ]
}
```

------

### パイプラインロールをマッピングする (詳細なアクセスコントロールを使用するドメインについてのみ)
<a name="pipeline-access-domain-fgac"></a>

ドメインが、認証用に[詳細なアクセス制御](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html)を使用している場合は、パイプラインにドメインへのアクセスを許可するには、追加の手順が必要になります。この手順は、ドメインの設定によって異なります。
+ **シナリオ 1: マスターロールとパイプラインロールが異なる** – IAM Amazon リソースネーム (ARN) をマスターユーザーとして使用し、これが、パイプラインロールとは*異なる*場合、パイプラインロールを OpenSearch `all_access` バックエンドロールにマッピングする必要があります。これにより、パイプラインロールが追加のマスターユーザーとして追加されます。詳細については、「[追加のマスターユーザー](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html#fgac-more-masters)」を参照してください。
+ **シナリオ 2: 内部ユーザーデータベースのマスターユーザー** — ドメインで内部ユーザーデータベースのマスターユーザーと、OpenSearch Dashboards の HTTP 基本認証を使用している場合、マスターユーザー名とパスワードを、パイプライン設定に直接渡すことはできません。代わりに、パイプラインロールを OpenSearch `all_access` バックエンドロールにマッピングします。これにより、パイプラインロールが追加のマスターユーザーとして追加されます。詳細については、「[追加のマスターユーザー](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html#fgac-more-masters)」を参照してください。
+ **シナリオ 3: マスターロールとパイプラインロールが同じ (まれなシナリオ)** – IAM ARN をマスターユーザーとして使用し、パイプラインロールとして使用している ARN がこれと同じである場合、追加の操作は必要ありません。このパイプラインは、ドメインへの書き込みに必要なアクセス許可がすでにあります。ほとんどの環境では、管理者ロールまたは他のロールをマスターロールとして使用するため、これはまれなシナリオです。

次の図は、パイプラインのロールをバックエンドロールにマッピングする方法を示したものです。

![\[Backend roles section showing an AWSIAM role ARN for a pipeline role with a Remove option.\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/ingestion-fgac.png)


# Amazon OpenSearch Ingestion パイプラインにコレクションへのアクセス権を付与する
<a name="pipeline-collection-access"></a>

Amazon OpenSearch Ingestion パイプラインは、OpenSearch Serverless パブリックコレクションまたは VPC コレクションに書き込むことができます。コレクションへのアクセスを提供するには、コレクションへのアクセスを許可するアクセス許可ポリシーを持つ AWS Identity and Access Management (IAM) パイプラインロールを設定します。パイプラインは、OpenSearch Serverless コレクションシンクへのリクエストに署名するために、このロールを引き受けます。

**重要**  
パイプラインロールを手動で作成することも、パイプラインの作成時に OpenSearch Ingestion に作成させることもできます。自動ロール作成を選択した場合、OpenSearch Ingestion は、選択したソースとシンクに基づいて、パイプラインロールのアクセスポリシーに必要なすべてのアクセス許可を追加します。プレフィックス `OpenSearchIngestion-` と入力したサフィックスを使用して、IAM にパイプラインロールを作成します。詳細については、「[パイプラインロール](pipeline-security-overview.md#pipeline-security-sink)」を参照してください。  
OpenSearch Ingestion でパイプラインロールを作成している場合は、パイプラインの作成前または作成後に、コレクションのデータアクセスポリシーにロールを含める必要があります。手順については、ステップ 2 を参照してください。

パイプラインの作成中に、OpenSearch Ingestion はパイプラインと OpenSearch Serverless コレクション間の AWS PrivateLink 接続を作成します。パイプラインからのすべてのトラフィックはこの VPC エンドポイントを通過し、コレクションにルーティングされます。コレクションに到達するには、エンドポイントにネットワークアクセスポリシーを介してコレクションへのアクセスを付与する必要があります。

![\[OpenSearch Ingestion pipeline connecting to OpenSearch Serverless collection via PrivateLink VPC endpoint.\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/osis-aoss-permissions.png)


**Topics**
+ [ステップ 1: パイプラインロールを作成する](#pipeline-collection-access-configure)
+ [ステップ 2: コレクションのデータとネットワークアクセスを設定する](#pipeline-access-collection)

## ステップ 1: パイプラインロールを作成する
<a name="pipeline-collection-access-configure"></a>

パイプラインロールには、コレクションシンクへのデータ送信を許可するアクセス許可ポリシーがアタッチされている必要があります。また、OpenSearch Ingestion にこのロールの引き受けを許可する信頼関係も必要になります。ポリシーをロールにアタッチする方法については、「*IAM ユーザーガイド*」の「[IAM ID アクセス許可の追加](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console)」を参照してください。

次のポリシー例では、コレクションへの書き込みを可能にするパイプラインロールアクセスポリシーで提供できる[最小特権](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)が付与されています。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Statement1",
            "Effect": "Allow",
            "Action": [
                "aoss:APIAccessAll",
                "aoss:BatchGetCollection",
                "aoss:CreateSecurityPolicy",
                "aoss:GetSecurityPolicy",
                "aoss:UpdateSecurityPolicy"
            ],
            "Resource": "*"
        }
    ]
}
```

------

このロールには次の[信頼関係](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy)が必要です。この信頼関係により、OpenSearch Ingestion はこのロールを引き受けることができます。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "osis-pipelines.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

## ステップ 2: コレクションのデータとネットワークアクセスを設定する
<a name="pipeline-access-collection"></a>

OpenSearch Serverless コレクションを以下の設定で作成します。コレクションの作成手順については、「[コレクションの作成](serverless-create.md)」を参照してください。

### データアクセスポリシー
<a name="pipeline-data-access"></a>

パイプラインロールに必要なアクセス許可を付与するコレクション用の[データアクセスポリシー](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-data-access.html)を作成します。例えば、次のようになります。

```
[
  {
    "Rules": [
      {
        "Resource": [
          "index/collection-name/*"
        ],
        "Permission": [
          "aoss:CreateIndex",
          "aoss:UpdateIndex",
          "aoss:DescribeIndex",
          "aoss:WriteDocument"
        ],
        "ResourceType": "index"
      }
    ],
    "Principal": [
      "arn:aws:iam::account-id:role/pipeline-role"
    ],
    "Description": "Pipeline role access"
  }
]
```

**注記**  
`Principal` 要素で、パイプラインのロールの Amazon リソースネーム (ARN) を指定します。

### ネットワークアクセスポリシー
<a name="pipeline-network-access"></a>

OpenSearch Serverless で作成する各コレクションには、少なくとも 1 つのネットワークアクセスポリシーが関連付けられています。ネットワークアクセスポリシーでは、コレクションがインターネット経由でパブリックネットワークからアクセス可能か、プライベートでアクセスする必要があるかを決定します。ネットワークポリシーの詳細については、「[Amazon OpenSearch Serverless でのネットワークアクセス](serverless-network.md)」を参照してください。

ネットワークアクセスポリシー内では、OpenSearch Serverless マネージド VPC エンドポイントのみを指定できます。詳細については、「[を介したデータプレーンアクセス AWS PrivateLink](serverless-vpc.md)」を参照してください。ただし、パイプラインがコレクションに書き込むには、OpenSearch Ingestion がパイプラインとコレクションの間に自動的に作成する VPC エンドポイントへのアクセスもポリシーで付与する必要があります。したがって、パイプラインの送信先シンクとして OpenSearch Serverless コレクションを選択する場合は、関連するネットワークポリシーの名前を **[ネットワークポリシー名]** フィールドに入力する必要があります。

パイプラインの作成中、OpenSearch Ingestion は指定されたネットワークポリシーの存在をチェックします。存在しない場合は、OpenSearch Ingestion が作成します。存在する場合、OpenSearch Ingestion は新しいルールを追加して更新します。このルールは、パイプラインとコレクションを接続する VPC エンドポイントへのアクセスを付与します。

例えば、次のようになります。

```
{
   "Rules":[
      {
         "Resource":[
            "collection/my-collection"
         ],
         "ResourceType":"collection"
      }
   ],
   "SourceVPCEs":[
      "vpce-0c510712627e27269" # The ID of the VPC endpoint that OpenSearch Ingestion creates between the pipeline and collection
   ],
   "Description":"Created by Data Prepper"
}
```

コンソールでは、OpenSearch Ingestion がネットワークポリシーに追加するルールの名前は、**[Created by Data Prepper]** です。

![\[Configuration details for OpenSearch endpoint access, including VPC endpoint and resources.\]](http://docs.aws.amazon.com/ja_jp/opensearch-service/latest/developerguide/images/osis-aoss-network.png)


**注記**  
一般に、コレクションのパブリックアクセスを指定するルールは、プライベートアクセスを指定するルールよりも優先されます。したがって、ポリシーに*パブリック*アクセスがすでに設定されている場合、OpenSearch Ingestion が追加するこの新しいルールは、実際にポリシーの動作を変更しません。詳細については、「[ポリシーの優先順位](serverless-network.md#serverless-network-precedence)」を参照してください。

パイプラインを停止または削除すると、OpenSearch Ingestion はパイプラインとコレクション間の VPC エンドポイントを削除します。また、ネットワークポリシーを変更して、許可されたエンドポイントのリストから VPC エンドポイントを削除します。パイプラインを再起動すると、VPC エンドポイントが再作成され、ネットワークポリシーがエンドポイント ID で再更新されます。