portal security and sso - ibm€¦ · portal security and sso ibm websphere portal 8.5 workshop ibm...

44
Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

Upload: others

Post on 02-May-2020

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

Portal Security and SSO

IBM WebSphere Portal 8.5 Workshop

IBM Ecosystem DevelopmentDuration: 45 min

Page 2: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation2

Agenda

WebSphere Portal Security Overview Authentication Authorization Additional Security Features and Considerations

Page 3: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation3

Portal Security Basics

Security is composed of many elements— Authentication, Authorization, Auditability, Confidentiality, etc

Portal Security focal points— Authentication (including Single Sign-On (SSO) )

● Who are you?— Authorization

● What are you allowed to see and do?

Page 4: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation4

Portal Security Basics

Portal is a J2EE application Portal relies on Application Server authentication

— Thus requires Application Server Security to be activated in production (LDAP) setups Portal does its own authorization (through Portal Access Control) Portal can leverage in-bound Application Server SSO Portal features a Credential Vault for Back-end SSO

— From portlet to back-end applications

Page 5: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation5

Authentication

User identify themselves to gain access to Portal Most common method: user ID and password Once authenticated, portal determine if user is authorized to access portal

resources Portal supports:

— Form-based Authentication (Portal default) — SSL client certificate authentication— Third party authentication (e.g. IBM Security Access Manager)— HTTP Basic Authentication (for simple clients not capable of Form authentication)

● via Portal provided TAI

Page 6: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation6

Authentication

Portal authentication is the Application Server authentication— You’re logging on to

Application Server Application Server

authentication requires a user registry— Federated Repository— LDAP— Database User Registry— Custom User Registry

● Requires coding

Authentication process can be customized— JAAS— Portal login actions/commands

Application Server authentication can be integrated with external providers (external security managers) using Trust Association Interceptors (TAI)— Security Access Manager /

WebSEAL, eTrust SiteMinder, custom

Page 7: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation7

Planning for Single Sign-On (SSO)

Authenticating a user once and allow subsequent access to applications, systems and networks

In WebSphere Portal context, there are two SSO realms: 1) Client to the Portal (and other applications):

SSO established using● LTPA token● Authentication proxy

2) Portal to backend applications:SSO established using● Credential vault● LTPA (only if backend accepts it through the Credential Vault / JCA)

Page 8: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation8

Authentication – Client to the Portal

Portal uses Application Server Custom Form Login — Relies on Application Server to authenticate— Relies on Application Server to provide the security context

Portal requires Application Server LTPA* token functionality— LTPA token is carried to browser by an HTTP cookie— Cookies must be accepted and returned by the browser or a Proxy

Portal supports Application Server Trust Association Interceptors (TAI)— Security Access Manager/WebSEAL TAI provided by IBM — Computer Asociates eTrust SiteMinder TAI — RSA, Entrust, Oblix TAIs provided by respective vendors

Page 9: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation9

SSO – Client to the Portal

Alice

WebSphere Portal

Another WebSphere Application

Page 10: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation10

SSO – Client to the Portal

Some other Application

Alice

WebSphere Portal

Another WebSphere Application

AuthProxy

TAI

TAI

Page 11: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation11

Simplified Sign-On Portal provides a plug-in (TAI) to

handle communication between the Identity Provider (IdP) and WebSphere Portal as the service provider.

User data and credentials are stored at Identity providers where Applications can retrieve authentication information from.— End users can create a userid

which can be used across multiple applications thus creating a Simplified Sign-On using this “shared” credential.

Portal trusts the identity provider and grants the user entrance.

Portal supports OpenId and OAuth when working with Identity providers— Google and Yahoo use OpenId— Facebook uses OAuth

Some other Application

Alice

WebSphere Portal

(service Provider)

Identity Provider

(IdP)

SAML OAuth

Page 12: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation12

Integrating with OpenID Authentication

OpenID describes a protocol for a user identity model.

Enable Users to authenticate using an existing OpenID with Portal to— Authenticate— Register— Access shared user profile

settings

Provides SSO experience for your site with full control of allowed external services

