data "aws_iam_policy_document" "lambda_assume" { statement { effect = "Allow" actions = ["sts:AssumeRole"] principals { type = "Service" identifiers = ["lambda.amazonaws.com"] } } } resource "aws_iam_role" "sla_monitor" { name = "front-sla-monitor" path = "/tf-managed/" assume_role_policy = data.aws_iam_policy_document.lambda_assume.json permissions_boundary = local.boundary_arn } resource "aws_iam_role_policy_attachment" "sla_monitor_basic" { role = aws_iam_role.sla_monitor.name policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" } resource "aws_iam_role_policy" "sla_monitor_secrets" { name = "secretsmanager-get" role = aws_iam_role.sla_monitor.id policy = local.sla_monitor_secrets_policy_json } resource "aws_iam_role_policy" "sla_monitor_ddb" { name = "dynamodb-crud" role = aws_iam_role.sla_monitor.id policy = local.sla_monitor_ddb_policy_json } resource "aws_iam_role" "user_sync" { name = "front-user-sync" path = "/tf-managed/" assume_role_policy = data.aws_iam_policy_document.lambda_assume.json permissions_boundary = local.boundary_arn } resource "aws_iam_role_policy_attachment" "user_sync_basic" { role = aws_iam_role.user_sync.name policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole" } resource "aws_iam_role_policy" "user_sync_secrets" { name = "secretsmanager-get" role = aws_iam_role.user_sync.id policy = local.user_sync_secrets_policy_json }