Skip to content

Conversation

@DarshitChanpura
Copy link
Member

@DarshitChanpura DarshitChanpura commented Dec 8, 2025

Description

Follow up to #4011, this blog explores technical part of this feature, design decisions and onboarding plugins.

Issues Resolved

Check List

  • Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

@github-actions
Copy link

github-actions bot commented Dec 8, 2025

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.

@github-actions
Copy link

github-actions bot commented Dec 8, 2025

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:

  • Closes #issue-number
  • Fixes #issue-number
  • Resolves #issue-number

If an issue hasn't been created yet, please create one and then link it to this PR.

@DarshitChanpura DarshitChanpura changed the title Resource sharing tech blog [BLOG] Under the hood: Designing resource-level access control in OpenSearch #4031 Dec 8, 2025
@DarshitChanpura DarshitChanpura changed the title [BLOG] Under the hood: Designing resource-level access control in OpenSearch #4031 [BLOG] Under the hood: Designing resource-level access control in OpenSearch Dec 8, 2025
Signed-off-by: Darshit Chanpura <[email protected]>
Signed-off-by: Darshit Chanpura <[email protected]>
@kolchfa-aws kolchfa-aws self-assigned this Dec 9, 2025
@kolchfa-aws kolchfa-aws added Doc review The blog is under doc review New blog New blog post labels Dec 9, 2025
@kolchfa-aws kolchfa-aws added Editorial review The blog is under editorial review and removed Doc review The blog is under doc review labels Dec 15, 2025
@kolchfa-aws kolchfa-aws assigned natebower and unassigned kolchfa-aws Dec 15, 2025
Copy link
Collaborator

@natebower natebower left a 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.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* 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:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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/).

Copy link
Collaborator

@natebower natebower left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Editorial review

Copy link
Collaborator

@natebower natebower left a 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.

@natebower natebower added Done and ready to publish The blog is approved and ready to publish and removed New blog New blog post Editorial review The blog is under editorial review labels Dec 15, 2025
@natebower natebower assigned pajuric and unassigned natebower Dec 15, 2025
}
```

### 2. Explicit checks using the ResourceSharingClient
Copy link
Member

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.

@pajuric
Copy link

pajuric commented Dec 23, 2025

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Done and ready to publish The blog is approved and ready to publish

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BLOG] Under the hood: Designing resource-level access control in OpenSearch

5 participants