Simplify Enrollment and Profile update— Retrieve user data from external

service

IBM WebSphere Portal

Page 13: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation13

Authentication – Portal to the Backend

Portal credentials do not necessarily match credentials of backend applications (i.e. SAP)— e.g. Portal userid is “fadams” but SAP userid is “adamsf”

Need a way to store/map portal credentials to backend credentials— Credential Vault Service

Typical usage scenario— Portlet prompts new user to enter userid/password to access backend application— Portlet stores these credentials using the Credential Vault service— In the future, portlet can obtain these credentials from the Credential Vault and would

not need to prompt the user

Page 14: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation14

SSO – Portal to Backend Applications

Alice

WebSphere Portal

BackendApplication

BackendApplication

CredentialVault

Portlet

AjaxProxy

Page 15: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation15

Portal Credential Vault

A Portlet Service for storing and retrieving SSO Credentials, including the user‘s JAAS Subject that was built during login.

A Portlet Service for retrieving SSO Credentials other than userid and password.

A Vault adapter interface to integrate vault implementations like the Tivoli Access Manager Global Sign-On Lockbox

Portlet Portlet Portlet

Cust

omAd

apte

r

Custom Vault

Credential Portlet Service

Defa

ult

Adap

ter

DefaultVault Impl.

Page 16: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation16

More on Credential Vault

Credential Vault Portlet Service— Stores credentials on behalf of users, portlets or entire Portal— Supports Passive credential objects

Credential Vault Adapter Service Provider Interface— Provides interface for credential storage mechanism (2 impl’s):

● Database (default) and Tivoli Global Sign-On Lockbox● Default vault implementation Base64 encodes passive credentials● Obfuscation via a plugable exit

Portlets must be coded to use vault— Only Portlets (or code running in Portal context) can access vault— No out-of-the-box function for end-user password management

● Portlet responsibility, using sample code provided

Page 17: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation17

Impersonation

Acting as a different user— Portal tracks information about original user— Other systems will only recognize impersonated user (e.g. WebSphere)

Protected by Access Control— Controls who can be impersonated by whom

Public APIs to identify Impersonator

Page 18: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation18

Impersonation Sample Scenario

Alice

Bob

Alice experience problem with their websiteand calls help center

Triggers impersonationand sees Alice's problem

Page 19: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation19

Impersonation Sample Scenario

Bob

Triggers impersonation of Alice

Check accesscontrol

Logout current user(Bob)/invalidate session

Login Alice/Add Bob to Security Subject

Trigger Audit Event/redirect

singlerequest

Send redirect with new Security token

Bob

Page 20: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation20

Outbound HTTP Connections

Central control for outbound HTTP connections Functions for authentication and cookie handling Administration via model APIs or configuration tasks Custom outbound service filter possible New in v8.5

Page 21: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation21

Authenticating Outbound HTTP Connections

Access to remote hosts needs to be protected Outbound HTTP connection infrastructure provides internal authentication

support for— HTTP basic authentication— HTTP digest authentication— NTLM authentication (Windows NT LAN Manager)— SSO via SPNEGO token— SSO via LTPA tokens— Form-based authentication

Page 22: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation22

Federated Repository Federated repositories are:

— Federation capabilities provided by VMM

— Integrated with WebSphere Application Server security● As an user registry option

Ability to use multiple repositories simultaneously for user registry

Page 23: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation23

Virtual Member Manager (VMM)

Integrated in WebSphere Application Server V8.x VMM provides a model of the organizational entities and hides from them the

disparate repositories VMM provides a common model, secure access to various brands and types of

repositories, and the ability to use repositories with existing data. Out of the box VMM adapters:

— File-based repository— LDAP repository— Database repository

Page 24: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation24

VMM

LDAP

Propertyextension File LDAP DB Custom

VMM

PUMA API

Repository adapters

WAS User Registry

PortalREST

Federated Custom LDAP

?

WAS

Page 25: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation25

Create Groups Dynamically

Alice C: GermanyManager: Y....

AllManagersInGermany&(c=“Germany“)(Manager=“Y“)

