Q. Last IAM change you led that reduced risk (what + why)
In my roles at OpenText and Diehl Metering, I worked on multi-account AWS environments using landing zones, SCP guardrails, and IAM role-based access.
During an IAM audit, I identified key risks:
Long-lived IAM users with static access keys
Access keys not rotated or encrypted
Over-permissive policies (
*:*)Credential sharing across application teams
Inconsistent IAM practices across accounts
For example, we found production access keys older than 90 days still active and not rotated, which increased the risk of credential compromise.
Actions taken:
Migrated from IAM users to IAM roles using STS-based temporary credentials
Enforced role-based access for applications and engineers
Designed IAM roles aligned to job functions and service boundaries
Automated access key remediation: - Detected non-compliant keys (age, usage, encryption) - Used AWS Lambda with EventBridge and Step Functions to deactivate or delete keys
Prevented over-permissive access: - Introduced guardrails to detect
*:*patterns - Enforced policy review before deploymentRemoved credential sharing: - Shifted teams to role-based access - Reinforced shared responsibility model
Standardised IAM using Terraform modules and defined a consistent process for IAM changes
Outcome:
Eliminated long-lived credentials in production
Reduced identity-related attack surface
Prevented creation of overly permissive policies
Improved consistency of IAM practices across accounts