flowlogs.tf 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # Flow logs need to be created per VPC, but we need a role
  2. resource "aws_cloudwatch_log_group" "vpc_flow_logs" {
  3. name = "vpc_flow_logs"
  4. retention_in_days = 7
  5. kms_key_id = var.cloudtrail_key_arn
  6. tags = merge(var.standard_tags, var.tags)
  7. }
  8. resource "aws_iam_role" "flowlogs" {
  9. name = "flowlogs"
  10. path = "/aws_services/"
  11. tags = merge(var.standard_tags, var.tags)
  12. assume_role_policy = <<EOF
  13. {
  14. "Version": "2012-10-17",
  15. "Statement": [
  16. {
  17. "Sid": "",
  18. "Effect": "Allow",
  19. "Principal": {
  20. "Service": "vpc-flow-logs.amazonaws.com"
  21. },
  22. "Action": "sts:AssumeRole"
  23. }
  24. ]
  25. }
  26. EOF
  27. }
  28. resource "aws_iam_role_policy" "flowlogs" {
  29. name = "flowlogs"
  30. role = aws_iam_role.flowlogs.id
  31. policy = <<EOF
  32. {
  33. "Version": "2012-10-17",
  34. "Statement": [
  35. {
  36. "Action": [
  37. "logs:CreateLogGroup",
  38. "logs:CreateLogStream",
  39. "logs:PutLogEvents",
  40. "logs:DescribeLogGroups",
  41. "logs:DescribeLogStreams"
  42. ],
  43. "Effect": "Allow",
  44. "Resource": "*"
  45. }
  46. ]
  47. }
  48. EOF
  49. }