Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

Amazon Bedrock ナレッジベースで構造化データストアのクエリエンジンを設定する

フォーカスモード
Amazon Bedrock ナレッジベースで構造化データストアのクエリエンジンを設定する - Amazon Bedrock

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

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

Amazon Bedrock ナレッジベースは、データストアをクエリするためのクエリエンジンとして Amazon Redshift を使用します。クエリエンジンは構造化データストアからメタデータにアクセスし、そのメタデータを使用して SQL クエリを生成します。次の表は、 がさまざまなクエリエンジンに使用できる認証方法を示しています。

認証方法 Amazon Redshift プロビジョニング済み Amazon Redshift Serverless
IAM Yes あり Yes あり
データベースユーザー名 Yes あり No なし
AWS Secrets Manager Yes あり Yes あり

以下のトピックでは、クエリエンジンをセットアップし、Amazon Bedrock ナレッジベースサービスロールがクエリエンジンを使用するためのアクセス許可を設定する方法について説明します。

Amazon Redshift のプロビジョニングされたクエリエンジンまたはサーバーレスクエリエンジンを作成する

Amazon Redshift でプロビジョニングされたクエリエンジンまたはサーバーレスクエリエンジンを作成して、構造化データストアからメタデータにアクセスできます。Amazon Redshift クエリエンジンをすでにセットアップしている場合は、この前提条件をスキップできます。それ以外の場合は、次のいずれかのタイプのクエリエンジンを設定します。

プロビジョニングされた Amazon Redshift でクエリエンジンを設定するには
  1. 「Amazon Redshift 入門ガイド」の「ステップ 1: サンプル Amazon Redshift クラスターを作成する」の手順に従います。

  2. クラスター ID を書き留めます。

  3. (オプション) Amazon Redshift でプロビジョニングされたクラスターの詳細については、「Amazon Redshift 管理ガイド」の「Amazon Redshift でプロビジョニングされたクラスター」を参照してください。

Amazon Redshift Serverless でクエリエンジンを設定するには
  1. 「Amazon Redshift 入門ガイド」の「Amazon Redshift Serverless でデータウェアハウスを作成する」のセットアップ手順のみに従い、デフォルト設定で設定します。

  2. ワークグループ ARN を書き留めます。

  3. (オプション) 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": "*" } ] }

また、サービスロールがクエリエンジンに対して認証できるようにするアクセス許可を追加する必要があります。セクションを展開すると、そのメソッドのアクセス許可が表示されます。

IAM

サービスロールが IAM を使用して Amazon Redshift でプロビジョニングされたクエリエンジンに対して認証できるようにするには、カスタムサービスロールに次のポリシーをアタッチします。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetCredentialsWithFederatedIAMCredentials", "Effect": "Allow", "Action": "redshift:GetClusterCredentialsWithIAM", "Resource": [ "arn:aws:redshift:${region}:${account}:dbname:${cluster}/${database}" ] } }
Database user

Amazon Redshift データベースユーザーとして認証するには、サービスロールに次のポリシーをアタッチします。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetCredentialsWithClusterCredentials", "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials" ], "Resource": [ "arn:aws:redshift:${region}:${account}:dbuser:${cluster}/${dbuser}", "arn:aws:redshift:${region}:${account}:dbname:${cluster}/${database}" ] } ] }
AWS Secrets Manager

サービスロールが AWS Secrets Manager シークレットを使用して Amazon Redshift でプロビジョニングされたクエリエンジンに対して認証できるようにするには、次の手順を実行します。

  • ロールに次のポリシーをアタッチします。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GetSecretPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}" ] } ] }

次のポリシーをカスタムサービスロールにアタッチして、データにアクセスしてそれを使用してクエリを生成できるようにします。

{ "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": "*" } ] }

また、サービスロールがクエリエンジンに対して認証できるようにするアクセス許可を追加する必要があります。セクションを展開すると、そのメソッドのアクセス許可が表示されます。

IAM

サービスロールが IAM を使用して Amazon Redshift でプロビジョニングされたクエリエンジンに対して認証できるようにするには、カスタムサービスロールに次のポリシーをアタッチします。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetCredentialsWithFederatedIAMCredentials", "Effect": "Allow", "Action": "redshift:GetClusterCredentialsWithIAM", "Resource": [ "arn:aws:redshift:${region}:${account}:dbname:${cluster}/${database}" ] } }
Database user

Amazon Redshift データベースユーザーとして認証するには、サービスロールに次のポリシーをアタッチします。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetCredentialsWithClusterCredentials", "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials" ], "Resource": [ "arn:aws:redshift:${region}:${account}:dbuser:${cluster}/${dbuser}", "arn:aws:redshift:${region}:${account}:dbname:${cluster}/${database}" ] } ] }
AWS Secrets Manager

サービスロールが AWS Secrets Manager シークレットを使用して Amazon Redshift でプロビジョニングされたクエリエンジンに対して認証できるようにするには、次の手順を実行します。

  • ロールに次のポリシーをアタッチします。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GetSecretPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}" ] } ] }

サービスロールが IAM を使用して Amazon Redshift でプロビジョニングされたクエリエンジンに対して認証できるようにするには、カスタムサービスロールに次のポリシーをアタッチします。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetCredentialsWithFederatedIAMCredentials", "Effect": "Allow", "Action": "redshift:GetClusterCredentialsWithIAM", "Resource": [ "arn:aws:redshift:${region}:${account}:dbname:${cluster}/${database}" ] } }

アタッチするアクセス許可は、認証方法によって異なります。セクションを展開して、メソッドのアクセス許可を確認します。

IAM

サービスロールが IAM を使用して Amazon Redshift でプロビジョニングされたクエリエンジンに対して認証できるようにするには、カスタムサービスロールに次のポリシーをアタッチします。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RedshiftServerlessGetCredentials", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": [ "arn:aws:redshift-serverless:${Region}:${Account}:workgroup:${WorkgroupId}" ] } }
AWS Secrets Manager

サービスロールが AWS Secrets Manager シークレットを使用して Amazon Redshift でプロビジョニングされたクエリエンジンに対して認証できるようにするには、次の手順を実行します。

  • ロールに次のポリシーをアタッチします。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GetSecretPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}" ] } ] }

アタッチするアクセス許可は、認証方法によって異なります。セクションを展開して、メソッドのアクセス許可を確認します。

IAM

サービスロールが IAM を使用して Amazon Redshift でプロビジョニングされたクエリエンジンに対して認証できるようにするには、カスタムサービスロールに次のポリシーをアタッチします。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RedshiftServerlessGetCredentials", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": [ "arn:aws:redshift-serverless:${Region}:${Account}:workgroup:${WorkgroupId}" ] } }
AWS Secrets Manager

サービスロールが AWS Secrets Manager シークレットを使用して Amazon Redshift でプロビジョニングされたクエリエンジンに対して認証できるようにするには、次の手順を実行します。

  • ロールに次のポリシーをアタッチします。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "GetSecretPermissions", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:${region}:${account}:secret:${secretName}" ] } ] }

サービスロールが IAM を使用して Amazon Redshift でプロビジョニングされたクエリエンジンに対して認証できるようにするには、カスタムサービスロールに次のポリシーをアタッチします。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RedshiftServerlessGetCredentials", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": [ "arn:aws:redshift-serverless:${Region}:${Account}:workgroup:${WorkgroupId}" ] } }
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.