Skip to content
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

Introducing Identity for OpenSearch blog post #1149

Merged
merged 18 commits into from
Jan 18, 2023
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions _posts/2022-12-05-Introducting-Identity.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Introducing Identity for OpenSearch

OpenSearch handles critical data; how that data is permissioned and how a cluster is operated is a Big Deal™. Consider the question "Who can delete all the indices in the cluster?", in the core of OpenSearch, the answer is whoever can make a request to the cluster.

Within the OpenSearch Project, there is a plugin Security that allows finer levels of access control providing a more satisfying answer. Security uses the plugin architecture of OpenSearch that forces concepts around identity to be optional in core, plugins, and extensions components.

Let’s permeate identity in every aspect of OpenSearch – enabling security by default - everywhere.
peternied marked this conversation as resolved.
Show resolved Hide resolved

## What are OpenSearch’s identities?
In the literature, an identity is an Authenticated [1] Subject [2]. In the systems of OpenSearch, an identity embodies sources of interaction.
peternied marked this conversation as resolved.
Show resolved Hide resolved
- Users make REST API calls in interactive sessions
- Node-to-node communication in a cluster
- Background jobs interactions
- Plugins in-process interactions
- Extensions actions extra-process interactions

![image](https://user-images.githubusercontent.com/2754967/201424268-5687f162-4857-424b-96b8-ca8aff5f649a.png)

## Why have identity in all OpenSearch systems?
peternied marked this conversation as resolved.
Show resolved Hide resolved
By knowing who is performing actions we can check if that user is Authorized [3]. Plugins and extensions can only do actions that have been permitted to their identity. The existing security plugin does not have the ability to control what other plugins can do.
peternied marked this conversation as resolved.
Show resolved Hide resolved
Protections of high-level tasks and low-level actions and resources be enforced OpenSearch-wide. Plugins and extensions can access and depend on these systems to protect the features and functionality they bring to OpenSearch.

## How does this benefit plugins/extensions?
Actions have an existing protection model – resources of a plugin do not, they must be implemented by each plugin developer separately. Being able to use shared systems for secure access and standard permissions schemes will make adding security features faster with fewer bugs.
peternied marked this conversation as resolved.
Show resolved Hide resolved

## How to learn more?
Identity features are being built in a feature branch of OpenSearch, features/identity [4]. Roadmaps, documentation, findings, and functionality are in active development of that feature branch. Beginning in December there will be a monthly check-in during the OpenSearch community meeting.
Copy link
Member Author

Choose a reason for hiding this comment

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

@krisfreedain We've discussed a series of presentations/participation in the community meetings that I've hand-waved into this doc. What do you think of the proposal for a monthly update in the community meeting, or is there another format/audience that would better suit this discussion?

Copy link
Member Author

Choose a reason for hiding this comment

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

@krisfreedain Any thoughts?

peternied marked this conversation as resolved.
Show resolved Hide resolved
Feel free to add comments, create pull requests, raise issues and add the tag ‘identity’ to make sure we see it.

Find me @peternied on github in the OpenSearch-Project.
peternied marked this conversation as resolved.
Show resolved Hide resolved

- [1] https://csrc.nist.gov/glossary/term/authentication
- [2] https://csrc.nist.gov/glossary/term/subject
- [3] https://csrc.nist.gov/glossary/term/authorization
- [4] TDB – RFC Issue / High level issue https://github.com/opensearch-project/OpenSearch/issues/4514 / Branch https://github.com/opensearch-project/OpenSearch/tree/feature/identity