-
Notifications
You must be signed in to change notification settings - Fork 423
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
Add SSO Role suffix support #416
Conversation
Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA. It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
|
Welcome @logandavies181! |
Hi @logandavies181. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
I signed it |
/check-cla |
@logandavies181 is there any way that I can assist you with e.g. testing? I'd prefer that above writing a cronjob that would sync the list of roles to the CRD's every few minutes. |
@moretea Thanks for the offer. I'm all good RE: assistance and I've got plenty of free time to complete this, but I'm waiting for a reviewer to indicate that this contribution would actually be considered before putting the effort into implementing the last pieces. Just giving a bit more grace period before I start making noise as it's just been the Christmas/New Year period |
/assign @jaypipes |
@jaypipes @nckturner would be really nice to get some feedback on this, please. I believe it would solve aws/containers-roadmap#474 which has a lot of interest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@logandavies181 thank you very much for this excellent contribution! I like the idea (pun intended) but have a number of suggestions inline for you to ponder.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @logandavies181 thanks for your latest push! Getting closer but I still think we can improve the simplicity and readability of the solution. Please check my inline comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@logandavies181 you did a great job on this, thank you for hanging in there through the revisions.
There's one remaining typo/copypasta to address and then I'd like to discuss this patch with provider-aws at the Friday SIG meeting.
Note that we (AWS) need to do an internal review for security purposes of this new functionality. While I like the feature very much (pun intended), I do think that it would be wise to gate this feature behind an opt-in boolean feature flag in the webhook configuration so that folks who want to use the feature can enable it by setting something like an enableARNLikeMatch
option in their config file. I think doing that, you will find less resistance to the feature and allow a security review to proceed apace.
/cc @nckturner @jqmichael @wongma7
Best,
-jay
This reverts commit 55005e1.
remove dependency from PR #416
Revert "Add SSO Role suffix support (#416)"
Hey, any update on when we could use this on EKS ? |
Am I correct in reading that this was reverted by #509 ? Was there discussion about this somewhere? And/or a plan going forward? |
What are the release plans for this change at this point? |
Hey @nnmin-aws , could you elaborate more on why this has been reverted? Our organisation is also experiencing this issue and are looking forward for release of this PR. |
@justinas-b Looks to have been removed due #504 (reasons why are explain there) |
Well, that's a bummer. But I can see how even undocumented usage would still preferably not be broken by a new feature. It does seem to be in need of some pushing/tickling to get this back on track considering not much happened after the bug fix (unless it's waiting for that SSO e2e test mentioned in #506 ?). |
It looked like a bug, so I squashed it ¯\_(ツ)_/¯. There was nothing to indicate that it wasn't a bug or that it was expected. Seeing as there has been this interest, I'll have a go at the E2E test - maybe they'll even review it |
Looked like a bug to me as well 🤷 Oh well... |
Apology for late reply, was out the last a few days. The background: (1) #416 was merged into master but it was not picked in any official release. (2) in v0.6.0 #416 was picked but then issue #504 was found. Hence it was removed (3) author contributed a fix #506. But there is a new SSO feature design under review. The new design will replace #416. Hence #416 is not re-picked. We appreciate your interest in SSO feature and can organize some discussion with the new SSO design in kubernetes slack channel if you are interested. @jku8 can help arrange the discussion. |
Let me add some context -- the "new SSO feature" is an integration between Identity Center and EKS. EKS uses the Authenticator, so there is some overlap. However, #416 can exist in the Authenticator code base without being enabled in EKS, so we could choose to support it in the meantime. I think the question is how many users want this feature who are not using EKS, because we will not be enabling it in EKS. |
We are currently running kubernetes in AWS, not using EKS, so this continues to be of extreme interest. |
@nckturner Is there any link where I can track the progress of new IAM Identity Center SSO auth in EKS feature? |
@nckturner seeing as there is interest in this but it will not be enabled in EKS, would there be any possibility of the original wildcard feature getting merged in? Originally this PR allowed for full wildcard support, and there's a great deal of interest in the feature: aws/containers-roadmap#474 It would be great to contribute to the openness of Kubernetes recognize the non-EKS users that are interested in this feature by allowing it to be merged (with a feature flag of course) without going down the fork route cc. @zelch - would that be useful to non-EKS users such as yourself? I'd certainly like it, but my team is committed to EKS |
But what are the possible options for EKS users, if this is not going to be enabled in EKS? |
@logandavies181 Absolutely, it would be very useful. @dm3ch My understanding is that they are working on an EKS specific direct integration between Identity Center and EKS, |
But is there any links to announces or issues that would allows to track AWS implementation? |
This PR adds the ability to match AWS SSO roles without needing to know the random suffix.
This solves the issue of teams that use AWS SSO roles and aws-iam-authenticator (including EKS users) from needing to keep their configurations up-to-date with the random suffixes that AWS SSO applies to roles it creates. This also has the side-effect of making SSO roles more intuitive to work with.
This PR solves this issue:
#333
In earlier commits, this PR also solved the below roadmap issue, as it allowed for full wildcard support, constrained via ArnLike condition checks.
aws/containers-roadmap#474
A new nested type has been added to the mapRoles elements to specify a configuration for matching SSO created roles.
This looks like:
Changes: