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" {
5050 cpu = 1024
5151 memory = 4096
5252
53+ explicit_task_exec_secret_arns = true
54+
5355 # Container definition(s)
5456 container_definitions = {
5557
Original file line number Diff line number Diff line change @@ -134,10 +134,11 @@ module "service" {
134134 task_exec_iam_role_max_session_duration = try (each. value . task_exec_iam_role_max_session_duration , null )
135135
136136 # 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" , {})
141142
142143 # Tasks - IAM role
143144 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 {
2626 }
2727
2828 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
2932}
3033
3134resource "aws_ecs_service" "this" {
@@ -836,12 +839,12 @@ data "aws_iam_policy_document" "task_exec" {
836839 }
837840
838841 dynamic "statement" {
839- for_each = length (var . task_exec_secret_arns ) > 0 ? [1 ] : []
842+ for_each = length (local . task_exec_secret_arns ) > 0 ? [1 ] : []
840843
841844 content {
842845 sid = " GetSecrets"
843846 actions = [" secretsmanager:GetSecretValue" ]
844- resources = var . task_exec_secret_arns
847+ resources = local . task_exec_secret_arns
845848 }
846849 }
847850
Original file line number Diff line number Diff line change @@ -462,6 +462,12 @@ variable "task_exec_secret_arns" {
462462 default = [" arn:aws:secretsmanager:*:*:secret:*" ]
463463}
464464
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+
465471variable "task_exec_iam_statements" {
466472 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"
467473 type = any
You can’t perform that action at this time.
0 commit comments