我最近开始使用新的 Amazon Elasticsearch Service,但我似乎无法弄清楚我需要的访问策略,因此我只能从分配了特定 IAM 角色的 EC2 实例访问服务。
这是我目前为 ES 域分配的访问策略的示例:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::[ACCOUNT_ID]:role/my_es_role",
]
},
"Action": "es:*",
"Resource": "arn:aws:es:us-east-1:[ACCOUNT_ID]:domain/[ES_DOMAIN]/*"
}
]
}
但正如我所说,这是行不通的。我登录到 EC2 实例(my_es_role
附加了角色)并尝试在“https://*.es.amazonaws.com”端点上运行一个简单的 curl 调用,我收到以下错误:
{“消息”:“用户:匿名无权执行:es:ESHttpGet 资源:arn:aws:es:us-east-1:[ACCOUNT_ID]:domain/[ES_DOMAIN]/“}
有谁知道我必须在访问策略中进行哪些更改才能使其正常工作?