Skip to end of metadata
Go to start of metadata

Document Status

May 18, 2012 - Draft available for review and comment. Additional explanation of each sub-requirement and guidance on selecting among alternatives will be provided in a future draft.

Purpose

This document provides example requirements for Identity and Access Management (IAM) integration that should be considered when planning the purchase of an application or developing materials involved in a competitive solicitation such as a Request for Proposal (RFP), Request for Quotation (RFQ), Statement of Work (SOW), etc.

How to Use this Document

Not all the requirements in this document will apply to integrating any given application and there may be additional requirements not included here. For example, while some requirements apply only to web applications, most are relevant to a range of application architectures. Planning teams need to carefully consider their business requirements relative to the different integration options that are available and then select the requirements that are most appropriate.

Each requirement has been given a unique name for easy reference. Names that differ only by a letter designation (e.g. AUTH-1A, AUTH-1B) denote a set of alternatives to select from. In most cases you would select only one requirement from the set. 

Overview

IAM requirements are organized into four categories: Account Provisioning & De-provisioning, Authentication, Authorization & Role Management, and Session Management. For each category a general description of goals is provided, followed by a list of specific requirements that will help ensure goals will be met.

Account Provisioning & De-provisioning (PROV)

Account provisioning and de-provisioning are the processes that create an account in an application, maintain the accuracy of account information over time, and delete the account when it is no longer needed in the application. Account information typically includes a unique user identifier such as UW NetID (but not the user's password) as well as user profile attributes such as name and email address.

The primary goal of “Account Provisioning & De-provisioning” integration is to leverage UW institutional information and processes to automate account management in the application, rather than having to recreate this information from scratch and manage it independently in an additional location. The specific data elements that are required to automate this process vary from application to application.

Requirement: The application will integrate UW institutional information for user account and profile provisioning and de-provisioning (create, update, and delete operations).

Sub-requirements

PROV-1A

The application will create, update, and delete user accounts and profiles in the application by accepting a batch file feed from the UW with an agreed upon design (format, schedule, etc.).
PROV-1BThe application will create, update, and delete user accounts and profiles in the application by consuming UW data integration services programmatically (pull model).
PROV-1CThe application will create, update, and delete user accounts and profiles in the application by providing a provisioning API the UW can use programmatically (push model).
PROV-1DThe application will create and update user accounts and profiles in the application by consuming SAML attributes at user logon time. Note that this mechanism can't provide for automated de-provisioning. (May apply if AUTHN-1A is selected.)
PROV-2The application will support user ID length and formats compatible with the account identifier provided by the UW (e.g. UW NetID, EPPN)

Authentication (AUTHN)

Authentication is a process by which users, processes, or services provide proof of their identity. User authentication often relies on a username and password but may also require a second authentication factor (e.g. a PIN from an Entrust hardware token) where greater assurance of identity is required. Processes and services may authenticate each other with other kinds of credentials.

The primary goal of “Authentication” integration is to ensure that applications use existing UW authentication systems and protocols. In particular, applications should utilize UW NetID authentication so that UW users don’t need to obtain an additional user ID and password local to the application.

Requirement: The application will integrate with existing UW authentication systems and protocols to authenticate users, processes, and services.

Sub-requirements
AUTHN-1AUW NetID authentication will be verified using SAML 2 protocol and the UW’s Identity Provider.
AUTHN-1BUW NetID authentication will be verified using Windows Authentication and the UWWI Active Directory.
AUTHN-2The application will use InCommon as the source for the UW Identity Provider’s SAML metadata. (May apply if AUTHN-1A is selected.)
AUTHN-3The application will support single sign-on (SSO) with other UW applications that use SAML 2 (May apply if AUTHN-1A is selected.)
AUTHN-4The application can require 2-factor token authentication on a per user, group, or role basis. (May apply if AUTHN-1A is selected.)
AUTHN-5AThe application provides a mechanism for an authorized user to impersonate another user in the application without needing their password.
AUTHN-5BApplication APIs provide a mechanism for an API client to impersonate a user in the application without needing their password. 
AUTHN-6AThe application will authenticate to UW services for data integration using an X.509 certificate from the UW Certificate Authority. (May apply if PROV-1B, AUTHZ-5B, or AUTHZ-5E are selected.)
AUTHN-6BThe application will authenticate to UW services for data integration using an Application UW NetID. (May apply if PROV-1B, AUTHZ-5B, or AUTHZ-5E is selected.) 

Authorization & Role Management (AUTHZ)

Authorization & Role Management are access management processes that ultimately control what a user or process is allowed to do in an application. These processes may include organizing users into groups, assigning users or groups to roles, and managing the permissions for each role on application resources.

The primary goal of “Authorization & Role Management” integration is to use UW systems and institutional information to control access within the application. For example, this could mean externalizing authorization from the application by querying ASTRA for user authorizations or by checking the UW Groups service for group memberships. Several options are available. Another goal is ensuring that the application’s role and permission model has the flexibility to handle current and anticipated business needs.

Requirements: The application will integrate with existing UW services to manage groups, roles, and permissions. The application’s access control model will be flexible and extensible by the UW as required to meet business needs.

Sub-requirements
AUTHZ-1The application has an access control model that can be extended to accommodate UW custom roles.
AUTHZ-2The application can map groups or individuals into roles.
AUTHZ-3The application allows the UW to customize the permissions applied to roles.
AUTHZ-4The application supports multiple roles per user without requiring multiple accounts.
AUTHZ-5AThe application can manage groups and roles based on a batch file feed from the UW with an agreed upon format and schedule.
AUTHZ-5BThe application can manage groups and roles by consuming UW data integration services programmatically (pull model).
AUTHZ-5CThe application can manage groups and roles by providing a provisioning API the UW can call programmatically (push model).
AUTHZ-5DThe application can manage groups, roles, or permissions by consuming SAML attributes at user logon time. (May apply if AUTHN-1A is selected.)
AUTHZ-5EThe application can query a UW authorization service (e.g ASTRA, UW Groups Service) to determine if a user is permitted to perform a given operation.
AUTHZ-6AAfter a user authenticates but before they can access application resources, the application can call an external UW service that knows whether a user has a current Institutional Data Access Agreement and if not redirect the user to an appropriate URL. 
AUTHZ-6BBefore granting access to application resources, the application can check a SAML attribute to determine if the authenticated user has a current Institutional Data Access Agreement and if not redirect the user to an appropriate URL. (May apply if AUTHN-1A is selected.) 

Session Management (SM)

Session Management provides capabilities to control properties of a user's session such as session length, forced reauthentication, and logout.

The primary goal of “Session Management” requirements is to ensure that data security controls on user application sessions can be configured to meet current and anticipated business needs.

Requirement: The application will allow configuration of user session controls that meet UW security and privacy needs.

Sub-requirements
SM-1The application has a configurable user session inactivity timeout.
SM-2The application has a configurable user session maximum lifetime. 
SM-3The application can trigger authentication for an existing anonymous session when a user requests protected application content. 
SM-4The application supports session context step-up from password authentication to 2-factor token authentication when more sensitive data or functions are requested by a user. (May apply if AUTHN-1A is selected.)
SM-5 The application can force re-authentication of a user that was previously authenticated in the UW single sign-on (SSO) environment. (May apply if AUTHN-3 is selected.)
SM-6The application supports user-initiated logout. 

References

To learn more about procurement processes at the UW, refer to Procurement Services.

  • No labels