Browse the Repo

file-type-icon.circleci
file-type-icon_docs
file-type-iconcodegen
file-type-iconexamples
file-type-iconmodules
file-type-iconaws-securityhub
file-type-iconcloudtrail
file-type-iconcloudwatch-logs-metric-filters
file-type-iconcross-account-iam-roles
file-type-iconcustom-iam-entity
file-type-iconiam-groups
file-type-iconimages
file-type-iconREADME.adoc
file-type-iconcore-concepts.md
file-type-iconmain.tf
file-type-iconoutputs.tf
file-type-iconvariables.tf
file-type-iconiam-password-policy
file-type-iconsaml-iam-roles
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-iconmodules
file-type-iconaws-securityhub
file-type-iconcloudtrail
file-type-iconcloudwatch-logs-metric-filters
file-type-iconcross-account-iam-roles
file-type-iconcustom-iam-entity
file-type-iconiam-groups
file-type-iconimages
file-type-iconREADME.adoc
file-type-iconcore-concepts.md
file-type-iconmain.tf
file-type-iconoutputs.tf
file-type-iconvariables.tf
file-type-iconiam-password-policy
file-type-iconsaml-iam-roles
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

core-concepts.md

down

IAM Core Concepts

Managing AWS without administrative access

CIS Foundations Recommendation 1.22 disallows the use of IAM administrative privileges. In practice, administrative privileges come in three forms:

  1. The root user (ower of the AWS account)

  2. Any user, group, or role with the AdministratorAccess AWS Managed Policy attached.

  3. Any user, group, or role with a custom Managed Policy resembling the following attached:

     {
     	"Statement": [
     		{
     			"Effect": "Allow",
     			"Action": "*:*",
     			"Resource": "*"
     		}
     	]
     }
    

However, you need some administrative permissions to manage AWS, for example to create users, grant and revoke permissions, enable or disable services and regions, and other activities. How can the account be administered without administrative permissions?

The solution is to create a policy that allows full IAM privileges (e.g. iam:*) on all resources. This grants effective administrator access without explicitly allowing all actions. Any user, group, or role with such a policy attached can grant any additional permissions to themselves or other IAM entities as necessary.

This module creates an IAM admin group with exactly such permissions. Add any IAM users that should be granted "effective administrator" permissions to this group.

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?