-
Notifications
You must be signed in to change notification settings - Fork 528
[BLOG] Under the hood: Designing resource-level access control in OpenSearch #4032
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
base: main
Are you sure you want to change the base?
[BLOG] Under the hood: Designing resource-level access control in OpenSearch #4032
Conversation
Signed-off-by: Darshit Chanpura <[email protected]>
Signed-off-by: Darshit Chanpura <[email protected]>
|
Thank you for submitting a blog post! The blog post review process is: Submit a PR -> (Optional) Peer review -> Doc review -> Editorial review -> Marketing review -> Published. |
|
Hi @DarshitChanpura, It looks like you're adding a new blog post but don't have an issue mentioned. Please link this PR to an open issue using one of these keywords in the PR description:
If an issue hasn't been created yet, please create one and then link it to this PR. |
Signed-off-by: Darshit Chanpura <[email protected]>
Signed-off-by: Darshit Chanpura <[email protected]>
Signed-off-by: Fanit Kolchina <[email protected]>
Signed-off-by: Fanit Kolchina <[email protected]>
natebower
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Editorial review
|
|
||
| * Sharing detectors with specific users and roles. | ||
| * Displaying accessible resources and resharing permissions for the current user. | ||
| * Listing all available resource types and their corresponding access levels. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| * Listing all available resource types and their corresponding access levels. | |
| * Listing all available resource types and their corresponding access levels |
|
|
||
| ## Try resource sharing and share your feedback | ||
|
|
||
| Resource sharing and access control is available as an experimental feature in OpenSearch 3.3 and later. If you're developing a plugin and want to adopt resource sharing, start with performing these steps: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Resource sharing and access control is available as an experimental feature in OpenSearch 3.3 and later. If you're developing a plugin and want to adopt resource sharing, start with performing these steps: | |
| Resource sharing and access control is available as an experimental feature in OpenSearch 3.3 and later. If you're developing a plugin and want to adopt resource sharing, start by performing these steps: |
|
|
||
| Resource sharing and access control is available as an experimental feature in OpenSearch 3.3 and later. If you're developing a plugin and want to adopt resource sharing, start with performing these steps: | ||
|
|
||
| 1. Implement `ResourceSharingExtension` and register your plugin as a resource plugin. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 1. Implement `ResourceSharingExtension` and register your plugin as a resource plugin. | |
| 1. Implement the `ResourceSharingExtension` and register your plugin as a resource plugin. |
| 4. Use `isFeatureEnabledForType` and `verifyAccess` in your handlers. | ||
| 5. Enable the feature for your resource type in a test cluster and iterate. | ||
|
|
||
| After this, your plugin can inherit a complete, centralized sharing model with consistent behavior across the OpenSearch platform. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| After this, your plugin can inherit a complete, centralized sharing model with consistent behavior across the OpenSearch platform. | |
| After this, your plugin can inherit a complete, centralized sharing model with consistent behavior across OpenSearch. |
|
|
||
| After this, your plugin can inherit a complete, centralized sharing model with consistent behavior across the OpenSearch platform. | ||
|
|
||
| Your input helps us improve the feature before it becomes generally available. Please share your experiences, questions, and suggestions on the [OpenSearch Forum](https://forum.opensearch.org/). No newline at end of file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Your input helps us improve the feature before it becomes generally available. Please share your experiences, questions, and suggestions on the [OpenSearch Forum](https://forum.opensearch.org/). | |
| Your input helps to improve the feature before it becomes generally available, so feel free to share your experiences, questions, and suggestions on the [OpenSearch forum](https://forum.opensearch.org/). |
natebower
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Editorial review
Signed-off-by: Nathan Bower <[email protected]>
natebower
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @DarshitChanpura! LGTM
@pajuric This should be ready to publish.
| } | ||
| ``` | ||
|
|
||
| ### 2. Explicit checks using the ResourceSharingClient |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@DarshitChanpura I'd rather not publish the blog with this. Let's focus on natively supporting it so that any public docs show the strategic method of integrating.
|
@DarshitChanpura @cwperks - Per the note above, I am holding this until you resolve. Please let me know when you are ready to publish and we'll work on getting back into the schedule. |
Description
Follow up to #4011, this blog explores technical part of this feature, design decisions and onboarding plugins.
Issues Resolved
Check List
By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.