@@ -444,7 +444,7 @@ data "aws_iam_policy_document" "default" {
444
444
445
445
resources = [
446
446
var . zone_awareness_enabled ? (var. public_enabled ? join (" " , aws_elasticsearch_domain. default-public . * . arn ) : join (" " , aws_elasticsearch_domain. default . * . arn )) : (var. public_enabled ? join (" " , aws_elasticsearch_domain. single-public . * . arn ) : join (" " , aws_elasticsearch_domain. single . * . arn )),
447
- var . zone_awareness_enabled ? (var. public_enabled ? format ( " %s/* " , join (" " , aws_elasticsearch_domain. default-public . * . arn )) : format ( " %s/* " , join (" " , aws_elasticsearch_domain. default . * . arn ))) : (var. public_enabled ? format ( " %s/* " , join (" " , aws_elasticsearch_domain. single-public . * . arn )) : format ( " %s/* " , join (" " , aws_elasticsearch_domain. single . * . arn )))
447
+ format ( " %s/* " , ( var. zone_awareness_enabled ? (var. public_enabled ? join (" " , aws_elasticsearch_domain. default-public . * . arn ) : join (" " , aws_elasticsearch_domain. default . * . arn )) : (var. public_enabled ? join (" " , aws_elasticsearch_domain. single-public . * . arn ) : join (" " , aws_elasticsearch_domain. single . * . arn ) )))
448
448
]
449
449
450
450
principals {
@@ -462,12 +462,31 @@ data "aws_iam_policy_document" "default" {
462
462
}
463
463
}
464
464
465
+ data "aws_iam_policy_document" "vpc" {
466
+ count = var. enabled ? 1 : 0
467
+
468
+ statement {
469
+ actions = distinct (compact (var. iam_actions ))
470
+ effect = " Allow"
471
+
472
+ resources = [
473
+ var . zone_awareness_enabled ? (var. public_enabled ? join (" " , aws_elasticsearch_domain. default-public . * . arn ) : join (" " , aws_elasticsearch_domain. default . * . arn )) : (var. public_enabled ? join (" " , aws_elasticsearch_domain. single-public . * . arn ) : join (" " , aws_elasticsearch_domain. single . * . arn )),
474
+ format (" %s/*" , (var. zone_awareness_enabled ? (var. public_enabled ? join (" " , aws_elasticsearch_domain. default-public . * . arn ) : join (" " , aws_elasticsearch_domain. default . * . arn )) : (var. public_enabled ? join (" " , aws_elasticsearch_domain. single-public . * . arn ) : join (" " , aws_elasticsearch_domain. single . * . arn ))))
475
+ ]
476
+
477
+ principals {
478
+ type = " AWS"
479
+ identifiers = [" *" ]
480
+ }
481
+ }
482
+ }
483
+
465
484
# Module : Elasticsearch Policy
466
485
# Description : Terraform module to create Elasticsearch policy resource on AWS.
467
486
resource "aws_elasticsearch_domain_policy" "default" {
468
487
count = var. enabled ? 1 : 0
469
488
domain_name = var. domain_name != " " ? var. domain_name : module. labels . id
470
- access_policies = join (" " , data. aws_iam_policy_document . default . * . json )
489
+ access_policies = var . public_enabled ? join (" " , data. aws_iam_policy_document . default . * . json ) : join ( " " , data . aws_iam_policy_document . vpc . * . json )
471
490
}
472
491
473
492
# Module : ROUTE53
0 commit comments