Elasticsearch GCP Storage插件未反映给定的服务帐户密钥

时间:2019-04-24 09:54:01

标签: elasticsearch elasticsearch-plugin

我想按照elasticserach docs for 5.6(我们使用的版本)中所述将备份(创建elasticsearch快照)备份到Google Cloud Storage存储桶中。

我和我的同事遵循了所有步骤。我们俩都尝试了不同的项目,帐户,存储桶,并且都以相同的错误结束:

该插件使用创建了Elasticsearch运行所在的VM的服务帐户,而不是添加到密钥库并在查询中定义的密钥。

复制步骤:请遵循上面链接的手册:

  • 创建服务帐户(SA),创建存储桶。向SA授予对该存储桶的写访问权限(或admin)。下载服务帐户密钥(JSON文件)。
  • 将该JSON文件添加到elasticsearch密钥库中。重新启动elasticsearch或重新加载安全设置:(请参阅latest doc version,重新加载5.6文档中未描述)
  • 如果您按照手册中的说明发送包含“客户端”密钥的PUT请求,无论如何,客户端密钥都会被忽略,而将使用创建VM的服务帐户。
{
  "type": "gcs",
  "settings": {
    "bucket": "e2-test-elastic",
    "client": "default"
  }
}

我遇到错误。 Unable to check if bucket [name-of-my-bucket] exists 403 Forbidden, message: "some-long-number@project.gserviceaccount.com does not have storage.buckets.get access to name-of-my-bucket".

问题不在于服务帐户无权访问该存储桶。问题是 elasticsearch没有使用我先前添加到密钥库中并明确设置的服务帐户 "client": "default"(用于设置密钥名称),

如何强制Elasticsearch使用给定的服务帐户密钥?

0 个答案:

没有答案