Elasticsearch encryption with KMS disabled 이 페이지는 아직 한국어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우
언제든지 연락주시기 바랍니다. Id: cloudformation-aws-elasticsearch-domain-encryption-with-kms-disabled
Provider: AWS
Platform: CloudFormation
Severity: High
Category: Encryption
Learn More Description Elasticsearch domains must use AWS KMS-backed encryption at rest to protect indexed data, snapshots, and backups from unauthorized access and to provide customer control and auditability of encryption keys.
In CloudFormation, the AWS::Elasticsearch::Domain resource must include the EncryptionAtRestOptions property with KmsKeyId defined and not null. Resources missing EncryptionAtRestOptions or with EncryptionAtRestOptions.KmsKeyId undefined will be flagged. The KmsKeyId value should reference a customer-managed AWS KMS key ARN or a Ref to an AWS::KMS::Key, rather than relying solely on the service default key.
Secure configuration example:
MyDomain :
Type : AWS::Elasticsearch::Domain
Properties :
DomainName : my-domain
EncryptionAtRestOptions :
Enabled : true
KmsKeyId : !Ref MyKmsKey
MyKmsKey :
Type : AWS::KMS::Key
Properties :
Description : KMS key for Elasticsearch encryption
Compliant Code Examples AWSTemplateFormatVersion : "2010-09-09"
Description : Creates RDS Cluster
Resources :
ElasticsearchDomain :
Type : AWS::Elasticsearch::Domain
Properties :
DomainName : "test"
ElasticsearchClusterConfig :
DedicatedMasterEnabled : "true"
InstanceCount : "2"
ZoneAwarenessEnabled : "true"
InstanceType : "m3.medium.elasticsearch"
DedicatedMasterType : "m3.medium.elasticsearch"
DedicatedMasterCount : "3"
EncryptionAtRestOptions :
Enabled : true
KmsKeyId : "some-kms-key-id"
EBSOptions :
EBSEnabled : true
Iops : 0
VolumeSize : 20
VolumeType : "gp2"
SnapshotOptions :
AutomatedSnapshotStartHour : "0"
AccessPolicies :
Version : "2012-10-17"
Statement :
-
Effect : "Allow"
Principal :
AWS : "arn:aws:iam::123456789012:user/es-user"
Action : "es:*"
Resource : "arn:aws:es:us-east-1:846973539254:domain/test/*"
AdvancedOptions :
rest.action.multi.allow_explicit_index : "true"
Non-Compliant Code Examples AWSTemplateFormatVersion : "2010-09-09"
Description : Creates RDS Cluster
Resources :
ElasticsearchDomain :
Type : AWS::Elasticsearch::Domain
Properties :
DomainName : "test"
ElasticsearchClusterConfig :
DedicatedMasterEnabled : "true"
InstanceCount : "2"
ZoneAwarenessEnabled : "true"
InstanceType : "m3.medium.elasticsearch"
DedicatedMasterType : "m3.medium.elasticsearch"
DedicatedMasterCount : "3"
EncryptionAtRestOptions :
Enabled : true
EBSOptions :
EBSEnabled : true
Iops : 0
VolumeSize : 20
VolumeType : "gp2"
SnapshotOptions :
AutomatedSnapshotStartHour : "0"
AccessPolicies :
Version : "2012-10-17"
Statement :
-
Effect : "Allow"
Principal :
AWS : "arn:aws:iam::123456789012:user/es-user"
Action : "es:*"
Resource : "arn:aws:es:us-east-1:846973539254:domain/test/*"
AdvancedOptions :
rest.action.multi.allow_explicit_index : "true"
AWSTemplateFormatVersion : "2010-09-09"
Description : Creates RDS Cluster2
Resources :
ElasticsearchDomain :
Type : AWS::Elasticsearch::Domain
Properties :
DomainName : "test"
ElasticsearchClusterConfig :
DedicatedMasterEnabled : "true"
InstanceCount : "2"
ZoneAwarenessEnabled : "true"
InstanceType : "m3.medium.elasticsearch"
DedicatedMasterType : "m3.medium.elasticsearch"
DedicatedMasterCount : "3"
EBSOptions :
EBSEnabled : true
Iops : 0
VolumeSize : 20
VolumeType : "gp2"
SnapshotOptions :
AutomatedSnapshotStartHour : "0"
AccessPolicies :
Version : "2012-10-17"
Statement :
-
Effect : "Allow"
Principal :
AWS : "arn:aws:iam::123456789012:user/es-user"
Action : "es:*"
Resource : "arn:aws:es:us-east-1:846973539254:domain/test/*"
AdvancedOptions :
rest.action.multi.allow_explicit_index : "true"