What you’ll learn
This workshop provides a comprehensive introduction to managing users and access controls within your Fast Foundation environment. You will learn how to create and manage users and groups. The workshop will also cover best practices for assigning inline policies, applying AWS managed policies, and managing group access across AWS accounts within the Fast Foundation multi-account architecture.Prerequisites
Before starting this workshop, ensure you have:- User management profile configured in your AWS config file
- AWS SSO signed in:
aws sso login --profile <your-project-name>-user-management - Understanding of AWS IAM concepts and group management
Getting Started
Let’s begin by locating the file where user management is accomplished inside the project. In your infrastructure repository, navigate to:inputs.hcl file contains the configuration for the user management module.
If it isn’t there, your before-hooks will generate/sync it on
terragrunt init.
Open a terminal in the main directory, and run terragrunt init.Creating an Access Group
1
Add access group definition
To create a new access group, add it to the
access_groups list of the inputs.hcl file.2
Understand the parameters
Required fields:
name– Unique identifier for the groupdescription– What the group is foraccounts_names– Which AWS accounts members can access
session_duration– How long access tokens remain valid (default: PT1H)relay_state– URL to redirect users after loginaws_managed_policies– AWS-provided policies (by ARN)inline_policies– Custom policies attached to this groupcustomer_managed_policies– ARNs of existing policies in target accounts
3
Apply changes
Save your file and apply:
Add inline policies to access groups
Optionally, you can attach an inline policy to an Access Group. An inline policy is a block of text formatted as an IAM policy that you add directly to your Access Group.1
Add inline policy definition
workload-development
and workload-production accounts.2
Apply changes
Save your file and apply:
Common Access Group Patterns
Administrative Access
Administrative Access
Full administrative rights to specific accounts:
Development Team
Development Team
Developer access with custom EKS (Elastic Kubernetes Service) permissions:
Read-Only Auditors
Read-Only Auditors
Limited, read-only access for audit and compliance teams:
Creating a User
1
Add user definition
To create a new user (and assign it to an existing access group), add it to the
users list of the inputs.hcl file.2
Apply changes
Save your file and apply:
3
Complete User Setup
After Terraform creates the user, complete setup in AWS SSO:
- Log in to the Infrastructure account
- Go to AWS Identity Center → Users
- Select the new user
- Click Send email verification link
- Click Reset password
Assign Groups to AWS applications
To grant access to a customer-managed application in AWS IAM Identity Center, you can assign groups to the application. All users who are members of that group will automatically inherit access to the application, simplifying access management and ensuring consistent permission handling. In the Infrastructure AWS account:- Go to AWS Identity Center → Applications → Customer managed
- Find and open the application
- Click Assign users and groups
- Switch to the Groups tab
- Select the access groups that need access
- Click Assign