【问题标题】:Have issues access to ES with AWS request signing使用 AWS 请求签名访问 ES 有问题
【发布时间】:2017-01-18 17:24:36
【问题描述】:

我正在构建一个 golang RESTful API 并尝试使用签名请求访问 ES。 我已关注 AWS 上的文档,我正在使用的 Golang AWS 弹性搜索客户端包的文档(olivere/elastic)

以下 golang 代码用于创建新客户端

signer := v4.NewSigner(credentials.NewStaticCredentials("IAM_USER_ID", "IAM_USER_SECRET", ""))
awsClient, err := aws_signing_client.New(signer, nil, "es", "us-east-1")
if err != nil {
    return nil, err
}
return elastic.NewClient(
    elastic.SetURL("https://my-aws-endpoint.us-east-1.es.amazonaws.com"),
    elastic.SetScheme("https"),
    elastic.SetHttpClient(awsClient),
    elastic.SetSniff(false), // See note below
)

在 ElasticSearch AWS 控制台中,我修改了如下访问策略:

似乎我能够发现 ES 节点,但是当我尝试执行查询时,ES 返回 http 状态 403 - 没有权限。

我也尝试向 IAM 用户授予 AmazonESFullAccess 策略,但似乎没有任何效果。

【问题讨论】:

    标签: amazon-web-services elasticsearch go amazon-elasticsearch


    【解决方案1】:

    签名库中似乎存在问题。 以下拉取请求修复了它。 (尚未合并) https://github.com/sha1sum/aws_signing_client/pull/3

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-19
      • 2021-10-13
      • 2023-03-24
      • 1970-01-01
      • 2023-03-09
      • 2017-07-13
      • 2011-10-09
      相关资源
      最近更新 更多