-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[Feature/Identity] Prototype Internal IdP #4659
[Feature/Identity] Prototype Internal IdP #4659
Conversation
Signed-off-by: Craig Perkins <[email protected]>
…king Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
@peternied Do you think we should consider making the work we're doing a native module of OpenSearch? https://github.com/opensearch-project/OpenSearch/blob/main/DEVELOPER_GUIDE.md#modules |
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
We spoke about this briefly offline, recapping from the discussion. While we could refactor this to reduce the number of default dependencies on OpenSearch, I think we at the minimum need security to be accessible without installing anything else. I think this is a good motivation to get a pull request into main sooner so we can see the point for or against it. I might be a good idea to add documentation of any concerns you have in the code so when we do the feature/identity -> main pull request those ideas are surfaced |
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
@peternied I wanted to leave an update on this branch. I took the work I was doing in the One of the problems I faced in this branch is that the build was failing on There are currently CI issues with jarHell in bouncy castle >.<
Bouncy castle is needed by authn for its BCryptHash capabilities which will not be released in Shiro until 2.0. |
How would you feel about disabling jarhell? We did this in security because of issues with the Kafka test libraries [1], then we can make an issue and circle back. It might be as easy as adding the following to jarHell.enabled = false [1] https://github.com/opensearch-project/security/blob/main/build.gradle#L103 |
Note; I saw that you disabled jar hell in the authz plugin, it looks like the failure is coming out in |
…icense jar hell Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Thank you @peternied. I disabled the jar hell check for |
sandbox/libs/authn/src/main/java/org/opensearch/authn/Subject.java
Outdated
Show resolved
Hide resolved
sandbox/libs/authn/src/main/java/org/opensearch/authn/InternalSubject.java
Outdated
Show resolved
Hide resolved
sandbox/libs/authn/src/main/java/org/opensearch/authn/InternalSubject.java
Outdated
Show resolved
Hide resolved
sandbox/libs/authn/src/main/java/org/opensearch/authn/realm/InternalRealm.java
Outdated
Show resolved
Hide resolved
@cwperks Note; I am happy to merge so you can address in follow up PRs |
…tion Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <[email protected]>
Gradle Check (Jenkins) Run Completed with:
|
@peternied CI is passing again - issues this last time with security policy with jackson-databind and the integration test suite. In a follow-up PR I plan to see if there's another way of transforming yaml -> POJOs to eliminate the dependency on |
Description
As part of the identity feature branch, this adds a foundation for building an internal IdP inside of core. This PR includes a working prototype of an IdP similar to the one in the security plugin. I'm creating this as a draft to solicit feedback, there is currently no way to interact with the internal realm via actions in OpenSearch.
This branch shows a custom realm built with shiro called the internal realm and uses BCrypt (salt + hash) for authenticating subjects. I had to add a line in
security.policy
to get the ObjectMapper working for jackson-databind and also needed to add a dependency onslf4j
for shiro, but I'd like to see if there are ways not to include this since opensearch uses log4j for logging.Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.