我正在尝试允许任何人对我的 AWS Elasticsearch 域进行 HTTP 获取请求。并将所有其他请求(如 CREATE、DELETE)限制为仅限 IAM 用户。我尝试使用以下策略,并且能够通过使用我的用户凭据(使用 aws-es-proxy 工具)签署请求来成功创建、删除索引。但是从公共计算机到域的 HTTP 请求失败。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:ESHttpGet",
"Resource": "arn:aws:es:ap-south-1:356298639800:domain/*"
},
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::356298639800:root"
},
"Action": "es:*",
"Resource": "arn:aws:es:ap-south-1:356298639800:domain/myusername/*"
}
]
}
对 ES 域的公共 HTTP 请求失败,并出现错误“未授权匿名”。[上面提到的账户ID是一个虚拟号码]