The Roles Database at MIT Scott Thorne Jim Repa December 12, 2001 See also:

Slides:



Advertisements
Similar presentations
ICIS-NPDES Plugin Design Preview Webinar ICIS-NPDES Full Batch OpenNode2 Plugin Project Presented by Bill Rensmith Windsor Solutions, Inc. 3/15/2012.
Advertisements

Senior Solutions Architect, MongoDB James Kerr Security Features Preview Field Level Access Control.
Workflow Basics Tommy Parker Sr. Systems Analyst & Team Leader Mississippi State University 1 MBUG – September 17, 2012.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
System Design and Memory Limits. Problem  If you were integrating a feed of end of day stock price information (open, high, low, and closing price) for.
Edoclite and Managing Client Engagements What is Edoclite? How is it used at IU? Development Process?
Radko Zhelev, IPP BAS Generic Resource Framework for Cloud Systems 1 Generic Resource Framework for Cloud Systems.
The EC PERMIS Project David Chadwick
Central Authorizer and Roles Presentation to SAPbiz April 14, 2004.
MIT’s Roles Database: Our Model for Authorizations Jim Repa Advanced Campus Architecture Middleware Planning Meeting July 9, 2003 See also:
Chapter 3: System design. System design Creating system components Three primary components – designing data structure and content – create software –
MIT ROLES DB Internet 2 Authority Architectures CAMP, June 2004.
Configuration Management
Welcome to CMPE003 Personal Computer Concepts: Hardware and Software Winter 2003 UC Santa Cruz Instructor: Guy Cox.
Windows 2000 and Active Directory Services at UQ Scott Sinclair Senior Systems Programmer Software Infrastructure Group
ETL By Dr. Gabriel.
Systems Analysis and Design: The Big Picture
Sage CRM Developers Course
Before I stated the database I had to save it into My Documents> ICT> You can do it> D201EPORTFOLIO> Evidence For the field group food item, I set the.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
1 Presenters: Lucretia Parham Janice Zeigler Armstrong Atlantic State University May 14 10:15 a.m. - 11:15 a.m. Presenters: Lucretia Parham Janice Zeigler.
Kuali Rice at Indiana University Rice Setup Options July 29-30, 2008 Eric Westfall.
DATA GOVERNANCE Presentation to CSG September 27, 2007 Mary Weisse Manager, MIT Data & Reporting Services
File: 05_RETS_Implementation_Best_Practices.PPT 1 RETS Implementation Practices RETS Implementation Best Practices Business Case Project Start-up Resource.
“ Web Application Maker”: the next 11 years Miguel Calejo Declarativa, Portugal 28-Apr-2011 Copyright Declarativa 1.
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
Data Warehousing Seminar Chapter 5. Data Warehouse Design Methodology Data Warehousing Lab. HyeYoung Cho.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
RECALL THE MAIN COMPONENTS OF KIM Functional User Interfaces We just looked at these Reference Implementation We will talk about these later Service Interface.
311: Management Information Systems Database Systems Chapter 3.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
The Roles Database at MIT Jim Repa Scott Thorne September 21, 2000 CSG Conference Boulder, Colorado See also:
This material was developed by Duke University, funded by the Department of Health and Human Services, Office of the National Coordinator for Health Information.
Query Optimization (CB Chapter ) CPSC 356 Database Ellen Walker Hiram College (Includes figures from Database Systems: An Application Oriented.
© 2007 by Prentice Hall 1 Introduction to databases.
Oracle Application Express Security. © 2009 Oracle Corporation Authentication Out-of-the-Box Pre-Configured Schemes LDAP Directory credentials Oracle.
Implementing Resource Management within EPM Roy Kayahara Program Manager Microsoft Office Project Microsoft Corporation.
Putting it all together Dynamic Data Base Access Norman White Stern School of Business.
1.NET Web Forms Business Forms © 2002 by Jerry Post.
MIT’s Roles Database: Our Model for Authorizations Jim Repa Common Solutions Group January 11, 2002 See also:
MIT ROLES DB CSG, May Previous Presentations Talk given by Jim Repa at EDUCAUSE Conference (Long Beach, CA, Oct. 29, 1999) –
Andrew S. Budarevsky Adaptive Application Data Management Overview.
Stanford Authorization Existing mainframe based authority –homegrown, in operation since the 80’s –primarily for financial and personnel authority for.
Kuali Identity Management Overview. Why did we write KIM? Common Interface for Kuali Applications Provide a Fully-Functional Product A Single API for:
1 6 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 6 The Traditional Approach to Requirements.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Windows Role-Based Access Control Longhorn Update
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Claims-Based Identity Solution Architect Briefing zoli.herczeg.ro Taken from David Chappel’s work at TechEd Berlin 2009.
Institutional Data Flows at MIT Paul B. Hill CSG, May 1999.
1 Presenters: Lucretia Parham Sara Connor Armstrong Atlantic State University October 30, :45 – 12:35 Copyright Sara Connor and Lucretia Parham,
Behavioral Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
File: 05_AEI Implementation Best Practices.PPT 1 RETS Implementation Issues Yogi Schulz RETS Implementation Best Practices Business Case Project Start-up.
Authorization GGF-6 Grid Authorization Concepts Proposed work item of Authorization WG Chicago, IL - Oct 15 th 2002 Leon Gommans Advanced Internet.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
VoiceXML Version 2.0 Jon Pitcherella. What is it? A W3C standard for specifying interactive voice dialogues. Uses a “voice” browser to interpret documents,
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Lecture # 2 - September 14, 2004.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Lecture 21: Component-Based Software Engineering
Web Application Design. Data –What data is available? –How do we store it or how is it stored in the DB? Schema Data types Etc. –Where is the data?
SYSTEMSDESIGNANALYSIS 1 Chapter 21 Implementation Jerry Post Copyright © 1997.
Authority Management Systems Keith Hazelton, Senior IT Architect, Univ. of Wisconsin-Madison Middleware Architecture Committee for Education, Internet2.
1 Copyright © Oracle Corporation, All rights reserved. Business Intelligence and Data Warehousing.
Connecting to External Data. Financial data can be obtained from a number of different data sources.
11i Journal Workflow: Maximize the Potential
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Metadata The metadata contains
Signet & Privilege Management
Groups and Permissions
Best Practices in Higher Education Student Data Warehousing Forum
Presentation transcript:

The Roles Database at MIT Scott Thorne Jim Repa December 12, 2001 See also:

2 Benefits Business Terms Distributed Maintenance Multiple Systems using same Rules Hierarchies Reduces Maintenance

3 Tuple Joe User can do Business Function in some Context Subject, Verb, Predicate sentence structure –Makes business rules easy to document –Generic enough to express many things Two part expression can’t describe scope Business Functions should hide implementation details

4 Hierarchies Changes to Hierarchy don’t require Authorization Maintenance Allows fewer explicit Rules to be maintained Avoids single decision on “grain” of authorization Alternate hierarchies over the same objects Negation or exceptions not allowed

5 Application Responsibilities Design Stage –Define Business functions –Define Context or Qualifier Ongoing Maintenance –Maintain Hierarchies –Set individual authorization rules Checking Authorizations –Interprets authorization rules –Enforces authorization rules

6 Authorization Service Responsibilities Stores & Retrieves Information only No Interpretation of Authorization –No Predefined Terms, only structure Hierarchy Traversal

7 MIT ROLES DB More Details Where we are today Future Plans

An authorization is a Triplet Authorization = Person + Function + Qualifier –(for OKI, a “person” will be generalized to an “agent”) Lets someone do something somewhere: –Who? =Person –What? =Function –Where? =Qualifier 8

9 Why a Qualifier? Often a person is authorized to perform a Function only within an org. area (school, dept., lab, etc.) or within a financial area PERSONFUNCTIONQUALIFIER JoeReview SalariesDept. of Biology SallyCreate RequisitionsAcct FredApprove Reqs.Accts. in Biology AnnGrade StudentsCourse 6.001

Why not more than one Qualifier? Our experience is: You don’t need more than one. –Define a few simple roles and secondary “qualifiers” may drop out –You may need a few extra Functions, (e.g., Create Requisitions $5K) Describing auth. needs in the P + F + Q model helps you to separate the business roles from the arcane technobabble of your software 10

11 Creating an Authorization To create an Authorization, pick a Person, a Function, and a Qualifier from existing tables Each Function has an associated QualiferType (e.g., “Spend Funds” might require an acct. no. or group of acct. nos.) Your authority to create authorizations will be restricted to certain Functions and Qualifiers

12 Qualifiers are organized into hierarchies Qualifiers of a given QualifierType start at a root node, and include 2 or more levels The Qualifier component of an Authorization can be the root, a node, or a leaf within the tree If the Auth. specifies the root or a node, then the Auth. applies to all descendent objects under the node

13 Is there always a Qualifier? Some Functions are associated with the special QualifierType “NULL”. Authorizations for these Functions are not restricted by a Qualifier

Enforcing Authorizations Each application enforces its authorizations Authentication is a separate step. (We use Kerberos tickets or an X.509 certificate –In this model, certificates are used only for authentication, e.g., getting the person’s Kerberos username? Then, the application answers the question Can user X do function Y with qualifier Z? by looking at Auths. from the Roles DB 14

System in production at MIT Put into production in early 1998 Our system is used by SAP (financial), NIMBUS (Budget System), Graduate Admissions, Labor Distribution System, with other systems planned Maintenance of financial auths. is distributed to departments, with a framework in place to expand to other areas 15

16 Components of our system Oracle Database with PL/SQL stored procedures PowerBuilder front-end for distributed maintenance of authorizations Web front-end for more wide-spread viewing of authorizations and related info. Perl scripts for data feeds of supporting info Java API under development

Current implementation at MIT: Data flow Data Warehouse Roles DB Power Builder Appl. Warehouse views Admissions System SAP Financial Supporting information is fed nightly from data warehouse to Roles DB 2.Front-end application is used to create “authorizations” in Roles DB 3.Authorization information is converted and sent to various applications 17

18 Looking up Auth. information Some applications pull extract of Authorizations from Roles DB and save in local cache Others do real-time lookups via Oracle stored procedures or (soon-to-be-released) Java API In one case (SAP), we convert and push Auth. information to the external app.

19 Java API under development Will support –Lookups of Authorizations –Real-time maintenance of Functions and Qualifiers Tentative schedule –First implementation of minimal functionality planned for late January –Additional reporting features added later

Audit trail and historical data We have an audit trail that shows every change made to every Authorization It would be possible to reconstruct a person’s auths. on any day in the past – but we haven’t coded this yet. 20