OpenSearch Managed クラスターのリソースベースのポリシーの設定 - Amazon Bedrock

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

OpenSearch Managed クラスターのリソースベースのポリシーの設定

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

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Principal": { "AWS": "arn:aws:iam::<accountId>:root" }, "Action": "*", "Resource": "arn:<partition>:es:<region>:<accountId>:domain/<domainName>" } ] }

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

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

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

以下のセクションでは、必要なアクセス許可を付与するサンプル IAM ポリシーと、ドメインのアクセスポリシーを更新して、必要な OpenSearch API オペレーションを実行するためのアクセス許可を付与する方法を示します。

IAM アイデンティティベースおよびリソースベースのポリシーの例

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

アクション リソース 説明
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> 使用するエンジンバージョンなど、ドメインで検証を実行する場合。
{ "Version": "2012-10-17", "Statement": [{ "Sid": "OpenSearchIndexAccess", "Effect": "Allow", "Action": [ "es:ESHttpGet", "es:ESHttpPost", "es:ESHttpPut", "es:ESHttpDelete" ], "Resource": [ "arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName>/*" ] }, { "Sid": "OpenSearchIndexGetAccess", "Effect": "Allow", "Action": [ "es:ESHttpGet", "es:ESHttpHead" ], "Resource": [ "arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName>" ] }, { "Sid": "OpenSearchDomainValidation", "Effect": "Allow", "Action": [ "es:DescribeDomain" ], "Resource": [ "arn:<partition>:es:<region>:<accountId>:domain/<domainName>" ] }] }
注記

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:<partition>:iam::<accountId>:role/service-role/<KnowledgeBaseServiceRoleName>" ] }, "Action": [ "es:ESHttpGet", "es:ESHttpPost", "es:ESHttpHead", "es:ESHttpDelete" ], "Resource": [ "arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName>/*" ] }, { "Effect": "Allow", "Principal": { "AWS": [ "arn:<partition>:iam::<accountId>:(role|service-role)/<KnowledgeBaseServiceRoleName>" ] }, "Action": "es:ESHttpGet", "Resource": [ "arn:<partition>:es:<region>:<accountId>:domain/<domainName>/<indexName>" ] }, { "Effect": "Allow", "Principal": { "AWS": [ "arn:<partition>:iam::<accountId>:(role|service-role)/<KnowledgeBaseServiceRoleName>" ] }, "Action": "es:DescribeDomain", "Resource": [ "arn:<partition>:es:<region>:<accountId>:domain/<domainName>" ] } ] }

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

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

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

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

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

  4. コンソールを続行してデータソースを設定し、解析およびチャンキング戦略を設定します。

  5. 埋め込みモデルを選択し、既存のベクトルストアを選択Amazon OpenSearch Managed Cluster を選択します。

重要

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

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

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

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

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

  3. JSON タブでポリシーを編集し、 のようなポリシーを更新しますリソースベースのポリシーの例

  4. Amazon Bedrock コンソールに戻り、「マネージドクラスターのナレッジベース設定」で説明されているように、OpenSearch ドメインとインデックスの詳細を指定できるようになりました。