Browse the Repo

file-type-icon.circleci
file-type-icon_docs
file-type-iconcodegen
file-type-iconexamples
file-type-iconcloudtrail
file-type-iconcloudwatch-logs-metric-filters
file-type-iconcross-account-iam-roles
file-type-iconterraform
file-type-iconREADME.md
file-type-iconmain.tf
file-type-iconoutputs.tf
file-type-iconvariables.tf
file-type-iconterragrunt
file-type-iconcustom-iam-entity
file-type-iconiam-groups
file-type-iconiam-password-policy
file-type-iconsaml-iam-roles
file-type-iconsecurityhub
file-type-iconmodules
file-type-iconrfcs
file-type-icontest
file-type-icon.gitignore
file-type-icon.pre-commit-config.yaml
file-type-iconCODEOWNERS
file-type-iconCONTRIBUTING.md
file-type-iconLICENSE.txt
file-type-iconREADME.adoc
file-type-iconsetup.cfg

Browse the Repo

file-type-icon.circleci
file-type-icon_docs
file-type-iconcodegen
file-type-iconexamples
file-type-iconcloudtrail
file-type-iconcloudwatch-logs-metric-filters
file-type-iconcross-account-iam-roles
file-type-iconterraform
file-type-iconREADME.md
file-type-iconmain.tf
file-type-iconoutputs.tf
file-type-iconvariables.tf
file-type-iconterragrunt
file-type-iconcustom-iam-entity
file-type-iconiam-groups
file-type-iconiam-password-policy
file-type-iconsaml-iam-roles
file-type-iconsecurityhub
file-type-iconmodules
file-type-iconrfcs
file-type-icontest
file-type-icon.gitignore
file-type-icon.pre-commit-config.yaml
file-type-iconCODEOWNERS
file-type-iconCONTRIBUTING.md
file-type-iconLICENSE.txt
file-type-iconREADME.adoc
file-type-iconsetup.cfg
CIS Foundations Benchmark

CIS Foundations Benchmark

Modules and utilities certified by Gruntwork and CIS to comply with the CIS AWS Foundations Benchmark

Code Preview

Preview the Code

mobile file icon

README.md

down

Cross-account IAM roles example

This is an example of how to use the cross-account-iam-roles wrapper module to create IAM roles that users in other AWS accounts can assume to get access to this AWS account. The wrapper is compliant with the CIS AWS Foundations Benchmark.

Quick start

To try these templates out you must have Terraform installed:

  1. Open variables.tf, specify the environment variables mentioned at the top of the file, and fill in any variables that you wish to customize.
  2. Run terraform init to instruct Terraform to perform initialization steps.
  3. Run terraform apply to create the IAM Roles.
  4. This module will output the ARNs of these IAM roles as well as convenient sign-in URLs to assume those roles.
  5. In a separate AWS account, use the iam-groups module to give users permissions to assume the IAM Role ARNs from the previous step.
  6. Use the convenient sign-in URLs to switch roles. See the How to switch between accounts documentation for more details.

Questions? Ask away.

We're here to talk about our services, answer any questions, give advice, or just to chat.

Ready to hand off the Gruntwork?