本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用精细的 OpenSearch 访问控制配置权限
虽然是可选的,但我们强烈建议您为域名启用精细的访问控制。 OpenSearch 使用精细的访问控制,您可以使用基于角色的访问控制,这样您就可以创建具有特定权限的 OpenSearch 角色并将其映射到知识库服务角色。映射会向您的知识库授予访问 OpenSearch 域和索引并对其执行操作所需的最低权限。
要配置和使用精细访问控制,请执行以下操作:
-
确保您使用的 OpenSearch 域名已启用精细访问控制。
-
对于使用精细访问控制的域,请以角色的形式使用范围缩小策略配置权限。 OpenSearch
-
对于您为其创建角色的域,添加与知识库服务角色的角色映射。
以下步骤说明如何配置您的 OpenSearch 角色并确保角色和知识库服务 OpenSearch 角色之间的映射正确。
创建 OpenSearch 角色并配置权限
启用精细访问控制并将 Amazon Bedrock 配置为连接到 OpenSearch 服务后,您可以使用控制 OpenSearch 面板链接为每个域配置权限。 OpenSearch
要为域名配置权限以允许访问 Amazon Bedrock,请执行以下操作:
-
打开您要使用的 OpenSearch 域名的 OpenSearch 控制面板。要找到指向仪表板的链接,请转到您在 OpenSearch 服务控制台中创建的域。对于正在运行的域名 OpenSearch,URL 的格式为
。有关更多信息,请参阅 Amazon OpenSearch 服务开发者指南中的控制面板。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 控制面板。网址的格式为
。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 角色并对域和索引执行所需的操作。