77
The SHANDS UF PORTAL A Practical Approach for Web Portal Security Using Roles, Rules, Directories, and all that Stuff

A Practical Approach for Web Portal Security Using Roles

Embed Size (px)

DESCRIPTION

A Practical Approach for Web Portal Security Using Roles, Rules, Directories, and all that Stuff

Citation preview

Page 1: A Practical Approach for Web Portal Security Using Roles

The SHANDS UF PORTAL

A Practical Approach for Web Portal Security Using Roles, Rules,Directories, and all that Stuff

Page 2: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a roles database?

Page 3: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a roles database?

A roles database is a mechanism used to assign a user access to data or applications.

Page 4: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a roles database?

Access control information for an enterprise should be hosted centrally, and made available to remote applications as needed. (1)

Page 5: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a roles database?

The Roles data model must be based on a robust design to enable extension and customization. (2)

Page 6: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a roles database?

Roles should be thought of as a core service that other applications will use, much like LDAP or DNS. (2)

Page 7: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a roles database?

Users

Role Permission

User Group Role

Group

Group Role Perm

Group Role

The UF data model.

Page 8: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a roles database?

A typical implementation: assign a set of permissions to a group and role and then associate many users with the group and role…

Page 9: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a roles database?

…in other words,who can do what to which data.

Page 10: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a roles database?

Permission group role relationships tend to be very stable while user group role relationships change often.

Page 11: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a roles database?

Permissions groups and roles should be centrally administrated because they define organizational security policy.

Page 12: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a roles database?

Associating users with groups and roles should be de-centralized. Local administrators are familiar with employees and their functions.

Page 13: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a role?

Role

Page 14: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a role?

It depends who you talk to. Different dialects express similar concepts.

Page 15: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a role?

In our model, a role defines a functional entity– e.g., “a sales manager”.

Page 16: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a group?

Group

Page 17: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a group?

A group is a logical way of combining and managing roles across a distributed enterprise.

Page 18: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a group?

In our model, a group defines an organizational entity– e.g., “east region”.

Page 19: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Group Role

Group

Role

Combining groups and roles

Page 20: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Combining groups and roles

A group and role are combined to provide very granular security across a distributed enterprise. Here are a couple scenarios.

Page 21: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Group WestRole Manager

A national company might have a regional manager for its two divisions…

Group EastRole Manager

Page 22: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Group WestRole Manager

…each associated with a group defined to have a permission to access only to their own data…

Group EastRole Manager

Page 23: A Practical Approach for Web Portal Security Using Roles

The Roles Database

…while the national sales manager, being associated with both groups, has permission to access both.

Group WestRole Manager

Group EastRole Manager

Page 24: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Group EastWestRole Manager

The data model supports

inheritance ... Group West

Role ManagerGroup East

Role Manager

Page 25: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What are rules?

Page 26: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What are rules?

Rules define corporate security policy and should be stored once and shared with other applications. Basically rules modify permissions.

Page 27: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What are rules?

Role Perm

Group

Group Role Perm

Group Role

The Group Role Permissions

table stores access control

rules.

Page 28: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What are rules?

Storing rules at the group role permission level means that security can be different across groups with the same role...

Page 29: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What are rules?

...Shands at UF doctors will have different permissions and/or different rules than doctors at other Shands hospitals.

Page 30: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What are rules?

Storing rules at the group role permission level also means that security will be consistent within the group role...

Page 31: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What are rules?

…the rules and permissions will be the same for all Shands at UF doctors.

Page 32: A Practical Approach for Web Portal Security Using Roles

The Roles Database

How are rules implemented?

Page 33: A Practical Approach for Web Portal Security Using Roles

The Roles Database

How are rules implemented?

Access control rules are stored in XACML format an emerging W3C

standard.

Page 34: A Practical Approach for Web Portal Security Using Roles
Page 35: A Practical Approach for Web Portal Security Using Roles

The Roles Database

How are rules implemented?

It takes data and process together to define and implement a rule so XACL rules are interpreted by subroutines (objects).

Page 36: A Practical Approach for Web Portal Security Using Roles

The Roles Database

How are rules implemented?

For example: A permission may be associated with multiple groups and roles...

Page 37: A Practical Approach for Web Portal Security Using Roles

The Roles Database

How are rules implemented?

Loop through user/group/role Call security object If OK say yesEnd Loop

Page 38: A Practical Approach for Web Portal Security Using Roles

The Roles Database

How are rules implemented?

Rules and User/Group/Role associations never change they can only expire. Use an effective timestamp and expire timestamp.

Page 39: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a context?

Page 40: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What is a context?

Users

User Group Role

Group Role

A user is associated with one (or more) User Group Role.

Page 41: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Users

User Group Role

Group Role

A practicing physician might also be a an administrator...

Page 42: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Users

User Group Role