Build Dynamic Groups Inside of WebSphere Portal●Rule-based groups●Group definition outside of Repository●Not managed by standard user repository ●Available since 8.0 or via Solution Catalog (7.0)

C: GermanyManager: N....

Michelle

Page 26: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation26

Community Integration

Portal

Connections

VMM

Alice

Community

● IBM Connections Communities are available at WebSphere Portal via Puma and VMM

Page 27: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation27

Multiple LDAP and Multiple Realm Support

Virtual Portal 1 Virtual Portal 3 Virtual Portal 4

Realm 1 Realm 3 Realm 4

WebSphere Portal

LDAP1 LDAP2

Virtual Portal 2

Realm 1

Page 28: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation28

Concept of Realms

Allows you to aggregate users from one or more LDAP tree of user registries and expose them as a coherent user population to WebSphere Portal

Referred to as horizontal partitioning Advantages:

— Flexible user management with various configuration options— e.g. combine principals from one or more corporate LDAP tree

Realms can overlap, which allows users to be members of more than one realm— Users can be members of multiple realms— Try to limit the usage of overlapping realms

A realm can aggregate one or more nodes in a user registry A realm can combine multiple suffixes of one user registry

— A suffix of a user repository can belong to one or more realms— The LDAP suffixes of the individual users must match the suffixes of the groups to

which they belong

Page 29: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation29

Multiple Realms For Virtual Portals

Requires Federated Security

VMM can dispatch calls to multiple user registries

Realms can point to (subset of) a specific user registry or to (subsets of) multiple user registries

User IDs need to be unique across all registries

Portal Server

VMM

Acme Supplier Customer

LDAP for Acme

LDAP for Supplier

LDAP for Customer

realm=customerrealm=portal realm=supplier

Page 30: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation30

Cleanup End User Artifacts

Two tools to use— UserCleanup via XMLAccess— Memberfixer for WCM content

Helping you to keep end user customization after user backend changes— DN changes— UniqueID changes— Cleanup or Data migration

Portal

LDAP

New

Page 31: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation31

What is Authorization (aka Access Control )?

Authentication --> Unique User ID

Examples:

view, edit, delete

Portal Resources

examples: page, portlet

Who is allowed to perform which action on which resource?

Access Control in Portal is role based e.g. Alice is Editor@PageA and User@PortletB

Page 32: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation32

Authorization

Portal does its own authorization (access control)— Portal is not integrated with Application Server Authorization— Except in that it is based on the identity authenticated by Application Server

Portal provides Resource level authorization granularity — Instance-based

Portal authorization can be integrated with external authorization (security)providers— Security Access Manager, SiteMinder— Integration API is private

Page 33: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation33

Access Control Model

Portal Resources,for example a Page

vieweditmanagedelete...

UserEditorManager…Draft CreatorReviewer

Permissions Roles

exposes

accessible

Groups

UsersMapped to

Page 34: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation34

Access Control Model

Groups

Users

Portal

Content

Home

Pages

root

...

...

Admin

Virtual Resources

Inherits Access rights from Parent

Control inheritance viaPropagation and

Inheritance Role Blocks

Page 35: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation35

Portal Access Control – Resource Permissions

Who is allowed to perform which action on which resource? Resource

(Pages, Portlets, etc)

Who?

(User, User Groups)

Roles

(View, Edit, Delete etc)

Page 36: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation36

Role Concept

Provide task permissions for users on resources Denoted as Role@Resource

— Example: Editor@Portal Page – allows a user to view, modify and create resources Hierarchically organized

— Roles higher in hierarchy inherit permissions of child roles— Each resource inherits the role assignments of its parent resource

Assigned to users and groups contained in the user registry— Can have multiple roles on the same resource

Page 37: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation37

Portal Roles No Role Assigned cannot interact with

a resource Users are allowed to view portal

content (resources) Privileged Users are allowed to view

portal content, customize portlets and pages and create new private pages

Contributors are allowed to view and create new content ONLY

Markup Editors are allowed to change HTML source for static portal pages.

Editors are allowed to create and edit shared resources

Managers are allowed to create, edit, and delete shared resources

