Supporting Native AuthN/AuthZ with Core
Every thing done within OpenSearch should be permissible, no matter the source. This is why we need to move authentication and authorization into OpenSearch core codebase. The plugin model is very useful for optional things, security primitives are not one of them.
Getting these new native concepts out to OpenSearch developers and customers quickly for feedback and iteration is our aim to achieve this.
Terminology:
- Subject: An individual, process, or device that causes information to flow among objects or change to the system state.
- Principal: An application-wide identifier that is persisted
Minimal viable system
To move quickly, and provide a surface area for experimentation we are going to cut some corners. This effort will first be within a feature branch, then be controlled via an experimental feature flag shipped with OpenSearch distribution, finally made available for adoption with backwards compatible support.
Blog Posts
This section is for tracking any updates that would be made Identity related blog-posts.
The following are the areas of focus to create this minimal set of functionality along with an estimated complexity to develop to help in terms of understanding the projects. Complexity attempts to score uncertainty, not effort, delivering more complex items implies more prototypes/design reviews.
Identity Concepts
Principal Identifiers
Delegate Execution
Access Tokens
Internal Identity Provider
CRUD operations on Subject
Authentication
Permissions/Authorization
TODOs
This section contains all the current and pending TODO items in the identity code.
Future Scope
The following items are not required for the critical path delivery and will likely be started on following the stabilization of the MVP components.
Loading from configuration
Index View(s)
Authorization Abstractions
Rename plugin permissions (OOB?)
Migration from Security Plugin
Authentication providers
Security testing
Identity Information
Supporting Native AuthN/AuthZ with Core
Every thing done within OpenSearch should be permissible, no matter the source. This is why we need to move authentication and authorization into OpenSearch core codebase. The plugin model is very useful for optional things, security primitives are not one of them.
Getting these new native concepts out to OpenSearch developers and customers quickly for feedback and iteration is our aim to achieve this.
Terminology:
Minimal viable system
To move quickly, and provide a surface area for experimentation we are going to cut some corners. This effort will first be within a feature branch, then be controlled via an experimental feature flag shipped with OpenSearch distribution, finally made available for adoption with backwards compatible support.
Blog Posts
This section is for tracking any updates that would be made Identity related blog-posts.
The following are the areas of focus to create this minimal set of functionality along with an estimated complexity to develop to help in terms of understanding the projects. Complexity attempts to score uncertainty, not effort, delivering more complex items implies more prototypes/design reviews.
Identity Concepts
[Complexity 8] Introduce Identity primitives (Subject and Principal) and their associated objects and . See following issue for more details
OpenSearch requests should know the identity of the caller #3846
Add support for using User Identity in extensions #37
Create a permissions check API for extensions to us with custom resources #40
Principal Identifiers
Delegate Execution
Access Tokens
Internal Identity Provider
CRUD operations on Subject
Authentication
Permissions/Authorization
TODOs
This section contains all the current and pending TODO items in the identity code.
Future Scope
The following items are not required for the critical path delivery and will likely be started on following the stabilization of the MVP components.
Loading from configuration
Index View(s)
Authorization Abstractions
Rename plugin permissions (OOB?)
Migration from Security Plugin
Authentication providers
Security testing
Identity Information