File tree Expand file tree Collapse file tree 4 files changed +18
-6
lines changed Expand file tree Collapse file tree 4 files changed +18
-6
lines changed Original file line number Diff line number Diff line change @@ -50,6 +50,8 @@ module "ecs" {
50
50
cpu = 1024
51
51
memory = 4096
52
52
53
+ explicit_task_exec_secret_arns = true
54
+
53
55
# Container definition(s)
54
56
container_definitions = {
55
57
Original file line number Diff line number Diff line change @@ -134,10 +134,11 @@ module "service" {
134
134
task_exec_iam_role_max_session_duration = try (each. value . task_exec_iam_role_max_session_duration , null )
135
135
136
136
# Task execution IAM role policy
137
- create_task_exec_policy = try (each. value . create_task_exec_policy , true )
138
- task_exec_ssm_param_arns = lookup (each. value , " task_exec_ssm_param_arns" , [" arn:aws:ssm:*:*:parameter/*" ])
139
- task_exec_secret_arns = lookup (each. value , " task_exec_secret_arns" , [" arn:aws:secretsmanager:*:*:secret:*" ])
140
- task_exec_iam_statements = lookup (each. value , " task_exec_iam_statements" , {})
137
+ create_task_exec_policy = try (each. value . create_task_exec_policy , true )
138
+ task_exec_ssm_param_arns = lookup (each. value , " task_exec_ssm_param_arns" , [" arn:aws:ssm:*:*:parameter/*" ])
139
+ task_exec_secret_arns = lookup (each. value , " task_exec_secret_arns" , [" arn:aws:secretsmanager:*:*:secret:*" ])
140
+ explicit_task_exec_secret_arns = lookup (each. value , " explicit_task_exec_secret_arns" , false )
141
+ task_exec_iam_statements = lookup (each. value , " task_exec_iam_statements" , {})
141
142
142
143
# Tasks - IAM role
143
144
create_tasks_iam_role = try (each. value . create_tasks_iam_role , true )
Original file line number Diff line number Diff line change @@ -26,6 +26,9 @@ locals {
26
26
}
27
27
28
28
create_service = var. create && var. create_service
29
+
30
+ container_definitions_secrets = flatten ([for k , v in module . container_definition : v . container_definition . secrets ])
31
+ task_exec_secret_arns = var. explicit_task_exec_secret_arns ? [for v in local . container_definitions_secrets : v . valueFrom ] : var. task_exec_secret_arns
29
32
}
30
33
31
34
resource "aws_ecs_service" "this" {
@@ -836,12 +839,12 @@ data "aws_iam_policy_document" "task_exec" {
836
839
}
837
840
838
841
dynamic "statement" {
839
- for_each = length (var . task_exec_secret_arns ) > 0 ? [1 ] : []
842
+ for_each = length (local . task_exec_secret_arns ) > 0 ? [1 ] : []
840
843
841
844
content {
842
845
sid = " GetSecrets"
843
846
actions = [" secretsmanager:GetSecretValue" ]
844
- resources = var . task_exec_secret_arns
847
+ resources = local . task_exec_secret_arns
845
848
}
846
849
}
847
850
Original file line number Diff line number Diff line change @@ -462,6 +462,12 @@ variable "task_exec_secret_arns" {
462
462
default = [" arn:aws:secretsmanager:*:*:secret:*" ]
463
463
}
464
464
465
+ variable "explicit_task_exec_secret_arns" {
466
+ description = " Change the task_exec_secret_arns behavior to get the list of ARNs from the secrets defined in containers_definitions"
467
+ type = bool
468
+ default = false
469
+ }
470
+
465
471
variable "task_exec_iam_statements" {
466
472
description = " A map of IAM policy [statements](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document#statement) for custom permission usage"
467
473
type = any
You can’t perform that action at this time.
0 commit comments