Prerequisites
Before installing IAM Audit, ensure you have:Python 3.9+
Modern Python installation required
AWS Organization Access
Credentials for the management account
Audit Role
Read-only IAM role deployed in child accounts
AWS CLI Configured
Named profile for management account
If you’re using AWS Control Tower, the
AWSControlTowerExecution role already exists in all accounts and can be used immediately.Installation Steps
Clone or Download the Repository
Get the IAM Audit source code:Or download
iam_audit.py directly if distributing internally.Install Python Dependencies
Install the AWS SDK for Python:Or use the requirements file:This installs
boto3>=1.26.0, which is the only dependency.AWS Credentials Setup
Configure AWS CLI Profile
Create a named profile for your AWS Organization management account:Enter your management account credentials when prompted.
Permission Requirements
Management Account Role
Your management account credentials need:YOUR-AUDIT-ROLE-NAME with the role name you’ll use in child accounts (e.g., AWSControlTowerExecution or IAMAuditRole).
Child Account Role
The audit role in each child account needs these read-only permissions:Verify Installation
Test that IAM Audit is ready to run:Next Steps
Quick Start
Run your first organization-wide IAM audit in 5 minutes
