Jump to: navigation, search

COSMOS Design 209337

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

Change History

Name: Date: Revised Sections:
Jimmy Mohsin 01/08/2008
  • Initial version

Workload Estimation

Rough workload estimate in person weeks
Process Sizing Names of people doing the work
Design 3 Jimmy Mohsin
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
TOTAL 12

Terminologies/Acronyms

The terminologies/acronyms below are commonly used throughout this document. The list below defines each term regarding how it is used in this document:

Term Definition
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).

Purpose

This enhancement is associated with bugzilla 209337.

COSMOS needs to address the following aspects of Security:

  1. Authentication
  2. Encryption
  3. Authorization
  4. Approaches for implementing security in COSMOS, i.e. type of Security Providers supported
  5. 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:

  1. Management Domain
  2. Data Broker
  3. Visualization
  4. Access to Data Managers and MDRs
  5. 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:

  1. Provide support and reference implementations for specified industry standard Security Providers, e.g. LDAP.
  2. Publish guidelines for hooking in Enterprise class Security Providers
  3. Ensure full support and compliance with WS-Security

Security considerations for COSMOS components

  1. Management Domain
    1. Since the Management Domain is the entry point into COSMOS, it needs to address Authentication.
  2. Data Broker
    1. 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
  3. Data Managers and MDRs
    1. Should the access interfaces for the Data Managers and MDRs implement any security paradigm?
  4. Visualization
    1. Should the visulization interfaces implement any security paradigm?

Authentication

COSMOS must support user authentication and also support an SSO paradigm.

Authorization

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.

Encryption

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.

Task Breakdown

The following section includes the tasks required to complete this enhancement:

  1. Define the full scope of Security for COSMOS
  2. Open downstream ERs to be completed in later iterations

References

  1. WS-Security -- http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss
  2. XACML -- http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml

Open Issues/Questions

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?