|
@@ -32,6 +32,13 @@ resource "aws_lambda_function" "sqs_fair_queue" {
|
|
|
"HASH_JSONPATH" = var.hash_jsonpath
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ # tfsec recommends tracing as a best practice
|
|
|
+ tracing_config {
|
|
|
+ mode = "Active"
|
|
|
+ }
|
|
|
+
|
|
|
+ tags = var.tags
|
|
|
}
|
|
|
|
|
|
resource "aws_lambda_permission" "sqs_fair_queue" {
|
|
@@ -47,7 +54,8 @@ data "aws_iam_policy_document" "sqs_fair_queue" {
|
|
|
sid = "SQSIngest"
|
|
|
effect = "Allow"
|
|
|
resources = [var.source_sqs_arn]
|
|
|
- actions = ["sqs:*"] # TODO: Nail down
|
|
|
+ # tfsec:ignore:aws-iam-no-policy-wildcards Wildcards are fine and useful
|
|
|
+ actions = ["sqs:*"] # TODO: Nail down
|
|
|
# Probably:
|
|
|
# "sqs:ReceiveMessage",
|
|
|
# "sqs:SendMessage",
|
|
@@ -59,7 +67,8 @@ data "aws_iam_policy_document" "sqs_fair_queue" {
|
|
|
sid = "SQSPut"
|
|
|
effect = "Allow"
|
|
|
resources = tolist(aws_sqs_queue.queue[*].arn)
|
|
|
- actions = ["sqs:*"] # TODO: Nail down
|
|
|
+ # tfsec:ignore:aws-iam-no-policy-wildcards Wildcards are fine and useful
|
|
|
+ actions = ["sqs:*"] # TODO: Nail down
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -68,6 +77,7 @@ resource "aws_iam_policy" "sqs_fair_queue" {
|
|
|
path = "/sqs_fair_queue/"
|
|
|
description = "SQS Fair Queueing Lambda Policy"
|
|
|
policy = data.aws_iam_policy_document.sqs_fair_queue.json
|
|
|
+ tags = var.tags
|
|
|
}
|
|
|
|
|
|
data "aws_iam_policy_document" "lambda_trust" {
|
|
@@ -87,6 +97,7 @@ resource "aws_iam_role" "sqs_fair_queue" {
|
|
|
name = "sqs_fair_queue_${var.sqs_prefix}"
|
|
|
path = "/sqs_fair_queue/"
|
|
|
assume_role_policy = data.aws_iam_policy_document.lambda_trust.json
|
|
|
+ tags = var.tags
|
|
|
}
|
|
|
|
|
|
resource "aws_iam_role_policy_attachment" "sqs_fair_queue" {
|
|
@@ -98,5 +109,3 @@ resource "aws_iam_role_policy_attachment" "aws_managed_lambda" {
|
|
|
role = aws_iam_role.sqs_fair_queue.name
|
|
|
policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
|
|
|
}
|
|
|
-
|
|
|
-
|