0

我正在研究 ELK Stack 和 AWS Gateway。

我创建了 AWS ElasticSearch 并设置了这个访问策略: { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws :iam::[AWS 账户 ID]:root" }, "Action": "es:*", "Resource": "arn:aws:es:sa-east-1:[AWS 账户 ID]:domain/camarar -elk/*" } ] }

PS:我也尝试使用此策略:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn: aws:iam::[AWS 账户 ID]:user/[User]" }, "Action": "es:*", "Resource": "arn:aws:es:sa-east-1:[AWS 账户 ID ]:域/camarar-elk/*" } ] }

之后,我使用 http 代理和 GET 方法创建了一个 AWS API Gateway,将所有请求路由到 Kibana url。在这个网关中,我使用一个 AWS IAM 来访问 Kibana。

最后,我使用此策略“AmazonESFullAccess”创建了一个 AWS IAM 用户。

我一直收到相同的错误:{“消息”:“用户:匿名无权执行:es:ESHttpGet on resource:camarar-elk”}

有人能帮我解决这个问题吗?

4

2 回答 2

1

我已经在使用带有此操作的策略(“Action”:“es:*”),因为我在问题中写错了。

我在 Elasticsearch 中的实际政策:

{ “版本”:“2012-10-17”,“声明”:[ { “效果”:“允许”,“主体”:{ “AWS”:“arn:aws:iam::[AWS 账户 ID]: root" }, "Action": "es:*", "Resource": "arn:aws:es:sa-east-1:[AWS account ID]:domain/camarar-elk/*" } ] }

于 2016-08-17T15:02:56.507 回答
0

“行动”:“es:”,

我相信这是你的问题。您必须指定类似 es:ESHttpGet 之类的操作,或者使用 es:* 允许所有操作

于 2016-08-15T04:40:09.063 回答