Skip to content

Update pod-id-role.adoc #1047

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: mainline
Choose a base branch
from
Open

Conversation

antmatts
Copy link
Contributor

Adding additional guidance for how customers using Pod Identity can further restrict a Pod Identity IAM Role trust policy by clarifying what Request Tags the AssumeRole calls provide and including an example.

Issue #, if available: No issue number

Description of changes: Customers have been asking how to restrict Pod Identity IAM Roles to ensure only specific EKS cluster, namespaces, and/or ServiceAccounts can assume the role. The default Trust Policy is very open in comparison to IRSA and we don't have any good public documentation to help clarify to customers how to achieve this. Validated and tested the RequestTags and syntax to confirm they will restrict the IAM Role access further then the default Trust Policy.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Adding additional guidance for how customers using Pod Identity can further restrict  a Pod Identity IAM Role trust policy by clarifying what Request Tags the AssumeRole calls provide and including an example.
@antmatts antmatts requested a review from geoffcline as a code owner June 21, 2025 15:59
Copy link

This pull request is automatically being deployed by Amplify Hosting (learn more).

Access this pull request here: https://pr-1047.d3rijirjvbh87e.amplifyapp.com

Copy link
Contributor

@fincd-aws fincd-aws left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this!

Just a couple nits if you don't mind.

*Setting Conditions*::
You can use these tags in the _condition keys_ in the trust policy to restrict which service accounts, namespaces, and clusters can use this role. When the Pod Identity IAM Role is assumed, it sends the following Request Tags:

* `eks-cluster-arn`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a copy of this list

Its a little easier for us to only have one copy of a list, but if its relevant to the example, that's OK.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@antmatts do you think having it in the linked location is sufficient? or worth duplicating here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@geoffcline I think it's okay having it use the linked location so the list is maintained in one spot; but leave the example so users know how to use them in the Trust Policy.

Copy link
Contributor Author

@antmatts antmatts Jul 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Side question, I don't see the referenced Pod ID ABAC doc showing in the public documentation. Is this doc supposed to be live already?

For example, to restrict a Pod Identity IAM Role to a specific `ServiceAccount` and `Namespace`, the following Trust Policy with the added `Condition` policies can further restrict what can assume the role:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The double preposition is a tad awkward: For example, To restrict ...,

Writing around the second one, maybe more like:

For example, you can restrict which pods can assume the role a Pod Identity IAM Role to a specific ServiceAccount and Namespace with the following Trust Policy with the added Condition:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants