RECALL THE MAIN COMPONENTS OF KIM Functional User Interfaces We just looked at these Reference Implementation We will talk about these later Service Interface.

Slides:



Advertisements
Similar presentations
Design Validation CSCI 5801: Software Engineering.
Advertisements

CASE STUDIES Indiana University University of California, Davis University of Maryland San Joaquin Delta College University of Arizona University of Washington.
KS Authorization Weixia (Bonnie) Huang Feb 19, 2013.
UDDI v3.0 (Universal Description, Discovery and Integration)
INTRODUCTION TO ASP.NET MVC AND EXAMPLE WALKTHROUGH RAJAT ARYA EFECS - OIM DAWG – 4/21/2009 ASP.NET MVC.
Kuali Identity Management: Introduction and Implementation Options Jasig - Spring 2010 Wednesday, March 10, :30 am.
KUALI ENTERPRISE WORKFLOW OVERVIEW Eric Westfall.
Edoclite and Managing Client Engagements What is Edoclite? How is it used at IU? Development Process?
Kuali Rice at Indiana University Important Workflow Concepts Leveraged in Production Environments July 29-30, 2008 Eric Westfall.
Chapter 4 Chapter 4: Planning the Active Directory and Security.
© 2004, The Trustees of Indiana University 1 OneStart Workflow Basics Brian McGough, Manager, Systems Integration, UITS Ryan Kirkendall, Lead Developer.
70-293: MCSE Guide to Planning a Microsoft Windows Server 2003 Network, Enhanced Chapter 7: Planning a DNS Strategy.
Methodology Conceptual Database Design
Understanding Active Directory
Implementing Kuali Identity Management at your Institution Kuali Days VIII San Antonio Texas Pre-conference Workshop Monday, November 16, a.m. -
Introduction to Kuali Rice Presented at Internet2 April 2009 Eric Westfall – Kuali Rice Project Manager Bill Yock – Vice Chair, Kuali Rice Board of Directors.
Kuali Rice Technical Overview February Components of Rice  KEWKuali Enterprise Workflow  KNSKuali Nervous System  KRADKuali Rapid Application.
Authorization Scenarios with Signet RL “Bob” Morgan University of Washington Internet2 Member Meeting, September 2004.
1 Kuali Identity Management Advanced CAMP: Identity Services Summit for Higher Ed Open / Community-Source Projects.
SMART Agency Tipsheet Staff List This document focuses on setting up and maintaining program staff. Total Pages: 14 Staff Profile Staff Address Staff Assignment.
Kuali Rice at Indiana University Rice Setup Options July 29-30, 2008 Eric Westfall.
Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS.
OHT 11.1 © Marketing Insights Limited 2004 Chapter 9 Analysis and Design EC Security.
INTEGRATION WITH OTHER IDM SOLUTIONS Remember… The primary goal of KIM was to build a service- oriented abstraction layer for Identity and Access Management.
PIV 1 Ketan Mehta May 5, 2005.
Kuali Enterprise Workflow Presented at ITANA October 2009 Eric Westfall – Kuali Rice Project Manager.
KUALI IDENTITY MANAGEMENT Provides services for Identity and Access Management in Kuali Integrated Reference Implementations User Interfaces An “integration.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Key Takeaway Points A use case is a business process; it begins with an actor, ends with the actor, and accomplishes a business task for the actor. Use.
TWSd - Security Workshop Part I of III T302 Tuesday, 4/20/2010 TWS Distributed & Mainframe User Education April 18-21, 2010  Carefree Resort  Carefree,
Building Applications with the KNS. The History of the KNS KFS spent a large amount of development time up front, using the best talent from each of the.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
Storing Organizational Information - Databases
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Kuali Enterprise Workflow Kuali Days – November 2008 Scott Gibson, University of Maryland Bryan Hutchinson, Cornell University James Smith, University.
M ODELING B USINESS P ROCESSES IN K UALI E NTERPRISE W ORKFLOW Eric Westfall – Indiana University Claus Niesen – Iowa State University.
M ODELING B USINESS P ROCESSES IN K UALI E NTERPRISE W ORKFLOW Eric Westfall – Indiana University Claus Niesen – Iowa State University.
Kuali Identity Management Overview. Why did we write KIM? Common Interface for Kuali Applications Provide a Fully-Functional Product A Single API for:
Module 6 Securing Content. Module Overview Administering SharePoint Groups Implementing SharePoint Roles and Role Assignments Securing and Auditing SharePoint.
Jan Hatje, DESY CSS GSI Feb. 2009: Alarm System, Authorization, Remote Management XFEL The European X-Ray Laser Project X-Ray Free-Electron.
Kuali Rice A basic overview…. Kuali Rice Mission First and foremost to provide a consistent development framework and common middleware layer for Kuali.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Kuali Identity Management: Introduction and Implementation Options Jasig - Spring 2010 Wednesday, March 10, :30 am.
© 2006, The Trustees of Cornell University © 2006, The Trustees of Indiana University Kuali Nervous System Aaron Godert, Kuali Development Manager Brian.
A university for the world real R © 2009, Chapter 9 The Runtime Environment Michael Adams.
Claims-Based Identity Solution Architect Briefing zoli.herczeg.ro Taken from David Chappel’s work at TechEd Berlin 2009.
Community Sign-On and BEN. Table of Contents  What is community sign-on?  Benefits  How it works (Shibboleth)  Shibboleth components  CSO workflow.
KIM: Kuali Abstraction Layer for Identities, Groups, Roles, and Permissions.
DSpace System Architecture 11 July 2002 DSpace System Architecture.
Page 1 of 42 To the ETS – Create Client Account & Maintenance Online Training Course Individual accounts (called a Client Account) are subsets of the Site.
Software Requirements Specification Document (SRS)
Kuali Identity Management: Introduction and Implementation Options Jasig - Spring 2010 Wednesday, March 10, :30 am.
Eric Westfall KUALI ENTERPRISE WORKFLOW OVERVIEW.
Building Preservation Environments with Data Grid Technology Reagan W. Moore Presenter: Praveen Namburi.
Overview of Basic 3D Experience (Enovia V6) Concepts
SAP R/3 User Administration1. 2 User administration in a productive environment is an ongoing process of creating, deleting, changing, and monitoring.
1 A Look at the Application Authorized users can access Communicator! NXT from any Internet-capable computer via the Web.
Community Sign-On and BEN. Table of Contents  What is community sign-on?  Benefits  How it works (Shibboleth)  Shibboleth components  CSO workflow.
Justin Scheitlin Daisey Fahringer
REDCap General Overview
Welcome! To the ETS – Create Client Account & Maintenance
Implementing Kuali Identity Management at Your Institution
Recall The Team Skills Analyzing the Problem (with 5 steps)
Section 13 - Integrating with Third Party Tools
11i Journal Workflow: Maximize the Potential
Overview of Basic 3D Experience (Enovia V6) Concepts
Privilege Management: the Big Picture
Signet & Privilege Management
Groups and Permissions
Check-in Identity and Access Management solution that makes it easy to secure access to services and resources.
Presentation transcript:

