Skip to content

LaunchRack/terraform-aws-iam-group

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LaunchRack logo

We are huge followers of the Cloud-Native DevOps movement and are firm believers in the power of treating Infrastructure as Code using immutable architecture & GitOps style deployments. We adhere to a strict automation mindset (automation first, as opposed to manual first with automation later) and strive to provide the best technical acumen that will enable organizations improve Cloud Security Posture, Release More Often, Scale with Demand, Brace Agility, Operate within Budget and focus on value derived by the time saved on the execution of a task rather than having to spend cycles on design & tool selection.

Our consistent and automated processes can help you improve:

✔ Better utilization of cloud resources by 40%
✔ Self-service infrastructure provisioning by 35%
Security and governance by 30%
✔ Return on value/investment by 20%
✔ Team management & governance by 15%
✔ Earlier detection of bugs by 32%
✔ Response to issues/events by 23%

Chat more? Email | Contact us

linkedin logo twitter logo facebook logo


Terraform AWS IAM group

GitHub license GitHub release (latest by date)

Creates IAM group, IAM group policy, IAM self attach policy and provides IAM group membership. All of these are optional resources.

Attribution: This module is a slightly improvised version of the community repository

Features

  • Creates IAM group
  • Creates IAM custom group policy
  • Creates IAM self attach policy
  • Provides IAM group membership

Usage

module "aws_iam_group" {
  source = "git::https://github.com/LaunchRack/terraform-aws-iam-group.git"

  name   = "CognitoReadOnly"

  group_users = [
    alice,
    bob,
  ]

  custom_group_policy_arns = [
    "arn:aws:iam::aws:policy/AmazonCognitoReadOnly",
  ]

  tags        = {
    BusinessUnit = "tools"
    Application  = "cicd"
  }
}

Setup Instructions

terraform init

terraform plan # use -var-file=terraform.tfvars if you plan to use a different file for the value overrides. See examples folder

terraform apply -auto-approve # use -var-file=terraform.tfvars if you plan to use a different file for the value overrides. See examples folder

Note: The terraform.tfvars file will need to be created in the root directory with value overrides

Requirements

Name Version
terraform ~> 1.0
aws ~> 4.0
local ~> 2.0
null ~> 3.0

Providers

Name Version
aws ~> 4.0

Resources

Name Type
aws_iam_group.this resource
aws_iam_group_membership.this resource
aws_iam_group_policy_attachment.custom resource
aws_iam_group_policy_attachment.custom_arns resource
aws_iam_group_policy_attachment.iam_self_management resource
aws_iam_policy.custom resource
aws_iam_policy.iam_self_management resource
aws_caller_identity.current data source
aws_iam_policy_document.iam_self_management data source

Inputs

Name Description Type Default Required
attach_iam_self_management_policy Whether to attach IAM policy which allows IAM users to manage their credentials and MFA. bool true no
aws_account_id AWS account id to use inside IAM policies. If empty, current AWS account ID will be used. string "" no
create_group Whether to create IAM group. bool true no
custom_group_policies List of maps of inline IAM policies to attach to IAM group. Should have name and policy keys in each element. list(map(string)) [] no
custom_group_policy_arns List of IAM policies ARNs to attach to IAM group. list(string) [] no
group_users List of IAM users to have in an IAM group which can assume the role. list(string) [] no
iam_self_management_policy_name_prefix Name prefix for IAM policy to create with IAM self-management permissions. string "IAMSelfManagement-" no
name Name of IAM group. string "" yes
tags A map of tags for the resources. map(string) {} no

Outputs

Name Description
aws_account_id IAM AWS account id.
this_group_name IAM group name.
this_group_users List of IAM users in IAM group.

Authors

This module is maintained by our awsome platform engineering team. Here are our contributors

License

See LICENSE for full details

Trademarks

All other trademarks referenced herein are the property of their respective owners