翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon Bedrock ナレッジベースは、データストアをクエリするためのクエリエンジンとして Amazon Redshift を使用します。クエリエンジンは構造化データストアからメタデータにアクセスし、そのメタデータを使用して SQL クエリを生成します。次の表は、 がさまざまなクエリエンジンに使用できる認証方法を示しています。
認証方法 | Amazon Redshift プロビジョニング済み | Amazon Redshift Serverless |
---|---|---|
IAM |
![]() |
![]() |
データベースユーザー名 |
![]() |
![]() |
AWS Secrets Manager |
![]() |
![]() |
以下のトピックでは、クエリエンジンをセットアップし、Amazon Bedrock ナレッジベースサービスロールがクエリエンジンを使用するためのアクセス許可を設定する方法について説明します。
Amazon Redshift のプロビジョニングされたクエリエンジンまたはサーバーレスクエリエンジンを作成する
Amazon Redshift でプロビジョニングされたクエリエンジンまたはサーバーレスクエリエンジンを作成して、構造化データストアからメタデータにアクセスできます。Amazon Redshift クエリエンジンをすでにセットアップしている場合は、この前提条件をスキップできます。それ以外の場合は、次のいずれかのタイプのクエリエンジンを設定します。
プロビジョニングされた Amazon Redshift でクエリエンジンを設定するには
-
「Amazon Redshift 入門ガイド」の「ステップ 1: サンプル Amazon Redshift クラスターを作成する」の手順に従います。
-
クラスター ID を書き留めます。
-
(オプション) Amazon Redshift でプロビジョニングされたクラスターの詳細については、「Amazon Redshift 管理ガイド」の「Amazon Redshift でプロビジョニングされたクラスター」を参照してください。
Amazon Redshift Serverless でクエリエンジンを設定するには
-
「Amazon Redshift 入門ガイド」の「Amazon Redshift Serverless でデータウェアハウスを作成する」のセットアップ手順のみに従い、デフォルト設定で設定します。
-
ワークグループ ARN を書き留めます。
-
(オプション) Amazon Redshift Serverless ワークグループの詳細については、「Amazon Redshift 管理ガイド」の「ワークグループと名前空間」を参照してください。
Amazon Bedrock ナレッジベースサービスロールが Amazon Redshift クエリエンジンにアクセスするためのアクセス許可を設定する
Amazon Bedrock ナレッジベースは、サービスロールを使用してナレッジベースを構造化データストアに接続し、これらのデータストアからデータを取得し、ユーザークエリとデータストアの構造に基づいて SQL クエリを生成します。
注記
を使用してナレッジベース AWS Management Console を作成する場合は、この前提条件をスキップできます。コンソールは、適切なアクセス許可を持つ Amazon Bedrock ナレッジベースサービスロールを作成します。
適切なアクセス許可を持つカスタム IAM サービスロールを作成するには、「ロールの作成」の手順に従って、 にアクセス許可を委任 AWS のサービスし、 で定義されている信頼関係をアタッチします信頼関係。
次に、ナレッジベースが Amazon Redshift クエリエンジンとデータベースにアクセスするためのアクセス許可を追加します。ユースケースに適用されるセクションを展開します。
次のポリシーをカスタムサービスロールにアタッチして、データにアクセスしてそれを使用してクエリを生成できるようにします。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "RedshiftDataAPIStatementPermissions",
"Effect": "Allow",
"Action": [
"redshift-data:GetStatementResult",
"redshift-data:DescribeStatement",
"redshift-data:CancelStatement"
],
"Resource": [
"*"
],
"Condition": {
"StringEquals": {
"redshift-data:statement-owner-iam-userid": "${aws:userid}
"
}
}
},
{
"Sid": "RedshiftDataAPIExecutePermissions",
"Effect": "Allow",
"Action": [
"redshift-data:ExecuteStatement"
],
"Resource": [
"arn:aws:redshift:${Region}
:${Account}
:cluster:${Cluster}
"
]
},
{
"Sid": "SqlWorkbenchAccess",
"Effect": "Allow",
"Action": [
"sqlworkbench:GetSqlRecommendations",
"sqlworkbench:PutSqlGenerationContext",
"sqlworkbench:GetSqlGenerationContext",
"sqlworkbench:DeleteSqlGenerationContext"
],
"Resource": "*"
},
{
"Sid": "GenerateQueryAccess",
"Effect": "Allow",
"Action": [
"bedrock:GenerateQuery"
],
"Resource": "*"
}
]
}
また、サービスロールがクエリエンジンに対して認証できるようにするアクセス許可を追加する必要があります。セクションを展開すると、そのメソッドのアクセス許可が表示されます。
アタッチするアクセス許可は、認証方法によって異なります。セクションを展開して、メソッドのアクセス許可を確認します。