policy-mdr_iam_admin.tf 979 B

12345678910111213141516171819202122232425262728293031323334
  1. data "aws_iam_policy_document" "iam_admin_kms" {
  2. # checkov:skip=CKV_AWS_109: see tfsec aws-iam-no-policy-wildcard ignore comment
  3. # checkov:skip=CKV_AWS_111: see tfsec aws-iam-no-policy-wildcard ignore comment
  4. # tfsec:ignore:aws-iam-no-policy-wildcards - baseline this setting first. Lockdown after baselining IAM permissions
  5. statement {
  6. sid = "AllowKMSthings"
  7. effect = "Allow"
  8. actions = [
  9. "kms:Create*",
  10. "kms:Describe*",
  11. "kms:Enable*",
  12. "kms:List*",
  13. "kms:Put*",
  14. "kms:Update*",
  15. "kms:Revoke*",
  16. "kms:Disable*",
  17. "kms:Get*",
  18. "kms:Delete*",
  19. "kms:TagResource",
  20. "kms:UntagResource",
  21. "kms:ScheduleKeyDeletion",
  22. "kms:CancelKeyDeletion"
  23. ]
  24. resources = ["*"]
  25. }
  26. }
  27. resource "aws_iam_policy" "iam_admin_kms" {
  28. name = "iam_admin_kms"
  29. path = "/user/"
  30. description = "KMS access for IAM admins"
  31. policy = data.aws_iam_policy_document.iam_admin_kms.json
  32. }