1

我正在尝试允许 beanstalk 应用程序访问我们的 elasticsearch 服务,但是我在您的文档中找到的每种方法都无法授予对这些应用程序的访问权限。到目前为止,在启用访问方面对我有用的唯一方法是将集群向整个世界开放,并启用特定的 IP(鉴于 Elastic beanstalk 的动态特性,这显然不是一种选择)。我尝试过的 - 创建从“允许或拒绝访问一个或多个账户...”到我们 AWS 账户的根目录的策略。创建从“允许或拒绝访问一个或多个帐户...”到分配给 beanstalk EC2 服务器的 IAM 角色的策略 将策略附加到 beanstalk IAM 角色,允许他在 elasticsearch 域上具有 ES:* 权限。

为什么所有这些方法都失败了?该文档似乎表明这些方法中的每一个都应该有效,那么我在这里缺少什么?

4

2 回答 2

2

您可以使用elasticsearch-net-aws,它会自动对发送到 Amazon Elastic Search 的请求进行签名。适用于 Elasticsearch.Net 和 NEST

https://github.com/bcuff/elasticsearch-net-aws

于 2017-04-02T20:22:07.000 回答
0

结果证明,该解决方案是以授权 AWS 用户的身份发送签名请求。以下链接中的更多信息 -

https://docs.aws.amazon.com/aws-sdk-php/v3/guide/service/es-data-plane.html

http://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html

http://docs.aws.amazon.com/general/latest/gr/signature-version-4.html

于 2016-05-25T12:10:19.117 回答