1

내 앱에이 문제가 있습니다. 내 앱이 Heroku 서버에 배포되었으며 AWS에 배포 된 Elasticsearch를 사용하고 있습니다. 내가 Elasticsearch에 로컬로 액세스하려고하면 - aws 도메인에 - 모든 작동합니다. 나는이 메시지에 503 오류가 하지만, 난 내 Heroku가 도메인에 액세스하려고 (우편 배달부에서 모두) :사용자 : 익명으로 수행 할 수있는 권한이 없습니다. es : 리소스의 ESHttpPost :

2017-12-21T13:36:52.982331+00:00 app[web.1]: statusCode: 403, 
2017-12-21T13:36:52.982332+00:00 app[web.1]: response: '{"Message":"User: anonymous is not authorized to perform: es:ESHttpPost on resource: houngrymonkey"}', 

내 액세스 정책은 다음과 같습니다

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Principal": { 
     "AWS": "*" 
     }, 
     "Action": "es:*", 
     "Resource": "arn:aws:es:eu-central-1:[ACCOUNT_ID]:domain/[ES_DOMAIN]/*", 
     "Condition": { 
     "IpAddress": { 
      "aws:SourceIp": "[heroku static ip]" 
     } 
     } 
    } 
    ] 
} 

사람이 무엇인지 말해 줄 수 내 문제는 여기 있니? 덕분에 !

내가 ES 및 람다와 같은 문제를 경험 한
+0

다음과 같이 제안 사항을 확인해주십시오. "aws : SourceIp"에 언급 된 IP 주소가 CIDR 형식인지 여부 https://aws.amazon.com/premiumsupport/knowledge-center/anonymous-not-authorized-elasticsearch/ – sudo

답변

0

, 그것은 정확히 그렇지 않다,하지만 어쩌면 내가 람다의 문제

1)을 해결 한 사실 helpful.What됩니다 (Node.js v6.10) I 내 예외가 정확히 사건이었다 "User: arn:aws:sts::xxxx:assumed-role/yyyy/zzzzz""User: anonymous..." 변경 그 라인으로

var creds = new AWS.EnvironmentCredentials('AWS'); 
.... 
// inside "post to ES"-method 
var signer = new AWS.Signers.V4(req, 'es'); 
signer.addAuthorization(creds, new Date()); 
.... 
// post request to ES goes here 

: 다음 코드를 추가했다.

2) 도움이됩니다 다음과 같은 방법

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Principal": { 
     "AWS": "arn:aws:sts::xxxx:assumed-role/yyyy/zzzzz" (which was in exception) 
     }, 
     "Action": "es:*", 
     "Resource": "arn:aws:es:[region]:[account-id]:domain/[es-domain]/*" 
    }, 
    { 
     "Effect": "Allow", 
     "Principal": { 
     "AWS": "*" 
     }, 
     "Action": "es:*", 
     "Resource": "arn:aws:es:[region]:[account-id]:domain/[es-domain]/*" 
     "Condition": { 
     "IpAddress": { 
      "aws:SourceIp": [ 
      "1.2.3.4/32", 
      .... 
      ] 
     } 
     } 
    } 
    ] 
} 

희망에 ES 정책을 업데이트했습니다.