-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
Get rid of implicit circular dependency between Security and Spaces plugins. #80496
Comments
Pinging @elastic/kibana-security (Team:Security) |
I feel like removing Space's dependency on I don't like any of my proposals, but I'll list them anyway. I'm open to any and all ideas!
|
I admit I don't fully understand how that would work, but would that also allow us to record audit events without Spaces being dependent on Security somehow (as far as I understand any plugin will have to depend on Security to deal with audit log now)? It seems the first option also may be tricky because of audit log dependency, the second one doesn't seem to have this problem. |
I don't have a specific implementation in mind, but I was effectively proposing to update our authorization model so that the security plugin would know how to secure access to Spaces, without spaces being a unique one-off. In this scenario, the security plugin could perform the audit logging, since it would be the one performing the authorization checks for spaces.
Agree, I hadn't considered the audit log dependency here. |
Thanks for clarifying, sounds like a great approach to me. Maybe we can try to estimate how expensive it'd be and how long it'd take us to implement, there is a chance we'll have enough time before #80508 is completely unblocked. |
Currently
Security
plugin exposesregisterSpacesService
method as a part of itssetup
contract basically introducing an implicit dependency toSpaces
plugin. We had to do that becauseSpaces
already depends onSecurity
and circular dependencies aren't allowed by the core plugin system.The current approach is not only ugly, but is also a clear sign of a broken separation of concerns between these two plugins. We should find a better way to manage this cross-dependency.
The text was updated successfully, but these errors were encountered: