本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用精细访问控制配置 OpenSearch 权限
精细访问控制虽然是可选的,但我们强烈建议您为 OpenSearch 域启用该选项。使用精细访问控制,您可以使用基于角色的访问控制,这样您就可以创建具有特定权限的 OpenSearch 角色,并将其映射到知识库服务角色。映射会为您的知识库授予访问和操作 OpenSearch 域和索引所需的最低权限。
要配置和使用精细访问控制,请执行以下操作:
-
确保您使用的 OpenSearch 域启用了精细访问控制。
-
对于使用精细访问控制的域,以 OpenSearch 角色的形式采用范围缩小策略配置权限。
-
对于要为其创建角色的域,可添加映射到知识库服务角色的角色。
以下步骤说明如何配置 OpenSearch 角色,以及如何确保 OpenSearch 角色和知识库服务角色之间的映射正确。
创建 OpenSearch 角色并配置权限
启用精细访问控制并将 Amazon Bedrock 配置为连接到 OpenSearch 服务后,可以使用 OpenSearch 控制面板链接为每个 OpenSearch 域配置权限。
要为域配置权限以允许访问 Amazon Bedrock,请执行以下操作:
-
打开要使用的 OpenSearch 域的 OpenSearch 控制面板。要找到指向控制面板的链接,请转到您在 OpenSearch Service 控制台中创建的域。对于运行 OpenSearch 的域,URL 格式为
。有关更多信息,请参阅《Amazon OpenSearch Service 开发人员指南》中的控制面板。domain-endpoint/_dashboards/ -
在 OpenSearch 控制面板中,转到安全,然后选择角色。
-
选择创建角色。
-
为角色提供任何名称,例如 kb_opensearch_role。
-
在集群权限下,添加以下权限。
-
indices:data/read/msearch -
indices:data/write/bulk* -
indices:data/read/mget*
-
-
在索引权限下,提供向量索引的名称。选择创建新权限组,然后选择创建新操作组。将以下权限添加到操作组,例如
KnowledgeBasesActionGroup。将以下权限添加到操作组。-
indices:admin/get -
indices:data/read/msearch -
indices:data/read/search -
indices:data/write/index -
indices:data/write/update -
indices:data/write/delete -
indices:data/write/delete/byquery -
indices:data/write/bulk* -
indices:admin/mapping/put -
indices:data/read/mget*
-
-
选择创建来创建 OpenSearch 角色。
下面是添加了权限的 OpenSearch 角色示例。
创建映射到知识库服务角色的角色
-
确定需要映射的 IAM 角色。
-
如果您创建了自己的自定义 IAM 角色,则可以从 IAM 控制台复制该角色的 ARN。
-
如果允许知识库为您创建角色,则可以在创建知识库时记下角色 ARN,然后复制此角色 ARN。
-
-
打开要使用的 OpenSearch 域的 OpenSearch 控制面板。该 URL 的格式为
。domain-endpoint/_dashboards/ -
在导航窗格中,选择安全性。
-
从列表中搜索刚创建的角色,例如 kb_opensearch_role,然后将其打开。
-
在映射的用户选项卡上,选择管理映射。
-
在后端角色部分中,为知识库输入 AWS 托管 IAM 角色的 ARN。根据您是创建自己的自定义角色还是让知识库为您创建角色,从 IAM 控制台或 Amazon Bedrock 控制台复制角色 ARN 信息,然后在 OpenSearch 控制台中为后端角色输入该信息。以下为示例。
arn:aws:iam::<accountId>:role/service-role/<knowledge-base-service-role> -
选择映射。
知识库服务角色现在可以连接到 OpenSearch 角色,并对域和索引执行所需的操作。