如何为 AWS Opensearch 域启用基于密码的身份验证?
Posted
技术标签:
【中文标题】如何为 AWS Opensearch 域启用基于密码的身份验证?【英文标题】:How to enable password based authentication for AWS Opensearch Domain? 【发布时间】:2022-01-07 04:26:07 【问题描述】:我在 VPC 中放置了弹性搜索域。我可以毫无问题地从 VPC 连接到域。但为了提高安全性,我希望身份验证基于用户名:密码。我正在使用 elasticsearch-dsl 进行连接。知道如何设置基于用户名和密码的域连接吗?
我尝试更新域配置,以设置 MasterUser 和 MasterPassword(不确定过程是否正确)。
aws es update-elasticsearch-domain-config --domain-name test-domain --advanced-security-options Enabled=true,InternalUserDatabaseEnabled=true
我收到此错误:
An error occurred (BaseException) when calling the UpdateElasticsearchDomainConfig operation: You don't have permissions to enable Advanced Security options.
这是正确的做法吗?如果没有,我们如何启用基于密码的身份验证?
【问题讨论】:
【参考方案1】:调用 UpdateElasticsearchDomainConfig 操作时发生错误 (BaseException):您无权启用高级安全选项。
您收到的上述错误表明您没有更新高级安全配置的权限。 调用更新 api 时需要使用主用户凭据。
请参阅此处的文档以获取有关主用户的更多信息: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html
【讨论】:
原来如此,现有域没有主用户。我想创建一个。 UI 中的选项不适用于 6.7 版。尽管如此,我们还是继续推行基于角色的政策。如果您想访问域,则无法从实例中正常 curl 工作。我们需要使用他们的 SDK 从代码发出 AWS 签名请求。以上是关于如何为 AWS Opensearch 域启用基于密码的身份验证?的主要内容,如果未能解决你的问题,请参考以下文章
如何为 pymysql lambda 启用 AWS XRAY 跟踪
在 aws lambda 上使用 opensearch-py 进行 opensearch 身份验证