使用Kibana的AWS弹性搜索-通过基于IP的策略或基于资源的策略进行身份验证根本不起作用



在我的serverless.yaml文件中,我创建并限制对ElasticSearch域服务和Kibana的访问。然而,通过基于AWS资源的策略或基于AWS IP的策略,我无法访问kibana。该限制是根据下面的AWS教程源完成的例如:

在此处输入链接描述

然而,它不起作用,当我试图访问Kibana时,我得到了错误:{"消息":"用户:匿名者未被授权执行:es:ESHttpGet"}

所以,这意味着Kibana最近需要一个用户。那么,现在唯一的方法就是使用AWS Cognito??

提前非常感谢!干杯Marcelo

您需要将您的访问策略修改为

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource": "arn:aws:es:ap-south-1:****:domain/es-cert/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"88.8.888.8"           
]
}
}
}
]
}

"aws:SourceIp"部分中,您需要添加您的公共IP地址

我想问一下您创建了哪个ElasticSearch域。你是用VPC还是HTTP访问创建的?前几天我就这么做了,在尝试实施我的IP访问策略时,没有任何效果。我终于找到了这篇文章,重新创建了我的域,应用了我的访问策略,类似于上面的内容,它起到了作用。

"如果你启用了VPC访问,你就不能使用基于IP的策略。相反,你可以使用安全组来控制哪些IP地址可以访问域。">

https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html

最新更新