AWS CloudFormation配置Elasticsearch静态加密(KMS)是否支持?
AWS Elasticsearch 静态加密的 CloudFormation 配置方案
嘿,我来帮你理清这个问题——AWS Elasticsearch(现已升级为OpenSearch Service)的静态加密功能完全可以通过CloudFormation配置,你应该是没找到对应的属性块而已。
核心配置方法
在CloudFormation的AWS::Elasticsearch::Domain资源中,专门有EncryptionAtRestOptions这个属性组用来配置静态加密,你可以通过它开启加密,同时指定自定义KMS密钥。
模板示例片段
Resources: SecureESDomain: Type: AWS::Elasticsearch::Domain Properties: DomainName: encrypted-es-cluster ElasticsearchVersion: "7.10" # 注意:仅ES 5.1及以上版本支持静态加密 EncryptionAtRestOptions: Enabled: true KmsKeyId: !Ref MyCustomKMSKey # 可填写KMS密钥的ARN或别名 # 请根据需求补充其他必要配置,比如访问策略、节点间加密等 AccessPolicies: !Sub | { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "${AWS::AccountId}" }, "Action": "es:*", "Resource": "${SecureESDomain.Arn}/*" } ] }
关键注意事项
- 权限配置要到位:确保CloudFormation执行角色拥有访问指定KMS密钥的权限,同时要在KMS密钥的政策中给ES服务主体(
es.<你的区域>.amazonaws.com)授权使用该密钥的权限。 - 版本兼容性:只有Elasticsearch 5.1及以上版本支持静态加密,避免使用过低版本。
- 新服务适配:如果使用的是升级后的OpenSearch Service,对应的资源类型是
AWS::OpenSearchService::Domain,EncryptionAtRestOptions属性的配置方式完全一致。
为啥你之前没找到?
大概率是浏览文档时没留意到这个属性块——在官方CloudFormation的AWS::Elasticsearch::Domain文档中,EncryptionAtRestOptions明确列在属性列表里,包含Enabled(加密开关)和KmsKeyId(自定义密钥)两个子属性。如果部署时出错,优先检查ES版本和KMS权限,这是最常见的问题点。
内容的提问来源于stack exchange,提问作者user1573133
相关产品推荐
相关产品推荐

