October 19, 2026

The IAM Decisions to Make Before Your EKS Migration

By EverOps

When To Fund Workload Permission Scoping, Who Should Own It, and What Evidence To Require Before Cutover

Every migration to Amazon EKS settles how each workload gets its AWS access. Teams can preserve existing permission scopes while adapting credential delivery for EKS, or use the migration to map each workload to a least-privilege role before cutover. Either approach can satisfy functional tests. Only deliberate policy scoping addresses whether each workload has more access than it needs. Engineering leadership should own that decision because it affects engineering effort, the migration schedule, and the access model the team will maintain afterward.

The stakes grow with adoption. CNCF's 2025 annual survey found that 82% of container users now run Kubernetes in production, up from 66% in 2023. For its 2024 report, the Cloud Security Alliance surveyed more than 500 industry experts and ranked misconfiguration first and IAM concerns second, in order of significance. As we discussed in our recent look at EKS migration sequencing, workload permissions belong among the foundations teams address before moving applications.

This article focuses on why excessive permissions can survive a successful functional cutover, what AWS workload-identity tooling handles, and what still requires deliberate policy design and governance. For a VP of Engineering, the practical questions are when to fund permission scoping, who should own it, and what evidence to require before approving cutover.

Why Broad Access Survives a Clean Cutover

Functional migration testing checks whether a service starts, connects, and returns the expected results. It does not necessarily check what else that service could access if it misbehaved or was compromised. A workload with a broad IAM role can pass those tests while retaining permissions it does not need. Unless teams explicitly review effective permissions and test that out-of-scope operations are denied, excess access can travel into the new cluster unnoticed.

One important credential path to review is the node role. AWS’s EKS best practices guidance warns that configuring workload identity alone does not prevent a pod from accessing the IAM role assigned to its worker node. If access to the Instance Metadata Service is not restricted, a pod may retrieve node credentials and use permissions intended for the node rather than the application. AWS also warns that containers may gain access to other pods’ role credentials on the same node; workload identity does not make containers a security boundary.

Picture an internal reporting service whose only job is to read objects under a single S3 prefix. Its workload role can be scoped to that task. But if the pod can also retrieve node credentials that allow broader S3 or EC2 access, the narrow workload policy does not define its full effective access. The service may behave correctly during functional testing while retaining a larger-than-intended blast radius. Review alternative credential paths and test representative out-of-scope operations to surface that gap before cutover.

What IRSA and Pod Identity Settle and What Stays With Leadership

AWS gives teams two mechanisms for tying an IAM role to a Kubernetes service account, including IAM Roles for Service Accounts (IRSA) and EKS Pod Identity. Both provide a workload-specific credential path, separate from the node role. Neither automatically establishes least privilege. Teams still need to define permissions that match the application’s required AWS actions and resources, and restrict access to alternative credential paths.

Several architectural calls sit above the tooling, and each one shapes cost and risk for years after the migration, including:

  • Role granularity: AWS recommends one IAM role and one dedicated service account per application, which gives clean isolation and lets teams change one service without touching another. Pod Identity also supports attribute-based access control with a shared role across service accounts, reducing role sprawl at scale and requiring disciplined tagging.
  • Mechanism by compute target: Pod Identity runs only on Linux EC2 nodes, so workloads on Fargate stay on IRSA. Organizations running both will operate two models and should plan for that deliberately.
  • Multi-cluster operations: Pod Identity uses a single IAM principal across clusters and needs no per-cluster OIDC provider, which simplifies life for teams running many clusters across accounts.
  • Guardrails: A permissions boundary on every workload role caps the maximum access any service can hold, even when an individual policy drifts later.

Discovery and architecture design offer a chance to settle these choices while teams are already reviewing workloads and deployment patterns. The decisions also determine how much ongoing IAM administration the platform team will inherit, making them budget and ownership considerations as well as security considerations.

The choices interact, too. An organization that standardizes on one role per application and Pod Identity on EC2 node groups gets a simple, auditable model, and any Fargate profiles in the design then carry a second identity pattern that someone has to maintain. However, a team using shared-role ABAC needs consistent resource tagging and controls over namespace and service-account configuration. Because service-account names are not globally unique, policy conditions should use cluster, namespace, and service-account context together. These tradeoffs belong in the architecture review, with the people who will operate the platform afterward at the table.

What the Decision Costs Before and After Cutover

Discovery and architecture design are often efficient opportunities to scope workload permissions because the relevant service review is already underway. Engineers inventory applications, read deployment manifests, and interview application owners to assess migration readiness. Identifying the AWS actions and resources each service requires extends that work. Teams can also document less frequent access needs, such as scheduled jobs and recovery procedures, while the people who understand them are involved.

After cutover, permission scoping means changing access for running production services. Narrowing a policy can break an undocumented dependency, so teams may need additional testing, staged rollouts, or change windows. That work also competes with feature delivery and platform stabilization. If an audit identifies excessive permissions, remediation may come with a compliance deadline.

The budget conversation becomes clearer when leaders compare those two paths. Pre-cutover scoping adds analysis and validation to the migration plan, with effort depending on the number of workloads, the complexity of existing policies, and how well application dependencies are understood. Deferring it creates a separate remediation effort with production change risk attached. Comparing the up-front effort with the likely cost and disruption of later remediation gives leadership a stronger basis for deciding what to fund.

The broader workload inventory can support cost planning and permission scoping. Alongside AWS access requirements, teams can collect CPU and memory profiles, scaling behavior, and interruption tolerance to inform Karpenter and Spot capacity decisions. At EverOps, our EKS Migration Readiness Assessment evaluates those opportunities against workload profiles and delivers a cost and efficiency model alongside an IAM decomposition plan. Funding a coordinated discovery effort supports both decisions without assuming the assessment automatically delivers savings or least privilege.

