README.md

iam-policy

Creates AWS IAM managed policies and permission boundary policies.

Provisions any number of customer-managed IAM policies and permission boundary policies from caller-supplied JSON policy documents. Policy and boundary definitions are provided as maps, making it straightforward to manage a library of reusable policies in one module call.

Usage

module "iam_policies" {
  source  = "hcassc.jfrog.io/iac-terraform-modules-virtual/identity/iam-policy/aws"
  version = "0.1.0"

  policies = {
    s3_read = {
      name   = "s3-read-only"
      policy = data.aws_iam_policy_document.s3_read.json
    }
  }

  permission_boundaries = {
    developer = {
      name   = "developer-boundary"
      policy = data.aws_iam_policy_document.dev_boundary.json
    }
  }
}

Requirements

Name Version
terraform ~> 1.5
aws ~> 6.50

Providers

Name Version
aws 6.50.0

Resources

Name Type
aws_iam_policy.boundary resource
aws_iam_policy.this resource

Inputs

Name Description Type Default Required
permission_boundaries Map of permission boundary policy definitions to create map(object({ name = string description = optional(string, "") path = optional(string, "/") policy = string # JSON policy document })) {} no
policies Map of IAM managed policies to create map(object({ name = string description = optional(string, "") path = optional(string, "/") policy = string # JSON policy document })) {} no
tags Resource tags to apply to all resources map(string) {} no

Outputs

Name Description
boundary_arns Map of permission boundary logical key to ARN
boundary_ids Map of permission boundary logical key to ID
policy_arns Map of policy logical key to ARN
policy_ids Map of policy logical key to ID