RECALL THE MAIN COMPONENTS OF KIM Functional User Interfaces We just looked at these Reference Implementation We will talk about these later Service Interface API Let’s take a look at the service architecture for Kuali Identity Management

MAIN KIM SERVICES Identity Service Group Service Role Service Permission Service Responsibility Service

IDENTITY SERVICE Responsible for Principals and Entities Principals have a “name” which is intended to be the user name they use to authenticate All principals are associated with an entity There can be different types of entities, including Person and System

IDENTITY SERVICE Numerous pieces of data can be stored about an entity including: names, affiliations, external ids, employment information, address, phone, , privacy preferences (FERPA), etc. Example Service Operations: Get principal by id Get principal by principal name Get entity info by id Get entity info by principal id Get entity privacy preferences

GROUP SERVICE All groups identified uniquely by id or namespace + name Supports nested groups Example Service Operations: Get group by id Get group by name Get groups for principal Is member of group Get member group ids

ROLE SERVICE Roles can have members that are principals, groups or even other roles All members assigned to a role will be granted any permissions or responsibilities that are associated with the role Role membership can optionally be qualified Example Service Operations: Get role by name Get role qualifiers for principal Get role members

PERMISSION SERVICE KIM has the concepts of Permission Templates and Permissions Permission Template represents some course-grained permission Use Screen, Initiate Document, Maintain Records, etc. A Permission is created from a template and has more specific information identified on it’s permission details for example “Initiate Document” of type “Transfer of Funds”

