Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
COSMOS Design 209337
- 1 Scoping of the COSMOS Security Infrastructure
- 2 Workload Estimation
- 3 Terminologies/Acronyms
- 4 Purpose
- 5 COSMOS Security Model
- 6 COSMOS artifacts in scope for security
- 7 Security Providers supported by COSMOS
- 8 Security considerations for COSMOS components
- 9 Authentication
- 10 Authorization
- 11 Encryption
- 12 Task Breakdown
- 13 References
- 14 Open Issues/Questions
Scoping of the COSMOS Security Infrastructure
The goal of this Enhancement Request (ER) is to define / document / design the full scope of the COSMOS Security Infrastructure. This is the master Security ER; underneath it, multiple ERs will be opened to address specific areas of Security. The COSMOS Security solutions needs to address the use cases listed on http://wiki.eclipse.org/COSMOS_Use_Cases for the actors defined in http://wiki.eclipse.org/Use_case_actors
|Process||Sizing||Names of people doing the work|
|Code (not part of this ER)||8||Dev Team|
|Test (not part of this ER)||4||QA Team|
|Documentation (not part of this ER)||1|
|Build and infrastructure (not part of this ER)||1|
|Code review, etc. (not part of this ER)||1|
The terminologies/acronyms below are commonly used throughout this document. The list below defines each term regarding how it is used in this document:
|User||An entity representing a user in the organization. This is usually a 1:1 relation between a user and a real person|
|Security Provider||Software that implements the various aspects of Security|
|Account||an object representing an identity that exists on a specific realm / domain – e.g. login account on UNIX or Oracle. A single user may be associated with a multiple accounts|
|Role||an application-centric authorization grouping of users (while group is a resource-based authorization grouping of accounts).|
This enhancement is associated with bugzilla 209337.
COSMOS needs to address the following aspects of Security:
- Approaches for implementing security in COSMOS, i.e. type of Security Providers supported
- Determine connection points where a Security Provider plugs into COSMOS
COSMOS Security Model
The COSMOS security model is detailed in the use cases on http://wiki.eclipse.org/COSMOS_Use_Cases
COSMOS artifacts in scope for security
COSMOS should secure the following artifacts:
- Management Domain
- Data Broker
- Access to Data Managers and MDRs
- Queries and result sets
Security Providers supported by COSMOS
COSMOS should allow an adopter to plug in a Security Provider of their choosing. COSMOS must support the following options:
- Provide support and reference implementations for specified industry standard Security Providers, e.g. LDAP.
- Publish guidelines for hooking in Enterprise class Security Providers
- Ensure full support and compliance with WS-Security
Security considerations for COSMOS components
- Management Domain
- Since the Management Domain is the entry point into COSMOS, it needs to address Authentication.
- Data Broker
- Since the Data Broker "knows" about all the MDRs and Data Manager, it should be used to enforce / implement Authorization, i.e. role-based security
- Data Managers and MDRs
- Should the access interfaces for the Data Managers and MDRs implement any security paradigm?
- Should the visulization interfaces implement any security paradigm?
COSMOS must support user authentication and also support an SSO paradigm.
COSMOS will need to support the roles identified in http://wiki.eclipse.org/COSMOS_Use_Cases. Additional roles may be implemented by the Security Provider used by the adopter.
COSMOS will not encrypt any data while it is "at rest" in and MDR. This is something that the MDR / repository in question should own and control. However, COSMOS will be responsible for encrypting the queries and result sets as they flow through the COSMOS components, e.g. Broker / Domain / etc.
The following section includes the tasks required to complete this enhancement:
- Define the full scope of Security for COSMOS
- Open downstream ERs to be completed in later iterations
- WS-Security -- http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss
- XACML -- http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml
All reviewer feedback should go in the Talk page for 209337.
- How much effort should be expended in addressing proprietary Security Providers?
- How many downstream ERs do we need to open once this ER is complete?
- Should XACML be used for implementing Authorization?
- Should COSMOS use Security Tokens?