iam_splunk_sh.tf 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # Creates an IAM role so that splunk can trigger creation of audit reports
  2. resource "aws_iam_role" "run_audit_report_role" {
  3. provider = aws.common # COMMON SERVICES
  4. name = "run_audit_report_role"
  5. path = "/service/"
  6. assume_role_policy = jsonencode(
  7. {
  8. "Version" : "2012-10-17",
  9. "Statement" : [
  10. {
  11. "Effect" : "Allow",
  12. "Principal" : {
  13. "AWS" : "arn:${var.aws_partition}:iam::${var.c2_accounts[var.aws_partition]}:role/instance/moose-splunk-sh-instance-role"
  14. },
  15. "Action" : "sts:AssumeRole"
  16. }
  17. ]
  18. })
  19. tags = merge(local.standard_tags, var.tags)
  20. }
  21. data "aws_iam_policy_document" "run_audit_report_policy_doc" {
  22. statement {
  23. sid = ""
  24. effect = "Allow"
  25. resources = ["*"]
  26. actions = [
  27. "acm-pca:CreateCertificateAuthorityAuditReport"
  28. ]
  29. }
  30. }
  31. resource "aws_iam_policy" "run_audit_report_policy" {
  32. provider = aws.common # COMMON SERVICES
  33. name = "run_audit_report_policy"
  34. path = "/"
  35. policy = data.aws_iam_policy_document.run_audit_report_policy_doc.json
  36. }
  37. resource "aws_iam_role_policy_attachment" "run_audit_report_policy_attach" {
  38. provider = aws.common # COMMON SERVICES
  39. role = aws_iam_role.run_audit_report_role.name
  40. policy_arn = aws_iam_policy.run_audit_report_policy.arn
  41. }