我在 Amazon OpenSearch Service 集群中遇到了访问控制错误或问题。
简短描述
您可能会收到精细访问控制(FGAC)错误,或需要在 OpenSearch Service 集群中进行其他配置。要解决这些问题,请根据您的用例执行以下故障排除步骤。
**注意:**由于 OpenSearch Service 的托管设计,它不支持匿名访问。
解决方法
"security_exception","reason":"no permissions" 403 错误
要解决此错误,请先检查您的 OpenSearch Service 集群中的用户或后端角色是否有所需权限。请参阅 OpenSearch 网站上的权限。然后,完成 OpenSearch 网站中的步骤,将用户或后端角色映射到角色。
“用户:匿名用户无权执行:iam:PassRole”
在尝试注册手动快照时,可能会收到此错误。您必须将 manage_snapshots 角色映射到用于注册手动快照的 Identity and Access Management(IAM)角色。然后,使用该 IAM 角色向该域发送已签名的请求。
“找不到任何 Elasticsearch 数据”
在升级到 OpenSearch Service 版本 7.9 后尝试创建索引模式时,可能会收到此错误。在 FGAC 已激活集群中创建索引模式时,使用解析索引 API 来将 indices:admin/resolve/index 添加至所有索引和别名。有关详细信息,请参阅 OpenSearch 网站上的 API。
缺少此权限时,OpenSearch Service 会引发 403 错误状态码。然后,该代码会映射到来自 OpenSearch Dashboards 的 500 错误状态代码。因此,这些索引没有列出。
401 未授权错误
当您在主凭证中使用 $ 或 ! 字符及 curl -u "user:password" 时,可能会收到 401 未授权错误。请务必将凭证放在单引号中,如以下示例所示:
curl -u 'username' <Domain_Endpoint>
在激活精细访问控制后,将其他 AWS 服务与 OpenSearch Service 集成
要在激活精细访问控制时将另一个 AWS 服务与 OpenSearch Service 集成,请为这些服务的 IAM 角色提供正确权限。有关详细信息,请参阅集成。
根据用户租赁提供对特定索引、控制面板和可视化的精细访问
要提供对特定索引或控制面板的 FGAC 访问,请将用户映射到对租赁用户 Kibana 索引拥有权限的角色:
.kibana_<hash>_<tenant_name>
有关详细信息,请参阅 OpenSearch 网站上的管理 OpenSearch Dashboards 索引。
在字段级别或文档级别使用精细访问控制
要在字段级别使用精细访问控制,请设置具有所需字段级别安全性的角色。然后,将用户映射到您创建的角色。有关详细信息,请参阅 OpenSearch 网站上的字段级安全性。
要在文档级别使用精细访问控制,请创建具有所需文档级安全性的内部控制面板角色。然后,将用户映射到内部控制面板。有关详细信息,请参阅 OpenSearch 网站上的文档级安全性。
相关信息
Amazon OpenSearch Service 中的精细访问控制