c# を使用して AWS ElasticSerch サービスにアクセスする AWS ラムダを作成しようとしています。ElasticSeach にアクセスできる、ラムダ関数が使用するように構成されたロールを作成しました。しかし、許可は機能していないようです。
これが私のセットアップです:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::XXXXXXXXXXX:role/lambda-es-role"
},
"Action": "es:*",
"Resource": "arn:aws:es:us-west-2:XXXXXXXXXXXXXx:domain/es-test-es/*"
}
]
}
ラムダに接続できるかどうかを確認するための簡単なコードがあります。
public async Task<string> FunctionHandler() { HttpClient client = new HttpClient(); var response = await client.GetStringAsync("https://XXXXX.us-west-2.es.amazonaws.com/firstindex"); return response; }
これにより、403 Forbidden エラーが発生します。ロールの es.amazonaws.com との信頼関係を設定してみました。それもうまくいきませんでした。
ES クラスターを公開すると、応答が表示されます。
この方法は Lambda で機能しますか? いくつかの権限がありませんか?