我需要您帮助制定正确的政策。我正在使用ACloud Guru AWS Sandbox,并尝试使用elasticsearch-lib来运行lambda上的python代码。但对于仅Opensearch";配置域级访问策略";可以使用。我通过策略打开了对我的家庭IP的访问:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource": "arn:aws:es:us-east-1:yyyyyyyyyyy:domain/test-es-1/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "xx.xx.xxx.xx/32"
}
}
}
]
}
它对我来说很好,现在我正试图在Lambda上运行一些简单的代码,但出现了一个错误
"errorMessage":"AuthorizationException(403,"{"消息":"用户:匿名者未被授权执行:es:ESHttpPut"}"("errorType":"AuthorizationException";,
我决定打开区域us-east-1并添加部分:
{
"Effect": "Allow",
"Action": "es:*",
"Principal": {
"AWS": "*"
},
"Resource": "arn:aws:es:us-east-1:yyyyyyyyyyy:domain/test-es-1/*",
"Condition": {
"StringEquals": {
"aws:RequestedRegion": "us-east-1"
}
}
}
但我无法保存策略,我有一个错误:
UpdateDomainConfig:{"message"对您的域应用限制性访问策略"}
也许我走错了方向,有人可以帮我解决问题或把我推向正确的方向。
提前感谢您,BR阿列克谢。
从部署无服务应用程序中拉出失败-启用细粒度访问控制或对您的域应用限制性访问策略,AWS似乎认为您的方法过于公开。请检查上一篇文章/答案中列出的替代方法。如果你想知道如何使某个方法适用于你的用例,请告诉我,我们可以深入研究!