-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
[OIDC] Plans about Known limitation #1121
Comments
Hi @yaroslavkasatikov we are under a huge effort to add integration testing for all the ACL functionality, in preparation for a major rewrite to cover more cases. So yes, it will come. |
Good news! @juanfont is there any approximative timeline for it ? We can sponsor this feature if that helps accelerating the implementation. |
The OIDC implementation has been working flawlessly for authorizing new users and devices, but all ACLs have to be done completely manually. I'm currently using Azure AD for SSO, but the annoyance of having to maintain two sets of groups (one in Azure and one in Headscale) is currently unavoidable. Imagine we have 2 group ID's within Azure When a user authenticates via OIDC:
When a user authenticates, the provided IDs in the groups claim, if provided, can be added to the database and can be updated any time a user re-authenticates. This would allow syntax like:
Either this, or treat This seems feasible, where is my glaring mistake? |
This issue is stale because it has been open for 90 days with no activity. |
This issue was closed because it has been inactive for 14 days since being marked as stale. |
Please consider reopen this issue @juanfont |
Yes, please re-open this as this is very much still relevant. |
Are there any updates to this? This is a major issue for being able to actually scale headscale (pun intended) :) |
At the moment there is no plan to add groups from OIDC to the ACL, the main reason is that there dont seem to be any standard way the OIDC providers implement this, we are actively avoiding platforms we cannot have full end to end tests as it is unfeasible for us to maintain it over time. As for the "Dynamic ACL", I assume in this context it is referring to having the ACL use these groups, but if not, there is not API support for updating the ACL which should be useful. |
That's not true. There might not be an RFC standard describing how it should be done, but all the OIDC providers and applications that I currently use groups with operate in the same way;
headscale would not need to care about the OIDC provider side; you'd only need to have a setting where you can specify what property/scope it should expect "an arrray of groups" from. If the setting is not specified, headscale would operate as it does today (i.e. no dynamic group fetching).
The above solution does not remove the possibility of having full end to end tests. |
Sure, I can be up for the simple one where they pass groups as part of the OIDC claim, I have seen it with some providers. The reason I am conservative is that I want to make it clear that something simple that supports many at the same time in a very simple implementation would be ok, and testable, while some providers, like google does not, and is not possible for us. Can you open a separate issue with some example OIDC Claim JSON blobs that contains groups and explain the use case? |
I just created #2366. Tried to give as much info as possible. If its feasible to do as I've described, it would be somewhat dynamic in the sense that you still have to specify what groups should have access to certain resources (the |
Hey team,
Do you have any plans for adding dynamic ACL support and ability to use OIDC groups in ACL?
Many thanks!
The text was updated successfully, but these errors were encountered: