User Provisioning Design

This document provides a description of a UCTrust-based infrastructure to support user provisioning for inter-campus applications within the University of California. This infrastructure represents an extension to the existing Shibboleth-based UCTrust infrastructure to address use cases, such as those described in User Provisioning Use Cases.

For the purposes of this document, user provisioning is defined to be the processes, both human and automated, that authorize (and de-authorize) people to use application systems, when those processes occur at times other than the start of an online session.  This is distinguished from application systems that use a "pure" single sign-on infrastructure (e.g., Shibboleth), authorizing anyone with a defined set of attributes that are provided at the start of a session.

The infrastructure described in this document will support the exchange of identity information from campus Identity and Access Management (IAM) systems to application systems, not the entire set of provisioning processes.  The Roles and Responsibilities section below describes where those other provisioning processes should be implemented.

While UCTrust is the first intercampus use of middleware in the University of California, this project is UC's first use of middleware as an application development paradigm. The infrastructure described is specific to the exchange of identity information for user provisioning. It does, however, embody many aspects of a more general-purpose infrastructure for data interchange among arbitrary systems that should be useful in the future.

Principles and Assumptions

Design Diagrams

High-level design:

The following diagram illustrates the high-level design of this infrastructure for two applications that retrieve identity information from four campuses.

Just as with Shibboleth in UCTrust,

The following types of access will be supported. Other than SSO Event (Shibboleth), they will be supported by the Common Interface:

Detailed design:

Data Release and Governance

Roles and Responsibilities

IAM Responsibilities
Application Administrator Responsibilities
UCTrust Responsibilities

Technical Implementation

For information included in the original design conversations regarding SP, IDMS and Interchange, see the the Archived User Provisioning High-Level Design Docs

Related Efforts in Higher Education

Technical Implementation Thoughts

Wire Protocols

SCIM
SPML
SAML
Comparison

UCOP-Trappist-Magic-Quadrant-2.pdf

Sample Request Flow

IdP toolkit


SP Toolkit


Related Links