繁体   English   中英

无法为 Cloudformation 的 Elasticsearch 服务添加细粒度访问

[英]Unable to add Fine grain access for Elasticsearch service for Cloudformation

我正在使用Elasticsearch服务创建CloudFormation堆栈,但是它对AdvancedSecurityOptions失败了,它与aws es create-elasticsearch-domain完美配合

我的JSON模板片段如下:

...
"AdvancedOptions": {
    "rest.action.multi.allow_explicit_index": true
},
"AdvancedSecurityOptions": {
    "Enabled": true,
    "InternalUserDatabaseEnabled": false,
    "MasterUserOptions": {
    "MasterUserARN": "arn:aws:iam::1234567890:role/role_name"
    }
},
"DomainName": {
    "Ref": "ESDomainName"
}
...

我无法使此代码正常工作,任何与细粒度访问控制相关的帮助将不胜感激。

AdvancedSecurityOptions是最近添加到 Amazon Elasticsearch 服务的最新成员,作为细粒度访问控制的一部分 目前只能通过控制台、CLI 和 API 使用。

我不确定该线程是否包含过时的信息,但根据此链接上的官方 AWS 文档,应该可以使用 AdvancedSecurityOptions 进行细粒度访问控制。 它甚至在页面顶部声明它旨在用于 FGAC。

继续上面的 DNakevski@ 回答,对于 FGAC,我们需要确保 CFN 模板中的以下三个设置设置为 true,因为它们是先决条件

  • EncryptionAtRestOptions
  • NodeToNodeEncryptionOptions 和
  • HTTPS。

此外,CFN模板中FGAC的重要参数是AdvancedSecurityOptions ,需要设置为Enabled:true

AmazonES/Opendistro-for-ES 为 FGAC 提供了两种安全方式。 一种是通过使用 IAM 用户作为主用户,另一种是通过基本身份验证。

  • 如果您需要采用 IAM 方式,则将InternalUserDatabaseEnabled设置为false,并且在MasterUserOptions字段下只有参数 *MasterUserARN: "IAM User ARN"。

  • 如果您需要采用基本身份验证(用户名和密码)方法,请将InternalUserDatabaseEnabled设置为true并设置MasterUserName: "any-name"MasterUserPassword: "xxx" * 请至少有一个小写、一个大写、一个数字和一个特殊字符作为密码,否则 CFN 模板将回滚。 但是,在 CFN 控制台上的事件下很容易看到失败消息。

我有一个简单的 CFN yaml在这里做同样的事情以防万一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM