-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
providers/scim: modify filtergroup(s) behavior to allow (multi-)group filtering #13550
base: main
Are you sure you want to change the base?
providers/scim: modify filtergroup(s) behavior to allow (multi-)group filtering #13550
Conversation
✅ Deploy Preview for authentik-storybook ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
✅ Deploy Preview for authentik-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #13550 +/- ##
=======================================
Coverage 92.73% 92.74%
=======================================
Files 794 794
Lines 40425 40428 +3
=======================================
+ Hits 37487 37493 +6
+ Misses 2938 2935 -3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Hi, thanks for the PR! When I added the There is also an already existing option for doing this more dynamically which is having a custom user/group mapping that dynamically raises |
Thanks for your fast response, @BeryJu! From my understanding the final solution could be that:
Is this correct? One further question: I could not find documentation on the implications of the field "filterset_fields" within the model. |
Correct, I think having One potential issue that could arise when this is merged is what happens with groups that were previously provisioned and are now outside of the group filter, they would still exist in authentik and the remote system but would not get further updates (and currently would not be correctly deletable iirc)
|
…iltering Replaces the scim provider's argument filter_group with filter_groups. Allows multiple filter_groups to be selected. Only syncs groups within filter_groups and users which are members of at least one filter_group for scim.
10c87cb
to
6ee9884
Compare
I believe so, if the previously sent state is not currently being tracked. To solve this, the sent state would need to be tracked so that differences to it can be identified and remediated on the next sync.
Thanks! |
Details
This PR aims to change add group filtering to the SCIMProvider by incorporating the following changes:
filter_group
tofilter_groups
(including django migrations to keep a previously selected filter_group present)filter_groups
filter_groups
are synced to the SCIM Serverfilter_groups
are synced to the SCIM ServerReason:
Most SCIM Clients allow groups to be filtered, however authentik currently does not.
This issue has been mentioned in #6065 which has been given the
enhancement/confirmed
-label.Among the many use-cases one would be a multi-tenant setup where groups of one tenant should not be visible to another tenant.
Note
Since this does change group-syncing behavior (i.e. not syncing previously synced groups anymore) I suggest this change to be implemented in a major release.
Additionally, blueprints for scim_providers need to adapt to the new name
filter_groups
.Fixes #6065
Checklist
ak test authentik/
)make lint-fix
)If an API change has been made
make gen-build
)If changes to the frontend have been made
make web
)If applicable
make website
)