AWS Elasticsearchを設定した後、静的IPサーバーにLogstashとKibanaプロキシをインストールし、このドメインアクセスポリシーをESに追加しました。AWS Elasticsearchサービス(静的IPとLambda ARN)に複数のドメインアクセスポリシーを追加
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "es:*",
"Resource": "arn:aws:es:ap-southeast-1:323137313233:domain/sg-es-logs/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"192.192.192.192"
]
}
}
}
]
}
今、私はラムダ関数は、AWS ES上es:ESHttpDelete
アクションを実行できるようにする必要があるので、私は、AWS ESアクセスポリシーに追加するIAM経営管理論コンソールからrelevent ARN
をコピーした後、既存の役割service-role/Elasticsearch
と機能を作成しましたこれを考えてみましょう:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam:: 323137313233:role/service-role/Elasticsearch"
]
},
"Action": [
"es:*"
],
"Resource": "arn:aws:es:ap-southeast-1:323137313233:domain/sg-es-logs/*"
}
]
}
問題がありますESスタティックIPまたはARNではドメインアクセスポリシーを選択する必要がありますが、両方ではありません。コンソールを使用せずに手動でマージしようとしたときに動作しませんでした。 AWSのドキュメントをチェックしましたが、可能かどうかは言及していませんでした。
FWIW、Amazonデベロッパーサポートは非常に良いですが、月額30ドルの費用がかかります。私は答えを知らないし、あなたが言ったように、ドキュメントは本当にあなたがしたいことを行う方法について話していません。 –
最初のポリシーには、プリンシパルフィールドが禁止されています。どうしてあなたはそれを働かせることができましたか? プリンシパルを指定する代わりに、プリンシパルARNを比較する2番目の条件を追加してみてください – JayEye