ฉันเพิ่งเริ่มใช้บริการ Amazon Elasticsearch ใหม่และดูเหมือนว่าฉันไม่สามารถเข้าใจนโยบายการเข้าถึงที่ต้องการได้เพื่อให้ฉันสามารถเข้าถึงบริการจากอินสแตนซ์ 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
บทบาทที่แนบมา) และพยายามเรียกใช้การเรียก curl แบบง่ายที่จุดสิ้นสุด "https: //*.es.amazonaws.com" ฉันได้รับข้อผิดพลาดต่อไปนี้:
{"ข้อความ": "ผู้ใช้: anonymous ไม่ได้รับอนุญาตให้ดำเนินการ: es: ESHttpGet on resource: arn: aws: es: us-east-1: [ACCOUNT_ID]: domain / [ES_DOMAIN] /“}
มีใครทราบบ้างไหมว่าฉันต้องเปลี่ยนแปลงนโยบายการเข้าถึงเพื่อให้สิ่งนี้ใช้งานได้