Skip to main content

Prerequisites

Before managing users and groups, make sure of properly setting up user management profile.
1

Install Required Software

Described in Getting Started section.
2

Set up AWS SSO locally

As described in Set up AWS SSO locally
3

Clone and Access the Repository

Clone your organization’s Infrastructure as Code (IaC) repository:
Navigate to the user management directory:
Initialize the module:

Core Concepts

Users

Users represent individuals who need access to AWS resources and applications. Each user:
  • Requires MFA (Multi-Factor Authentication) – Enforced on the first login for security
  • Has unique credentials – Separate from traditional AWS IAM (Identity and Access Management) users
  • Belongs to groups – Access is granted and managed through group membership
  • Can access multiple accounts – Single sign-on across all assigned AWS accounts

Permission Sets

Permission sets are reusable policy definitions that specify what permissions a user gets. They are defined once and can be referenced by any number of groups:
  • AWS Managed Policies – Pre-built policies maintained by AWS (e.g., AdministratorAccess)
  • Inline Policies – Custom policies with granular permissions
  • Session Duration – How long temporary access tokens remain valid

Access Groups

Access groups define who can access what. Each group declares a list of assignments that map a permission set to a list of accounts. This N:M model means:
  • One group can have different permission sets on different accounts (e.g., PowerUser on dev, ReadOnly on prod)
  • One permission set can be reused by many groups
  • Applications – Integrated applications can be attached manually

Policy Types

Access groups rely on policies to define permissions. Here are the main types:
Pre-built policies maintained by AWS. Common examples:
  • AdministratorAccess – Full administrative permissions
  • PowerUserAccess – All permissions except IAM and billing
  • ReadOnlyAccess – View-only permissions across services
  • ViewOnlyAccess – Basic read permissions
Custom policies created and managed within your access group:
  • Defined inside the access group itself
  • Applied automatically to all accounts assigned to the group
  • Useful for granular permissions
They must already exist in target accounts:
  • Not managed directly by the access group
  • Must be created in each target account before being referenced

Understanding the Users&Groups Parameter

Always test changes in a development environment before applying to production accounts.
Important: User management changes affect access across your entire AWS organization. Always coordinate with your team and follow your organization’s change management process.
Users and groups configurations are managed through Terragrunt parameters, in an inputs.hcl file. The configuration has three main sections: