最近、新しい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] /“}
これが機能するためにアクセスポリシーで何を変更する必要があるかを誰かが知っていますか?