implementing mace grouper at brown university james cramton october 9, 2007 internet2 fall member...

13
Implementing MACE Grouper at Brown University James Cramton October 9, 2007 Internet2 Fall Member Meeting 2007 San Diego, CA

Upload: scott-watkins

Post on 13-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Implementing MACE Grouper at Brown University

James Cramton

October 9, 2007

Internet2 Fall Member Meeting 2007San Diego, CA

Project Goals

• Centralize group definitions

• Make groups more accessible to apps

• Delegate group management

• Improve group management interface

• Adopt compatible standards

• Minimize service interruptions

• Phased rollout of supported apps

Solution Scope

• 1 year in planning• 1 PT developer• 1 PT sys admin• 3 PT managers

• 2 months in execution• 2 FT developers• 1 PT sys admin• 3 PT managers

• Identify measurable benefit to CIS• Pilot Instructional Technology applications

• WebCT course management software• Majordomo email list manager• Confluence wiki• iTunes U

• Limit initial user base to 6 users of the GUI• Focus on the well known course group schema

Current Status

• Production launch at start of Fall semester 2007• Limited to course groups

• 2,500 ‘real’ courses; 4,500 with independent study• 14 groups per section 60,000 course groups

• Nightly provisioning takes 5 – 8 hours• LDAP provisioning takes 1.5 – 2 hours

• Runs continuously after nightly provisioning• Replicates ad-hoc changes in near-time (2 – 4 hours)• Corrects minor discrepancies created under load

• Demographic groups using legacy Brown Grouper

System Diagram

AfterBefore

LDAP

Grouper Feed

WebCTCourse

Memberships

iTunes

ConfluenceCourses

MACE Grouper

Majordomo Courses

Admins

Grouper Feed

WebCTCourse

Memberships

iTunes

ConfluenceCourses

Brown Grouper

Majordomo Courses

Admins

Student

AuditorTA

Instructor

LDAP

Provisioning Workflow

• Nightly provisioning batch runs in 5 - 8 hours

• Each step executes via ssh immediately after its predecessors, from a shell script on a one host

• Batched LDAP provisioning replicates ad-hoc Grouper changes every 1.5 - 2 hours

• Dependencies on nightly person provisioning can suspend execution

Person and Group Provisioning Interactions

Fee

dsP

eopl

eG

roup

Pre

pM

AC

E G

roup

erLD

AP

Gro

ups

Web

CT

Edsel QA MACE Grouper

Edsel QA MACE Grouper

WhiskeyWebCT

WhiskeyWebCT

TerraQA Registry,

Brown Grouper

TerraQA Registry,

Brown Grouper

LyraRegistry

LyraRegistry

BootesBrown Grouper

BootesBrown Grouper

FalconMACE Grouper

FalconMACE Grouper

KiloQA WebCT

KiloQA WebCT

BRU FeedGrouper FeedCourse Feed

Harvey

Harvey complete

Groupsync

Groupsync complete

Groupsync

Groupsync complete

Updategroups complete

Update Groups

LDAPpc complete

LDAPpc

Registry_usercomplete

Registry_user provisioning

WebCT provisioning

WebCT provisioning

Registry_user provisioning

Updategroups complete

Registry_usercomplete

Update Groups

LDAPpc complete

LDAPpc

Feeds Complete

BRU FeedGrouper FeedCourse Feed

Grouper FeedCourse Feed

1:30 AM - 3:00 AM

12:00 AM - 1:30 AM

3:00 AM - 3:30 AM

3:30 AM - 4:00 AM

4:15 AM - 7:00 AM

7:00 AM - 8:00 AM

Harvey

Harvey complete

Course Group Schema• Course : [ Subject ] : [ Number ] : [ Term ] : [ Section ]

• All• Administrator

– Instructor (Provisioned)– TeachingAssistant– Manager

• Contributor– ContentDeveloper– Mentor

• Learner– Student (Provisioned)– Auditor– Vagabond

[ brackets ] indicate dynamic dataBold indicates eduCourse/IMS compatible role

• Schema is flattened to provision LDAP• 12 groups per course provision hasMember attribute in Groups ou• Person objects get isMemberOf pointers to groups

Application Role Mapping

• Documented how Grouper groups map to application roles• Application integration characteristics allow some flexibility• Mapping highly dependent on user feedback

MACE Grouper Course Groups iTunes Majordomo Confluence WebCT

All   Recipient list, Discussion Sender Can Use  

Administrator Instructor Broadcast Sender Space Admin  

Instructors (provisioned)       Instructor

Managers        

TAs       TA and Designer

Contributor Instructor   Space Admin  

Content Developers       Designer

Mentors        

Learner Student      

Auditors       Auditor

Students (provisioned, read only)       Student

Vagabonds       Auditor

Other, outside MACE Grouper Super Admin     Super Admin(s)

Lessons Learned—Integration

• Write good documentation• 40 pages of concepts, role mapping, plus Grouper and application tasks

• Test with the most representative data possible• Mid-term data not always representative—too little change• Beginning of term data causes more change—and longer run time• Be prepared for a lengthy support cycle after launch

• Application ‘support’ for external groups is variable• Some integrate directly with LDAP ~ natively (iTunes, Majordomo)• Some use separate provisioning scripts (WebCT)• Some suffer loss of usability with thousands of groups (Confluence)• None pay any attention to group ACLs—use single bind dn

• Application needs vary by course or group• Some need section-specific course groups• Some need multi-section course groups

• Few performance problems in the Grouper UI• LDAPpc provisioning needs performance and feature improvements• Provisioning LDAP from group attribs would allow more flexibility

Lessons Learned—Group Management

• Limit initial release audience to manageable, trusted group• Demographic groups are a big challenge

• 10 years of legacy demographic group evolution is a mess• Legacy demographic groups have redundancy and transparency problems• Can’t clean up part of the legacy data without addressing all groups

• Demographic group resolution gating factor in deploying apps• WebAuth• Wifi• Bulk Email

• Naming conventions take a long time to define• Accurately representing existing uses of groups• Maintaining standards compatibility (eduCourse/IMS)• Catch-all group important in course schema

• Widespread use will require exposure of implications of actions• Lay users will need a clear understanding of how changes impact apps• GUI troubleshooting tool awaits in Nirvana

Next Steps

• Software improvements needed in near term• Performance

• LDAPpc batched performance around 2 hours is too long• Provision LDAP using attribs, not stems

– Speed: Do not provision 2,000 independent study course groups– Flexibility: Add courses to provisioning process as needed

• Logging and auditing capabilities need improvement• UI needs to be customized for Brown’s needs

• Off-the-shelf UI is demonstration of all capabilities• Collaboration started with other campuses

• Identify priorities for fall development• Other CIS projects• Deploy more applications using course groups• Delve into demographic groups, AD, NDS migrations (complicated)• Support more detailed privilege management (Signet?)• Develop tool to expose implications of group and privilege changes

Long Term Vision

• Identify who manages groups• Allow lay people to manage their groups & privileges

• Must convey implications of group & privilege changes across apps• Pursuing idea of a ‘services portal’ to automatically activate selected

services for specific groups• Both imply more granular control of privileges

• Message-based provisioning• Provide real-time change availability

1. From Grouper to LDAP2. From HR or course management systems to Grouper

• Enforcement of group ACLs from within applications• Apps should not expose existence or membership of some groups• Have yet to see an application support this• Probably can be achieved by removing capabilities from apps• May require exposure of privilege management to community