shiichan

Say Goodbye to Tedious IAM Role Setup — AWS Role Manager Has Arrived!

Hey there, it's Shii! Today I've got a piece of AWS news that's low-key but genuinely satisfying for engineers. That IAM role setup step you always have to pause for right when you're trying to spin something up? It just got a lot easier.

AWS What's New aws.amazon.com

What was announced?

AWS What's New reports that a new IAM feature called IAM role manager is now generally available (GA).

Role manager automatically creates and attaches the IAM roles you need when you build in a supported AWS service console. If a role that already matches what's needed exists in your account, it reuses that instead of creating a new one. The roles come from AWS managed role templates, which already have the trust policy and permissions worked out.

At launch, it supports 6 service consoles, including AWS Lambda and Amazon EventBridge. It's available in all AWS Regions except the AWS GovCloud (US) Regions and the China Regions.

The story so far

Before this, getting started with an AWS service often meant pausing to deal with IAM first. Any service that acts on your behalf needs an IAM role, so you'd write a trust policy, choose the permissions the workload needs, and attach it, repeating that whole sequence every time a new role was needed.

Doing that repetitive setup by hand for common patterns quietly ate up time, and for anyone not already comfortable with IAM, it became a hurdle standing between them and actually trying out a service.

What changes

With role manager enabled, the role gets provisioned automatically as part of the same flow you use to create your resource, so you can get a service running in minutes even without prior IAM experience.

Take creating an Amazon EventBridge rule, for example. Before, you'd have to stop, create a role that lets EventBridge invoke your target (say, an Amazon SQS queue or an Amazon SNS topic), and only then go back to finish the rule. With role manager on, you just define the rule and its target and hit Create, and the role gets provisioned and attached behind the scenes; you never even open the role-creation screen.

It also covers tasks like AWS Lambda, where AWS can't know in advance what permissions your code will need. In that case, role manager attaches the AWS managed policy PowerUserAccess to the execution role. By design, that policy excludes permissions to manage IAM, AWS Organizations, or account settings, so there's still a baseline guardrail in place.

Dive Deep

Let's go a bit deeper into how it actually works.

Behind the scenes, a new IAM API called AcquireRole finds the matching template, then either creates a role from it or reuses an existing one, and hands it back to the service. That's also why an account doesn't end up accumulating duplicate roles for the same task.

Creating a role doesn't rely on some special role-manager permission, it uses your own IAM permissions. To create a new role, you need permission to create and attach roles. To reuse an existing one, AcquireRole only needs iam:GetRole and iam:GetRoleTemplateVersion. If either permission is missing, the console tells you exactly which one you need.

Every role that role manager creates stays traceable: calling GetRole or ListRoles returns which template it came from, and AWS CloudTrail logs each role's creation. So you can always tell which roles in your account were created by role manager.

Turning it on or off is simple: open the IAM console, go to Account settings, and choose Enable in the role manager section. For organizations, administrators can use a service control policy (SCP) to control whether member accounts can enable or use role manager at all.

Once your workload matures and you want to tighten permissions, you can just disable role manager. That doesn't disrupt anything already running, existing roles stay exactly as they are. And for 90 days after disabling, you get IAM Access Analyzer's unused access analysis at no extra cost, which looks at how each role has actually been used and recommends a least-privilege policy. If you only want to narrow a single role rather than the whole account, editing that role removes it from role manager's control and turns it into an ordinary customer-managed role. AWS's own recommendation is to leave role manager on in sandbox or development accounts, then disable it and refine the roles it created before going to production.

Wrap-up

  • IAM role manager is now GA, automatically creating and attaching the IAM roles you need when you build in a supported service console
  • It launches with support for 6 service consoles, including AWS Lambda and Amazon EventBridge
  • It's available in every AWS Region except the AWS GovCloud (US) Regions and the China Regions
  • The roles it creates are ordinary, fully visible IAM roles, the AcquireRole API, template references, and CloudTrail logging keep everything traceable
  • For 90 days after you disable it, IAM Access Analyzer's unused access analysis is free, making it easier to trim roles down to least privilege

If you're someone who always gets stuck on IAM setup, or you just want to spin up a prototype fast, this one's worth a look!