Can Run as User (user impersonation) role allows to view resources and other portal components as another user.

Delegators are allowed to grant access (roles) to other principals

Security Administrators are allowed to create and delete role assignments on resources. Can act as a delegated administrator for a resource. No view/edit access to the resource.

Administrators are allowed to do everything – unrestricted access

Administrator

User

Editor PrivilegedUser

Delegator

ManagerSecurity

Administrator

Contributor

Markup Editor

Page 38: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation38

Resource Ownership

Each resource can have an owner (a single user or a single group)— assigned when a resource is first created— can be changed later with the XMLaccess configuration tool or via the Resource

Permissions portlet Non-private resources

— resource ownership equivalent to the Manager role— same set of allowed actions

Private resources— resource ownership equivalent to the Privileged User role

● same set of allowed actions plus the ability to delete the resource — can be owned only by users— resource ownership cannot be inherited— no roles can be assigned

Page 39: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation39

Creation of Shared (non-Private) Resources

User creates a shared resource The user that created the

resource becomes the owner of the resource

The ownership grants specific permissions on the corresponding resource— equivalent to the Manager role

Ownership can be changed— using XMLaccess tool or the

Resource Permissions portlet

Owner permissions are never subject to inheritance

o1

o2

o3 o4 o5

Explicit role assignment

Manager

Inherited role extension

ManagerManager Manager

Managero6

createSharedResource(o5)

Relationship

Owner

Page 40: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation40

Creation of Private Resources

Users can be granted privileges to create private Pages

The user that created the private page becomes the owner of the new page

The ownership grants specific permissions on the corresponding resource— equivalent to the Privileged User role

Private resources are visible only to the owner of the resource

Private resources do not inherit any roles from their ancestor nodes

Private Resources are deleted explicitly by the owner or automatically when the creator is removed from the portal

Ownership can be changed— using XMLaccess tool or the Resource

Permissions portlet

page1

page2

page3 page4 page5

Explicit role assignment

Privileged User

Inherited role extension

Privileged UserPrivileged UserPrivileged User

createPrivatePage(page5)

page6

Private Resource

Owner

Page 41: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation41

Attribute Based Security

For WCM content Permission can be granted in addition to user/group based rights Public API plug point for custom code in Core Access Control

Layer Custom code can decide based on attributes controlled by

bussiness users Available since v8.5

Page 42: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation42

StepUp and RememberMe StepUp Framework

— Predefined authentication levels: identified, authenticated, standard

— Allows to plug custom code for enforcing custom levels● e.g. enforce SSL or client-side certificate

— Authentication levels can be set for portlets and pages RememberMe Cookie

— Persistent cookie to recognize user without login● if RememberMe support is activated, the portal login portlet

shows a checkbox for setting the cookie— If cookie is present, portal treats the user as „identified“

but not yet „authenticated“— After logout, a user is treated as “identified”— Portlets can show personalized content— For accessing protected resources, user has to authenticate

Enabled via ConfigEngine task— The task is either “enable-stepup-authentication” or “enable-

rememberme”. Administration of authentication levels

— via UI (Portal Administration >...> Resource Permissions— via XML Access

Page 43: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation43

Reference materials IBM Knowledge Center (Community Articles, Product Documentation, Learning Center)

— IBM WebSphere Portal & Web Content Manager 8.5:http://www-01.ibm.com/support/knowledgecenter/SSHRKX_8.5.0/welcome/wp_welcome.html

DigitalExperience Developer on IBM developerWorks— http://www.ibmdw.net/digexp/

Portal Zone on developerWorks http://www.ibm.com/developerworks/websphere/zones/portal/

IBM Collaboration Solutions Catalog https://greenhouse.lotus.com/catalog

Upgrade Central http://www-01.ibm.com/software/lotus/support/upgradecentral/

IBM Software Events http://www.ibm.com/software/sw-events/

Page 44: Portal Security and SSO - IBM€¦ · Portal Security and SSO IBM WebSphere Portal 8.5 Workshop IBM Ecosystem Development Duration: 45 min

© 2014 IBM Corporation44