Who Should Own Permission Scoping

Workload roles are machine identities, and ownership of machine identities is often fragmented. A Gartner survey of 335 IAM leaders found that IAM teams own only 44% of machine identities in their organizations. An EKS migration introduces workload-identity configuration that links Kubernetes service accounts to IAM roles where AWS access is required. Without explicit ownership, decisions about those roles and their permissions can fall to whoever configures the deployment.

Permission mapping should be a shared deliverable within the migration team. Platform engineers identify service accounts, IAM roles, and credential paths, while application owners document the AWS actions and resources each service needs, including rarely used operational paths. Security and compliance teams define access requirements, review guardrails such as permission boundaries, and assess proposed exceptions. Engineering leadership funds the work, allocates time in the migration schedule, and designates who can approve exceptions that retain broader access in production.

That division of responsibility works best when it is documented before discovery begins. Each workload should have a named owner accountable for its permission requirements and role configuration, a designated security reviewer, and a clear approval path for exceptions. When workloads share an IAM role through ABAC, ownership should also cover the shared policy, its access conditions, and the tagging and configuration controls it depends on. Recording those responsibilities alongside deliverables and review dates makes permission scoping a tracked part of the migration rather than an implicit task.

The Evidence Worth Requiring Before Approving Cutover

A VP of Engineering should define what “done” means for workload access and hold the migration team accountable to that standard, while leaving detailed policy review to platform engineers, application owners, and security reviewers. Permission scoping becomes a concrete deliverable when it appears in cutover acceptance criteria alongside performance and reliability checks.

Before signing off on cutover, leadership should expect the migration team to show the following:

  • A documented map of the AWS actions and resources each workload requires, its Kubernetes service account, and its IAM role or approved shared-role ABAC configuration.
  • Workload policies aligned with that map, with any required permission boundaries applied and relevant resource-based grants reviewed.
  • Evidence that application pods cannot retrieve node credentials, except where explicitly approved, with host-networked workloads and other credential-path exceptions reviewed and recorded.
  • Test results showing that required operations succeed and representative out-of-scope operations are denied.
  • A documented list of approved exceptions, each with a rationale, an accountable owner, and a review or expiration date.

Together, these artifacts give engineering and security reviewers a shared basis for deciding whether access requirements have been met. They also distinguish implemented and tested controls from open remediation work. Where migration funding is involved, teams should confirm the program’s documentation and validation requirements separately rather than assume that this checklist establishes eligibility.

Fortunately, the EKS Migration Readiness Assessment mentioned earlier provides the discovery and planning work needed to define these criteria. IAM auditing and Karpenter/Spot evaluation begin in weeks one and two. Weeks three and four turn that analysis into a networking and IAM decomposition plan, a workload-based cost and efficiency model, and an executive readout. The migration team then implements and validates the agreed controls before cutover.

Our full assessment breakdown explains the remaining deliverables and timeline.

Scope Every Workload's Access Before Cutover Sets It in Stone

Discovery and architecture design give teams an opportunity to scope AWS access while workloads are already under review. Making that decision deliberately means funding permission mapping early, naming an accountable owner for each workload’s access configuration, and defining least privilege in cutover acceptance criteria. Document any exceptions, approve them, and assign a review date.

EverOps delivers that work through the EKS Migration Readiness Assessment, our fixed-scope, four-week engagement led by the same senior U.S.-based engineers who execute the migration, so the IAM decomposition plan carries straight into delivery. The Assessment aligns with the assessment activities described in AWS MAP and may qualify for funding support. Teams should confirm eligibility and the extent of any coverage with EverOps and their AWS account team before committing to the engagement.

If your migration is already scoped, reach out to our team to define workload access requirements, ownership, and acceptance criteria before cutover.

Frequently Asked Questions

What is the difference between IRSA and EKS Pod Identity?

IRSA uses OIDC federation to exchange a Kubernetes service account token for temporary AWS credentials, and each cluster needs its own OIDC provider. EKS Pod Identity uses an EKS-managed association and a node agent, needs no OIDC provider, and uses a single IAM principal across clusters. Pod Identity runs only on Linux EC2 nodes, so Fargate workloads use IRSA.

Why does a broad IAM role pass every EKS migration test?

Migration tests confirm that pods launch, services connect, and requests return the expected results. What a workload could access beyond its job sits outside that scope. A broad role satisfies every functional check while granting access no single service needs, and the gap appears only when something inside the cluster misbehaves.

Does enabling IRSA or Pod Identity give us least privilege automatically?

Both mechanisms give each workload its own credential path, and least privilege still depends on the policy attached to each role. Teams also need to restrict pod access to node credentials through instance metadata settings. A permissions boundary on workload roles adds a ceiling that holds even as individual policies change.

When is the best time to scope IAM during an EKS migration?

The best time is during discovery and architecture design, while you're already inventorying every workload. Scoping at that stage adds analysis to work already underway. Scoping after cutover means changing permissions on running production services, which takes longer and carries more risk of breaking undocumented paths.

Who should own IAM decomposition in an engineering organization?

Platform engineers and application owners should run the mapping, since together they see every service account and know what each service does at runtime. Security sets the target and the permissions boundary, and engineering leadership funds the work and approves exceptions. Defining that split before discovery keeps the work on schedule.

Can AWS funding programs support this work?

The EKS Migration Readiness Assessment aligns with AWS MAP Assess and may be eligible for coverage under it. Eligibility depends on each customer's situation, so teams should confirm it with EverOps and their AWS account team before the migration begins.