Create NamedRoute to map extension routes to a shortened name#6870
Merged
owaiskazi19 merged 59 commits intoMay 18, 2023
Conversation
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
This was referenced Mar 29, 2023
Closed
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Codecov Report
@@ Coverage Diff @@
## main #6870 +/- ##
============================================
- Coverage 70.74% 70.60% -0.14%
- Complexity 56023 59837 +3814
============================================
Files 4670 4898 +228
Lines 265699 286970 +21271
Branches 39015 41364 +2349
============================================
+ Hits 187958 202615 +14657
- Misses 61807 67656 +5849
- Partials 15934 16699 +765
|
Contributor
Gradle Check (Jenkins) Run Completed with:
|
DarshitChanpura
approved these changes
May 18, 2023
DarshitChanpura
approved these changes
May 18, 2023
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Contributor
Gradle Check (Jenkins) Run Completed with:
|
reta
reviewed
May 18, 2023
Signed-off-by: Craig Perkins <cwperx@amazon.com>
reta
approved these changes
May 18, 2023
reta
approved these changes
May 18, 2023
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Member
Author
|
Thank you for all of the help on this one @reta! |
owaiskazi19
reviewed
May 18, 2023
owaiskazi19
reviewed
May 18, 2023
owaiskazi19
approved these changes
May 18, 2023
Member
There was a problem hiding this comment.
Overall LGTM! Minor comments. Thanks @cwperks for the patience and for addressing the comments.
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Member
Author
|
@owaiskazi19 Final 👀 ? |
owaiskazi19
reviewed
May 18, 2023
Signed-off-by: Craig Perkins <cwperx@amazon.com>
Contributor
Gradle Check (Jenkins) Run Completed with:
|
Contributor
Gradle Check (Jenkins) Run Completed with:
|
opensearch-trigger-bot Bot
pushed a commit
that referenced
this pull request
May 18, 2023
* WIP on rest layer authz Signed-off-by: Craig Perkins <cwperx@amazon.com> * Create PermissibleRoute Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update extension handshake Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add connectToNodeAsExtension in TransportService Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add to CHANGELOG Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add to CHANGELOG Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update RouteHandler Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update java docstrings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix merge conflicts Signed-off-by: Craig Perkins <cwperx@amazon.com> * Rename to ProtectedRoute Signed-off-by: Craig Perkins <cwperx@amazon.com> * Create method to get extension settings from extensions.yml Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add ExtensionsManager.lookupExtensionSettings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Small change to name Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add to CHANGELOG Signed-off-by: Craig Perkins <cwperx@amazon.com> * Move extensionSettingsMap.put Signed-off-by: Craig Perkins <cwperx@amazon.com> * Re-run CI Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add test for ProtectedRoute Signed-off-by: Craig Perkins <cwperx@amazon.com> * spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add RouteHandlerTests Signed-off-by: Craig Perkins <cwperx@amazon.com> * Switch to NamedRoute and add validation for action naming Signed-off-by: Craig Perkins <cwperx@amazon.com> * Avoid magic numbers Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove @test annotation Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address code review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update error message Signed-off-by: Craig Perkins <cwperx@amazon.com> * Check for REST Action name uniqueness across all registered actions Signed-off-by: Craig Perkins <cwperx@amazon.com> * minimize code in the test Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update changelog Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add DynamicRouteRegistry Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address code review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add mock DynamicRouteRegistry.class Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add RouteRegistry to DynamicActionModule Signed-off-by: Craig Perkins <cwperx@amazon.com> * Pass around dynamicActionRegistry instead of ActionModule Signed-off-by: Craig Perkins <cwperx@amazon.com> * Only pass dynamic action registry Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add DynamicActionRegistryTests for tests of dynamic registry Signed-off-by: Craig Perkins <cwperx@amazon.com> * Move CHANGELOG entry Signed-off-by: Craig Perkins <cwperx@amazon.com> --------- Signed-off-by: Craig Perkins <cwperx@amazon.com> (cherry picked from commit 8470df6) Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
reta
pushed a commit
that referenced
this pull request
May 18, 2023
…#7631) * WIP on rest layer authz * Create PermissibleRoute * Update extension handshake * Add connectToNodeAsExtension in TransportService * Add to CHANGELOG * Add to CHANGELOG * Update RouteHandler * Update java docstrings * Run spotlessApply * Fix merge conflicts * Rename to ProtectedRoute * Create method to get extension settings from extensions.yml * Add ExtensionsManager.lookupExtensionSettings * Small change to name * Add to CHANGELOG * Move extensionSettingsMap.put * Re-run CI * Address review feedback * Add test for ProtectedRoute * spotlessApply * Add RouteHandlerTests * Switch to NamedRoute and add validation for action naming * Avoid magic numbers * Remove @test annotation * Address code review feedback * Update error message * Check for REST Action name uniqueness across all registered actions * minimize code in the test * Update changelog * Add DynamicRouteRegistry * Address code review feedback * Add mock DynamicRouteRegistry.class * Add RouteRegistry to DynamicActionModule * Pass around dynamicActionRegistry instead of ActionModule * Only pass dynamic action registry * Add DynamicActionRegistryTests for tests of dynamic registry * Move CHANGELOG entry --------- (cherry picked from commit 8470df6) Signed-off-by: Craig Perkins <cwperx@amazon.com> Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
bharath-techie
pushed a commit
to bharath-techie/OpenSearch
that referenced
this pull request
May 23, 2023
…arch-project#6870) * WIP on rest layer authz Signed-off-by: Craig Perkins <cwperx@amazon.com> * Create PermissibleRoute Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update extension handshake Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add connectToNodeAsExtension in TransportService Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add to CHANGELOG Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add to CHANGELOG Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update RouteHandler Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update java docstrings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix merge conflicts Signed-off-by: Craig Perkins <cwperx@amazon.com> * Rename to ProtectedRoute Signed-off-by: Craig Perkins <cwperx@amazon.com> * Create method to get extension settings from extensions.yml Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add ExtensionsManager.lookupExtensionSettings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Small change to name Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add to CHANGELOG Signed-off-by: Craig Perkins <cwperx@amazon.com> * Move extensionSettingsMap.put Signed-off-by: Craig Perkins <cwperx@amazon.com> * Re-run CI Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add test for ProtectedRoute Signed-off-by: Craig Perkins <cwperx@amazon.com> * spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add RouteHandlerTests Signed-off-by: Craig Perkins <cwperx@amazon.com> * Switch to NamedRoute and add validation for action naming Signed-off-by: Craig Perkins <cwperx@amazon.com> * Avoid magic numbers Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove @test annotation Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address code review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update error message Signed-off-by: Craig Perkins <cwperx@amazon.com> * Check for REST Action name uniqueness across all registered actions Signed-off-by: Craig Perkins <cwperx@amazon.com> * minimize code in the test Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update changelog Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add DynamicRouteRegistry Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address code review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add mock DynamicRouteRegistry.class Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add RouteRegistry to DynamicActionModule Signed-off-by: Craig Perkins <cwperx@amazon.com> * Pass around dynamicActionRegistry instead of ActionModule Signed-off-by: Craig Perkins <cwperx@amazon.com> * Only pass dynamic action registry Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add DynamicActionRegistryTests for tests of dynamic registry Signed-off-by: Craig Perkins <cwperx@amazon.com> * Move CHANGELOG entry Signed-off-by: Craig Perkins <cwperx@amazon.com> --------- Signed-off-by: Craig Perkins <cwperx@amazon.com> Signed-off-by: Bharathwaj G <bharath78910@gmail.com>
stephen-crawford
pushed a commit
to stephen-crawford/OpenSearch
that referenced
this pull request
May 31, 2023
…arch-project#6870) * WIP on rest layer authz Signed-off-by: Craig Perkins <cwperx@amazon.com> * Create PermissibleRoute Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update extension handshake Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add connectToNodeAsExtension in TransportService Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add to CHANGELOG Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add to CHANGELOG Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update RouteHandler Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update java docstrings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix merge conflicts Signed-off-by: Craig Perkins <cwperx@amazon.com> * Rename to ProtectedRoute Signed-off-by: Craig Perkins <cwperx@amazon.com> * Create method to get extension settings from extensions.yml Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add ExtensionsManager.lookupExtensionSettings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Small change to name Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add to CHANGELOG Signed-off-by: Craig Perkins <cwperx@amazon.com> * Move extensionSettingsMap.put Signed-off-by: Craig Perkins <cwperx@amazon.com> * Re-run CI Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add test for ProtectedRoute Signed-off-by: Craig Perkins <cwperx@amazon.com> * spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add RouteHandlerTests Signed-off-by: Craig Perkins <cwperx@amazon.com> * Switch to NamedRoute and add validation for action naming Signed-off-by: Craig Perkins <cwperx@amazon.com> * Avoid magic numbers Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove @test annotation Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address code review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update error message Signed-off-by: Craig Perkins <cwperx@amazon.com> * Check for REST Action name uniqueness across all registered actions Signed-off-by: Craig Perkins <cwperx@amazon.com> * minimize code in the test Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update changelog Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add DynamicRouteRegistry Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address code review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add mock DynamicRouteRegistry.class Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add RouteRegistry to DynamicActionModule Signed-off-by: Craig Perkins <cwperx@amazon.com> * Pass around dynamicActionRegistry instead of ActionModule Signed-off-by: Craig Perkins <cwperx@amazon.com> * Only pass dynamic action registry Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add DynamicActionRegistryTests for tests of dynamic registry Signed-off-by: Craig Perkins <cwperx@amazon.com> * Move CHANGELOG entry Signed-off-by: Craig Perkins <cwperx@amazon.com> --------- Signed-off-by: Craig Perkins <cwperx@amazon.com>
shiv0408
pushed a commit
to Gaurav614/OpenSearch
that referenced
this pull request
Apr 25, 2024
…arch-project#6870) * WIP on rest layer authz Signed-off-by: Craig Perkins <cwperx@amazon.com> * Create PermissibleRoute Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update extension handshake Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add connectToNodeAsExtension in TransportService Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add to CHANGELOG Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add to CHANGELOG Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update RouteHandler Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update java docstrings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix merge conflicts Signed-off-by: Craig Perkins <cwperx@amazon.com> * Rename to ProtectedRoute Signed-off-by: Craig Perkins <cwperx@amazon.com> * Create method to get extension settings from extensions.yml Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add ExtensionsManager.lookupExtensionSettings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Small change to name Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add to CHANGELOG Signed-off-by: Craig Perkins <cwperx@amazon.com> * Move extensionSettingsMap.put Signed-off-by: Craig Perkins <cwperx@amazon.com> * Re-run CI Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add test for ProtectedRoute Signed-off-by: Craig Perkins <cwperx@amazon.com> * spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add RouteHandlerTests Signed-off-by: Craig Perkins <cwperx@amazon.com> * Switch to NamedRoute and add validation for action naming Signed-off-by: Craig Perkins <cwperx@amazon.com> * Avoid magic numbers Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove @test annotation Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address code review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update error message Signed-off-by: Craig Perkins <cwperx@amazon.com> * Check for REST Action name uniqueness across all registered actions Signed-off-by: Craig Perkins <cwperx@amazon.com> * minimize code in the test Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update changelog Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add DynamicRouteRegistry Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address code review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add mock DynamicRouteRegistry.class Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add RouteRegistry to DynamicActionModule Signed-off-by: Craig Perkins <cwperx@amazon.com> * Pass around dynamicActionRegistry instead of ActionModule Signed-off-by: Craig Perkins <cwperx@amazon.com> * Only pass dynamic action registry Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add DynamicActionRegistryTests for tests of dynamic registry Signed-off-by: Craig Perkins <cwperx@amazon.com> * Move CHANGELOG entry Signed-off-by: Craig Perkins <cwperx@amazon.com> --------- Signed-off-by: Craig Perkins <cwperx@amazon.com> Signed-off-by: Shivansh Arora <hishiv@amazon.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR will allow the naming of a Route to something that can be placed in a role definition.
i.e.
GET /_extensions/_hw/hellobecomeshw:greet. I have been thinking about this as REST action names which would be analogous to naming Transport actions.A role definition in the security plugin currently lists action names granted to a role, but for extensions there is no transport action that is executed so there is currently no short name that can be permitted in a roles definition. This PR creates a concept of a ProtecteedRoute (a named route) with the purpose of creating a shortened name for a route that can be granted in a roles definition similar to:
Issues Resolved
Related to: opensearch-project/security#2589
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.