Ich habe kürzlich begonnen, den neuen Amazon Elasticsearch-Dienst zu verwenden, und ich kann anscheinend nicht herausfinden, welche Zugriffsrichtlinie ich benötige, damit ich nur von meinen EC2-Instanzen auf die Dienste zugreifen kann, denen eine bestimmte IAM-Rolle zugewiesen ist.
Hier ist ein Beispiel für die Zugriffsrichtlinie, die ich derzeit für die ES-Domäne zugewiesen habe:
{
"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]/*"
}
]
}
Aber wie gesagt, das funktioniert nicht. Ich melde mich bei der EC2-Instanz an (der die my_es_role
Rolle zugeordnet ist) und versuche, einen einfachen Curl-Aufruf am Endpunkt "https: //*.es.amazonaws.com" auszuführen. Es wird folgende Fehlermeldung angezeigt:
{"Nachricht": "Benutzer: anonym ist nicht berechtigt auszuführen: es: ESHttpGet auf Ressource: arn: aws: es: us-east-1: [ACCOUNT_ID]: domain / [ES_DOMAIN] /"}
Weiß jemand, was ich an der Zugriffsrichtlinie ändern muss, damit dies funktioniert?