Group Role

…so she is associated with two User Group Roles.

Page 43: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Her portal functions are driven by her user group roles.

Page 44: A Practical Approach for Web Portal Security Using Roles

Tabs for each context

Page 45: A Practical Approach for Web Portal Security Using Roles

Menus are driven by Roles

Page 46: A Practical Approach for Web Portal Security Using Roles

The Roles Database

If she leaves her administrative position, her administrative security would expire.

Page 47: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Her Administrator context would be unavailable to her; her Care Provider menus, preferences, and permissions would not be affected.

Page 48: A Practical Approach for Web Portal Security Using Roles
Page 49: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What about profi les?

Page 50: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What about profi les?

Profi les allow a user to customize an application to suit their own personal preferences.

Page 51: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Users

User Group Role

Group Role

Profiles are stored at the User Group Role level...

What about profi les?

Page 52: A Practical Approach for Web Portal Security Using Roles

The Roles Database

…as XML to be easily shared with other applications.

What about profi les?

Page 53: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Where are profiles kept?

Page 54: A Practical Approach for Web Portal Security Using Roles

The Roles Database

What about profi les?

Since profiles are kept at user group role level, preferences in one role may be different from preferences in a another role.

Page 55: A Practical Approach for Web Portal Security Using Roles

The directory

The Directory data model.

Page 56: A Practical Approach for Web Portal Security Using Roles

RelationshipEntity key uuid

Phone

eMail

Identifier

AddressName

Access Extension

The directory

Page 57: A Practical Approach for Web Portal Security Using Roles

The directory

The Directory data model

This is the meta Directory or the canonical source. Ultimately it must be the repository of all entities and feed other applications and LDAP.

Page 58: A Practical Approach for Web Portal Security Using Roles

The directory

The Directory data model

A Directory Entity has two subtypes: person and organization...

Entity key uuid

Person Organization

Page 59: A Practical Approach for Web Portal Security Using Roles

The directory

The Directory data model

New subtypes can be created as required.

Entity key uuid

New Type New Type

Page 60: A Practical Approach for Web Portal Security Using Roles

The directory

The Directory data model

The Relationship table is one of the more interesting tables. It associates two directory entities…

Relationship

Entity key uuid

Page 61: A Practical Approach for Web Portal Security Using Roles

The directory

The Directory data model

...person works-for organization is a simple example. Policy must dictate valid relationships.

Person

Organization

Page 62: A Practical Approach for Web Portal Security Using Roles

The directory

The Directory data model

The Extension table is a CLOB that holds additional info in XML or other format...

Extension

Page 63: A Practical Approach for Web Portal Security Using Roles

The directory

The Directory data model

<PROFILE> <MEDIC> <CONTEXT>Administrator </CONTEXT> </MEDIC></PROFILE>

Page 64: A Practical Approach for Web Portal Security Using Roles

The directory

The Directory data model

The Access table tracks computer accounts. Access

Page 65: A Practical Approach for Web Portal Security Using Roles

The directory

The Directory data model

The rest are fairly standard - address, name, email and etc. All have a one to many relationship to Entity and support multiple types.

Page 66: A Practical Approach for Web Portal Security Using Roles

The directory

The Directory data model

The directory is populated by batch at this time and is fed from other sources but we must turn that around quickly.

Page 67: A Practical Approach for Web Portal Security Using Roles

A Portal Application

A group role application.

Page 68: A Practical Approach for Web Portal Security Using Roles

A Portal Application

The calendar is a group role aware portal application.

A group role application.

Page 69: A Practical Approach for Web Portal Security Using Roles
Page 70: A Practical Approach for Web Portal Security Using Roles

A Portal Application

A group role application.

Different calendars will show up in different contexts based upon a user’s profile data.

Page 71: A Practical Approach for Web Portal Security Using Roles

A Portal Application

A group role application.

There are many more group role aware applications in our portal including customizable patient lists for doctors.

Page 72: A Practical Approach for Web Portal Security Using Roles

The Shands Uf portal

Review

The roles access control rulesThe directory relationships between entities

Page 73: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Questions?

Page 74: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Thank you!

Page 75: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Sources

1. “The Roles Database at the Massachusetts Institute of Technology”, presentation by Jim Repa at EDUCAUSE Conference, October 29, 1999 http://www.educause.edu/ir/library/html/edu9942/edu9942.html

2. “Roles”, PowerPoint presentation by Ward Wilson, University of Florida DBA, 2002.

3. OASIS XML-based Access Control Markup Language (XACML) http://www.oasis-open.org/committees/docs

Page 76: A Practical Approach for Web Portal Security Using Roles

The Roles Database

Acknowledgments

1. Thanks to Michael Lucas for preparing the first draft and providing the design and layout for this presentation

Page 77: A Practical Approach for Web Portal Security Using Roles