PERMISSION SERVICE Evaluation of permissions is handled by the permission service. KIM provides plug points for implementing custom logic for permission checking Example: permission checks based on hierarchical data This is referred to as a “PermissionTypeService” Example Service Operations: Is principal authorized by permission name with details Is principal authorized by permission template name with details Get assignees for permission Get authorized permissions for principal Get ids of roles that have given permission

RESPONSIBILITY SERVICE Provides integration of KIM with workflow engine via Responsibility Actions These define what actions the principal needs to take (i.e. approve, acknowledge, fyi) on workflow processes Responsibility details identify when these actions are applied during the routing process Responsibility Actions also provide delegation support (for both routing and permission delegation) Example Service Operations: Get responsibilities by name Get responsibility actions Get responsibility actions by responsibility template Does principal have responsibility

ADDITIONAL KIM SERVICES Type Services Authentication Service Identity Management Service Role Management Service Person Service Identity Archive Service

KIM “TYPES” AND TYPE SERVICES In KIM, certain pieces of data are “typed” Types can be used as an organizational tool Also used to customize behavior via “Type Services” Types can be associated with a service which KIM delegates to for certain operations Note that Kim Type Services are not part of the “public” API for KIM, but rather are used behind some of the reference service implementations

SUPPORT KIM TYPE SERVICES Supported Type Services include: KimRoleTypeService KimPermissionTypeService KimGroupTypeService KimResponsibilityTypeService KimDelegationTypeService Let’s look at a couple of these in more detail

ROLE TYPE SERVICES To customize Role behavior you can implement a custom “RoleTypeService” This can provide for the following features: Qualifier Matching Validation (through UI) Derived Roles Qualifier conversion for nested Roles

ROLE QUALIFIER MATCHING RoleService delegates to two API methods on RoleTypeService doesRoleQualifierMatchQualification doRoleQualifiersMatchQualification Takes a set of incoming qualifiers and compares them with qualifiers on each role membership Return true if they “match” These operations are essentially the same, except the second one allows for checking multiple Role Qualifiers at once

ROLE QUALIFIER MATCHING Default implementation just does a straight equality comparison of “incoming qualifiers” and “role member qualifiers” Can implement custom qualification matching logic by creating a custom RoleTypeService Examples: Hierarchy-based check Other comparisons that may need to interact with data or services external to KIM

ROLE DERIVATION As discussed previously, in some cases Role membership cannot be defined statically Typically used for situations where roles are defined in other systems external to KIM Examples: “All Users of the System” – derive the role based on the KIM principal table “All students” – derive the role based on information stored in an external Student Information System

ROLE DERIVATION RoleService delegates to three operations on RoleTypeService: isApplicationRoleType hasApplicationRole getRoleMembersFromApplicationRole Note that the term “application role” and “derived role” mean the same thing in this context isApplicationRoleType is used to determine if the type implements a derived role hasApplicationRole is used to check if a given principal has the derived role getRoleMembersFromApplicationRole is responsible for resolving all the derived members

PERMISSION TYPE SERVICE To customize Permission behavior you can implement a custom “PermissionTypeService” This can be used to implement custom matching logic for permission details getMatchingPermissions Default implementation just does a straight equality comparison of incoming details against a list of possible permission candidates, returning the ones that “match” Custom logic can be implemented here for things like hierarchy-based checks or checks against external systems

AUTHENTICATION SERVICE Extracts information on who the current authenticated principal is Typically from the HttpServletRequest Informs the application of the principal name that has authenticated Default implementation simply reads the “remote user” on the HTTP request

IDENTITY MANAGEMENT SERVICE Client-side façade that sits on top of most of the KIM services Identity Service Group Service Permission Service Responsibility Service Provides caching functionality

ROLE MANAGEMENT SERVICE Client-side façade for the KIM Role Service Provides caching functionality Separate from IdentityManagementService Performing authorization checks based on permissions is best practice Because of this, role membership should not be checked directly in most cases

PERSON SERVICE Provides an API for working with simplified Person data model Person data model includes Default entity data Principal data for the entity Implements caching functionality

IDENTITY ARCHIVE SERVICE Handles archiving of identity data to provide important attributes as backup in the case of identity removal Sits behind the main IdentityService This comes into play depending on an institution’s retention policy on identities Some applications may store references to principal ids for long periods of time If the backend of the identity service fails to resolve a particular principal id, it will be searched for in the identity archive

KIM SERVICE ARCHITECTURE