为用户或角色设置创建和管理知识库的权限 - Amazon Bedrock

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为用户或角色设置创建和管理知识库的权限

要让用户或角色执行与 Amazon Bedrock 知识库相关的操作,您必须为其附加策略,以授予执行这些操作的权限。它描述了允许用户从这些知识库中检索信息并从中生成响应的权限。

展开以下部分,了解如何为特定用例设置权限:

要允许 IAM 角色创建知识库、将其连接到结构化数据存储、管理知识库以及启动和管理从数据源到知识库的摄取任务,您必须为KnowledgeBaseDataSource、和IngestionJob操作提供权限。要提供标记知识库的权限,请包括bedrock:TagResource和的权限bedrock:UntagResource

注意

如果用户或角色附加了AmazonBedrockFullAccess AWS 托管策略,则可以跳过此先决条件。

要允许角色执行这些操作,请将以下策略附加到该角色:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateKB", "Effect": "Allow", "Action": [ "bedrock:CreateKnowledgeBase" ], "Resource": "*" }, { "Sid": "KBDataSourceManagement", "Effect": "Allow", "Action": [ "bedrock:GetKnowledgeBase", "bedrock:ListKnowledgeBases", "bedrock:UpdateKnowledgeBase", "bedrock:DeleteKnowledgeBase", "bedrock:StartIngestionJob", "bedrock:GetIngestionJob", "bedrock:ListIngestionJobs", "bedrock:StopIngestionJob", "bedrock:TagResource", "bedrock:UntagResource" ], "Resource": [ "arn:${Partition}:bedrock:${Region}:${Account}:knowledge-base/*" ] } ] }

创建知识库后,我们建议您将通配符 (*) 替换KBDataSourceManagement为您创建的知识库的 ID,从而缩小语句中的权限范围。

本节介绍为知识库执行RetrieveRetrieveAndGenerate API 操作所需的权限。

将以下策略附加到该角色:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetKB", "Effect": "Allow", "Action": [ "bedrock:GetKnowledgeBase" ], "Resource": [ "arn:${Partition}:bedrock:${Region}:${Account}:knowledge-base/${KnowledgeBaseId}" ] }, { "Sid": "Retrieve", "Effect": "Allow", "Action": [ "bedrock:Retrieve", ] "Resource": [ "arn:${Partition}:bedrock:${Region}:${Account}:knowledge-base/${KnowledgeBaseId}" ] }, { "Sid": "RetrieveAndGenerate", "Effect": "Allow", "Action": [ "bedrock:RetrieveAndGenerate", ] "Resource": [ "*" ] } ] }

您可以删除不需要的语句,具体取决于您的用例:

  • GetKB语句用于获取知识库信息。

  • 调用RetrieveRetrieve语句才能从您的数据存储中检索数据。

  • 调用RetrieveAndGenerateRetrieveAndGenerate语句才能从您的数据存储中检索数据并根据数据生成响应。

如果您计划使用RetrieveAndGenerate基于从数据源检索到的数据生成响应,请按照中的步骤请求访问用于生成的基础模型访问 Amazon Bedrock 基础模型

要进一步限制权限,可以省略操作,也可以指定筛选权限所依据的资源和条件键。有关操作、资源和条件键的更多信息,请参阅《服务授权参考》中的以下主题: