OpenSearch マネージドクラスターのリソースベースポリシーの設定 - Amazon Bedrock

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

OpenSearch マネージドクラスターのリソースベースポリシーの設定

ナレッジベースを作成するときは、独自のカスタムロールを作成することも、Amazon Bedrock に作成を任せることもできます。アクセス許可の設定方法は、新しいロールを作成するのか、既存のロールを使用するのかによって異なります。既存の IAM ロールが既に設定されている場合は、ドメインのアクセスポリシーによって、アカウント内のロールによる必要な OpenSearch API オペレーションの実行が妨げられないことを確認する必要があります。

Amazon Bedrock ナレッジベースで IAM ロールを作成するように選択する場合は、ドメインのアクセスポリシーで、アカウント内のロールに必要な OpenSearch API アクションを実行するためのアクセス許可が付与されていることを確認する必要があります。ドメインに制限付きアクセスポリシーがある場合、そのポリシーによってロールがこれらのアクションを実行できない可能性があります。制限付きリソースベースのポリシーの例を以下に示します。

この場合、次のいずれかを実行できます。

  • 既存の IAM ロールを使用してナレッジベースを作成します。OpenSearch ドメインでは、このロールに必要なオペレーションを実行するためのアクセスを付与できます。

  • または、Amazon Bedrock に新しいロールの作成を任せることもできます。この場合、ドメインのアクセスポリシーで、アカウント内のロールに必要な OpenSearch API アクションを実行するためのアクセス許可が付与されていることを確認する必要があります。

次のセクションでは、必要なアクセス許可を付与するサンプル IAM ポリシー、および必要な OpenSearch API オペレーションを実行するためのアクセス許可を付与するようにドメインのアクセスポリシーを更新する方法を紹介します。

サンプル IAM アイデンティティベースのポリシーとリソースベースのポリシー

このセクションでは、Amazon Bedrock ナレッジベースとの統合時に OpenSearch ドメイン用に設定できるサンプルのアイデンティティポリシーとリソースベースのポリシーについて説明します。ナレッジベースを提供するインデックスに対してこれらのアクションを実行するための Amazon Bedrock アクセス許可を付与する必要があります。

Action [リソース] 説明
es:ESHttpPost arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName> インデックスに情報を挿入する場合
es:ESHttpGet
  • arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName>/*

  • arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName>

インデックスからの情報を検索する場合。このアクションは、domain/index レベルと domain/index/* レベルの両方で設定されます。domain/index レベルでは、エンジンタイプなど、インデックスに関する高レベルの詳細を取得できます。インデックス内に保存されている詳細を取得するには、domain/index/* レベルのアクセス許可が必要です。
es:ESHttpHead
  • arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName>/*

  • arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName>

インデックスから情報を取得する場合。このアクションは、特定のインデックスが存在するかどうかなど、より高いレベルで情報を取得する必要がある場合に備えて、domain/index レベルと domain/index/* レベルの両方で設定されます。
es:ESHttpDelete arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName> インデックスの情報を削除する場合
es:DescribeDomain arn:<partition>:es:<region>:<accountId>:domain/<domainName> 使用されているエンジンバージョンの確認など、ドメインに対して検証を実行する場合。
JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "OpenSearchIndexAccess", "Effect": "Allow", "Action": [ "es:ESHttpGet", "es:ESHttpPost", "es:ESHttpPut", "es:ESHttpDelete" ], "Resource": [ "arn:aws:es:us-east-1:123456789012:domain/domainName/indexName/*" ] }, { "Sid": "OpenSearchIndexGetAccess", "Effect": "Allow", "Action": [ "es:ESHttpGet", "es:ESHttpHead" ], "Resource": [ "arn:aws:es:us-east-1:123456789012:domain/domainName/indexName" ] }, { "Sid": "OpenSearchDomainValidation", "Effect": "Allow", "Action": [ "es:DescribeDomain" ], "Resource": [ "arn:aws:es:us-east-1:123456789012:domain/domainName" ] } ] }
注記

リソースベースのポリシーで使用するサービスロールが作成されていることを確認します。

Amazon Bedrock ナレッジベースのサービスロールの作成

ナレッジベースを作成するときに、新しいサービスロールを作成して使用するオプションを選択できます。このセクションでは、Amazon Bedrock ナレッジベースのサービスロールを作成する方法について説明します。リソースベースのポリシーときめ細かなアクセスポリシーをこのロールにマッピングすることで、OpenSearch ドメインにリクエストを行うためのアクセス許可が Amazon Bedrock に付与されます。

Amazon Bedrock ナレッジベースのサービスロールを指定する方法:
  1. Amazon Bedrock コンソールで、[ナレッジベース] に移動します。

  2. [作成] を選択し、[ベクトルストアを含むナレッジベース] を選択します。

  3. [新しいサービスロールの作成と使用] を選択します。デフォルトを使用することも、カスタムロール名を指定することもでき、Amazon Bedrock によってナレッジベースのサービスロールが自動的に作成されます。

  4. そのままコンソールを操作し、データソースおよび解析戦略とチャンキング戦略を設定します。

  5. 埋め込みモデルを選択し、[既存のベクトルストアを選択][Amazon OpenSearch マネージドクラスター] を選択します。

重要

ナレッジベースの作成に進む前に、次のステップを実行して、リソースベースのポリシーときめ細かなアクセスポリシーを設定します。ナレッジベースの作成に関する詳しいステップについては、「Amazon Bedrock ナレッジベースでデータソースに接続してナレッジベースを作成する」を参照してください。

リソースベースのポリシーの更新

OpenSearch ドメインに制限付きアクセスポリシーがある場合は、このページの手順に従ってリソースベースのポリシーを更新できます。これらのアクセス許可により、ナレッジベースは指定されたインデックスを使用し、OpenSearch ドメイン定義を取得してドメインで必要な検証を実行できます。

からリソースベースのポリシーを設定するにはAWS マネジメントコンソール
  1. Amazon OpenSearch Service コンソールに移動します。

  2. 作成したドメインに移動したら、リソースベースのポリシーが設定されている [セキュリティ設定] に移動します。

  3. JSON タブでポリシーを編集してから、サンプルのリソースベースのポリシーと同様にポリシーを更新します。

  4. これで、Amazon Bedrock コンソールに戻り、「マネージド型クラスターのナレッジベースのセットアップ」の説明に従って、OpenSearch ドメインとインデックスの詳細を入力できるようになります。