我最近开始使用新的 Amazon Elasticsearch Service,但是我似乎不知道我需要什么样的访问策略,所以我只能从我的 EC2实例中访问那些分配给它们特定 IAM 角色的服务。
下面是我目前为 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 调用,结果得到以下错误:
{“ Message”: “ User: 际没有授权执行: ES: ESHttpGet on resource: arn: aws: ES: us-east-1: [ ACCOUNT _ ID ] : domain/[ ES _ DOMAIN ]/“}
有人知道我要修改访问策略才能正常工作吗?