本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Bedrock 知識庫使用 Amazon Redshift 作為查詢引擎來查詢資料存放區。查詢引擎會從結構化資料存放區存取中繼資料,並使用中繼資料協助產生 SQL 查詢。下表顯示可用於不同查詢引擎的身分驗證方法:
身分驗證方法 | Amazon Redshift 佈建 | Amazon Redshift Serverless |
---|---|---|
IAM |
![]() |
![]() |
資料庫使用者名稱 |
![]() |
![]() |
AWS Secrets Manager |
![]() |
![]() |
下列主題說明如何設定查詢引擎,並設定 Amazon Bedrock Knowledge Bases 服務角色使用查詢引擎的許可。
建立 Amazon Redshift 佈建或無伺服器查詢引擎
您可以建立 Amazon Redshift 佈建或無伺服器查詢引擎,從結構化資料存放區存取中繼資料。如果您已經設定 Amazon Redshift 查詢引擎,則可以略過此先決條件。否則,請設定下列其中一種類型的查詢引擎:
在佈建的 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 Knowledge Bases 服務角色存取 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": "*"
}
]
}
您也需要新增許可,以允許您的服務角色向查詢引擎進行身分驗證。展開區段以查看該方法的許可。
連接的許可取決於您的身分驗證方法。展開區段以查看方法的許可。