From f717fdca9b8f2eb5e39f299c95803d122bddd31d Mon Sep 17 00:00:00 2001 From: Oleg Tsybizov Date: Thu, 29 Jan 2026 23:00:41 -0600 Subject: [PATCH] fix: added ECS task role for SSM access in mason-handler --- ops/mainnet/mason/main.tf | 1 + ops/modules/iam/main.tf | 88 ++++++++++++++++++++++++++++++++ ops/modules/iam/outputs.tf | 5 ++ ops/modules/service/main.tf | 1 + ops/modules/service/variables.tf | 6 +++ 5 files changed, 101 insertions(+) diff --git a/ops/mainnet/mason/main.tf b/ops/mainnet/mason/main.tf index 2b4337eb..17211e72 100644 --- a/ops/mainnet/mason/main.tf +++ b/ops/mainnet/mason/main.tf @@ -419,6 +419,7 @@ module "mark_invoice_handler" { dd_api_key = local.mark_config.dd_api_key vpc_flow_logs_role_arn = module.iam.vpc_flow_logs_role_arn execution_role_arn = data.aws_iam_role.ecr_admin_role.arn + task_role_arn = module.iam.ecs_task_role_arn cluster_id = module.ecs.ecs_cluster_id vpc_id = module.network.vpc_id lb_subnets = module.network.public_subnets diff --git a/ops/modules/iam/main.tf b/ops/modules/iam/main.tf index 32c5b14d..04e41ede 100644 --- a/ops/modules/iam/main.tf +++ b/ops/modules/iam/main.tf @@ -33,6 +33,8 @@ data "aws_iam_role" "vpc_flow_logs" { name = "vpc_flow_logs_role" } +data "aws_region" "current" {} + resource "aws_iam_role_policy" "lambda_ssm_policy" { name = "mark-lambda-ssm-policy-${var.environment}-${var.stage}" role = aws_iam_role.lambda_role.id @@ -79,3 +81,89 @@ resource "aws_iam_role_policy" "lambda_s3_policy" { } EOF } + +# ECS Task Role - for application-level AWS API calls (SSM, S3, etc.) +resource "aws_iam_role" "ecs_task_role" { + name = "mark-ecs-task-role-${var.environment}-${var.stage}" + + assume_role_policy = <