Red paper Integrating WebSphere Service Registry and Repository with IBM

advertisement
Andrew White
Redpaper
Integrating WebSphere Service
Registry and Repository with IBM
Tivoli Security Policy Manager
Overview
This IBM® Redpapers™ publication describes the built-in integration between
IBM WebSphere Service Registry and Repository (WSRR) and IBM Tivoli
Security Policy Manager (TSPM), which allows users to author policies in TSPM
and attach them to services stored in WSRR.
Product description
IBM Tivoli® Security Policy Manager V7.0 is a standards-based application
security solution. It provides centralized application entitlement management,
service-oriented architecture (SOA) security policy management, and security as
runtime services to strengthen access control for new applications and services,
to help improve compliance and to drive operational governance across the
enterprise.
© Copyright IBM Corp. 2009. All rights reserved.
ibm.com/redbooks
1
Tivoli Security Policy Manager enables application owners and administrators to
externalize security and to simplify the management of complex authorization
policies for new and existing applications, including customized applications. The
benefits include:
򐂰 The ability to respond quickly to business changes through centralized
application roles, entitlements, and data-level access control
򐂰 Improved compliance and security management with roles-, rules-, and
attributes-based access control
Tivoli Security Policy Manager also enables enterprise architects and security
operations teams to centrally manage and enforce security policies for Web
services resources across multiple policy enforcement points, including the
WebSphere® DataPower® SOA appliances. The benefits include:
򐂰 Reduced manual, inconsistent, and costly administration of security policies
at each policy enforcement point
򐂰 Operational governance with the ability to delegate and audit all changes to
policies
Value proposition
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security
Policy Manager offers the following benefits:
򐂰 It enables organizations to view their services and the policies applicable to
those services in one location.
򐂰 Any users effected by changes to policies can be notified of these changes by
way of the WSRR e-mail notification service.
򐂰 It enables, at design time, users to see what services will be affected by
changing a policy.
Key integration features
When WebSphere Service Registry and Repository integrates with IBM Tivoli
Security Policy Manager, a user can discover Web services stored in WSRR and
import their Web Service Description Language (WSDL) filesinto IBM Tivoli
Security Policy Manager. Once imported into IBM Tivoli Security Policy Manager,
these polices can be authored and attached to these WSDLs. After policy
authoring is complete and attached to particular WSDLs, the WSDLs and
attached policies can be distributed back to WSRR.
2
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
Integration scenarios overview
We describe two scenarios here: The first is where WebSphere DataPower will
be used as the policy enforcement point (PEP), and the second is where
WebSphere Application Server will be used as the PEP.
Integration scenario 1 overview
JKHL Enterprises, a fictional company, currently has an Account Creation
service running in their production environment, and they wish to enhance the
security of this service by enforcing a WS-SecurityPolicy with a
RequireClientCertificate assertion. The RequireClientCertificate assertion, once
enforced, requires all HTTPS clients of the Account Creation service to produce
a client certificate before the service can be invoked.
JKHL Enterprises use WSRR as their service repository, and they also use
TSPM as the application in which they create all of the WS-SecurityPolicy
documents that they require. All consuming applications of the account creation
service call a WebSphere DataPower WS-proxy, which is created using the
WSRR synchronization feature in WebSphere DataPower.
Integration issues
In this scenario, WSRR is accessed in order to retrieve the AccountCreation
service on the WSDL port and to import it into TSPM so that a policy can be
authored and attached to it.
Uploading service definitions is explained in Service Lifecycle Governance Using
WebSphere Service Registry and RepositoryService Lifecycle Governance with
IBM WebSphere Service Registry and Repository V6.3, SG24-7793 and will not
be described in this paper.
Creating the WSRR subscription to the AccountCreationV1_0 WSDL service in
WebSphere DataPower will not be described in this paper. Creating WSRR
subscriptions in WebSphere DataPower is explained in Chapter 4, “Using Web
Service Proxy with WebSphere Registry and Repository”, of IBM WebSphere
DataPower SOA Appliances Part IV: Management and Governance, REDP-4366
Finally, writing clients that satisfy the new security policy constraints will not be
described in this paper
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
3
Solution overview
The solution is shown in Figure 1.
Publish Policy
Security Policy
Manager
Discover Services
WSRR
IBM
WebSphere DataPower
®
Account
Creation
V1_0
Figure 1 Scenario 1 overview
This solution is split into several tasks:
1. Import the AccountCreation service WSDL port into TSPM.
2. Create the WS-SecurityPolicy, which asserts RequireClientCertificate.
3. Attach the policy to the AccountCreation service.
4. Publish the attached policy back to WSRR, where WebSphere DataPower will
retrieve it during the next synchronization.
Integration scenario 2 overview
JKHL Enterprises currently has an Account Creation service running in their
production environment, and they wish to enhance the security of this service by
enforcing a WS-SecurityPolicy with a RequireClientCertificate assertion. The
RequireClientCertificate assertion, once enforced, requires that all HTTPS
clients of the Account Creation service produce a client certificate before the
service can be invoked.
JKHL Enterprises uses WSRR as their service repository, and they also have
TSPM as the application in which they create all of the WS-SecurityPolicy
documents that they require. IBM Tivoli Runtime Security Services client, a
component of TSPM, is deployed into JKHL Enterprise’s production environment
4
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
and acts as a Policy Enforcement Point (PEP) to enforce all policies distributed to
it.
Integration issues
In this scenario, WSRR will be accessed to retrieve the AccountCreation service
on the WSDL port and to import it into TSPM so that a policy can be authored
and attached to it.
Uploading the service definitions is explained in Service Lifecycle Governance
Using WebSphere Service Registry and RepositoryService Lifecycle
Governance with IBM WebSphere Service Registry and Repository V6.3,
SG24-7793 and will not be described in this paper.
Finally, writing clients that satisfy the new security policy constraints will not be
described in this paper.
Solution overview
The solution is shown in Figure 2.
Security Policy
Manager
Publish Policy
WSRR
Discover Services
IBM
®
Distribute Policy
Account
Creation
V1_0
Figure 2 Scenario 2 overview
This solution is split into several tasks:
1. Import the AccountCreation service on the WSDL port into TSPM.
2. Create the WS-SecurityPolicy, which asserts RequireClientCertificate.
3. Attach the policy to the AccountCreation service.
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
5
4. Publish the attached policy back to WSRR and distribute the policy to the
PEP installed on the WebSphere Application Server instance where
AccountCreation service is deployed.
Performing the solutions
Both solutions contain several common steps, which will only differ when
publishing the new policy to the policy enforcement point or WSRR.
Common steps
Whether you are implementing scenario 1 or scenario 2, the first step is to create
a reference to the WSRR instance in IBM Tivoli Security Policy Manager.
Perform these steps:
1. Configure a secure communication between TSPM and WSRR.
Before adding a WSRR instance as a Service Registry in IBM Tivoli Security
Policy Manager, you must create a secure communication channel for data
exchange between IBM Tivoli Security Policy Manager and WSRR.
a. Import the signer certificate for the WSRR system into the trust store, as
shown in Figure 3 on page 7.
i. Log in to the WebSphere Application Server administration console of
the instance that hosts IBM Tivoli Security Policy Manager and select
Security → SSL certificate and key management.
ii. Click Key stores and certificates.
iii. Click NodeDefaultTrustStore.
iv. Click Signer certificates.
v. Click Retrieve from port.
vi. Compete the Host, Port (the secure administration port of the
WebSphere Application Server instance hosting the WSRR) and Alias
fields.
vii. Click Retrieve signer information.
6
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
Figure 3 Retrieving the signer certificate for WSRR
viii.Click OK and save the configuration.
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
7
b. Export the LPTA key to a file and transfer it to the WSRR system, as
shown in Figure 4.
i. In the WebSphere Application Server administration console of the
instance that hosts IBM Tivoli Security Policy Manager, select
Security → Secure administration, applications and
infrastructure.
ii. Click Authentication mechanisms and expiration.
iii. Navigate to the Cross-cell sign-on area of the Configuration tab. Enter
the password for the key gfile that contains the LPTA key and a full
qualified path name for the key file.
Figure 4 Export LPTA to a file
iv. Click Export keys.
v. Click OK.
8
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
vi. Move the file to the file system of the WSRR system.
c. Log in to the WebSphere Application Server administration console of the
instance that hosts WSRR.
d. Import the signer certificate for the IBM Tivoli Security Policy Manager into
the trust store, as shown in Figure 5.
i. Select Security → SSL certificate and key management.
ii. Click Key stores and certificates.
iii. Click NodeDefaultTrustStore.
iv. Click Signer certificates.
v. Click Retrieve from port.
vi. Complete the Host, Port (the secure administration port of the
WebSphere Application Server instance hosting the IBM Tivoli Security
Policy Manager) and Alias fields.
vii. Click Retrieve signer information.
Figure 5 Retrieving the signer certificate for IBM Tivoli Security Policy Manager
viii.Click OK and save the configuration.
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
9
e. Import the LPTA key from the IBM Tivoli Security Policy Manager, as
shown in Figure 6.
Note: These instructions are for WSRR hosted on a WebSphere
Application Server V7.0 instance.
i. Select Security → Global Security.
ii. Click LPTA.
iii. Navigate to the Cross-cell single sign-on area. Enter the password for
the key file that contains the LPTA key and the fully qualified path
name for the key file.
iv. Click Import Keys.
Figure 6 Importing the LPTA key
v. Click OK and save the configuration.
f. Restart the WebSphere Application Server instance hosting WSRR.
g. Restart the WebSphere Application Server instance hosting IBM Tivoli
Security Policy Manager.
10
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
2. Add a WSRR instance as a Service Registry in IBM Tivoli Security Policy
Manager. This will allow IBM Tivoli Security Policy Manager to discover
services in WSRR.
a. Select Tivoli Security Policy Manager → IT Environment → Service
Registries.
b. Click Add....
c. Select IBM WebSphere Service Registry and Repository as the registry
and click Next.
d. Complete the Name, Host, Bootstrap port (the bootstrap port of the
WebSphere Application Server instance hosting the WSRR), Registry
username (this user must be an administrator in WSRR) and Confirm
registry password fields, as shown in Figure 7.
Figure 7 Adding a WSRR instance to Tivoli Security Policy Manager
e. Click Finish.
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
11
f. A success message appears, as shown in Figure 8.
Figure 8 Success window
3. Add a WSRR instance as a policy distribution point.
This allows IBM Tivoli Security Policy Manager to distribute policies authored
and attached to services back to WSRR.
a. Select Tivoli Security Policy Manager → IT Environment → Policy
Distribution Points.
b. Click Add....
c. Click Next.
12
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
d. In Policy Distribution Type, select IBM WebSphere Registry and
Repository and type a name in Policy Distribution Target name field, as
shown in Figure 9. Click Next.
Figure 9 Setting the Policy DIstribution Target Type
e. Complete the Host, Port (the bootstrap port of the WebSphere Application
Server instance hosting the WSRR), Registry username (has to be an
administrator in WSRR) and password fields and click Next.
f. Click Finish.
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
13
g. A success message appears, as shown in Figure 10.
Figure 10 Adding WSRR as a Policy Distribution Target is successful
4. Import the service into IBM Tivoli Security Policy Manager from WSRR.
a. Select Tivoli Security Policy Manager → Services and Policies →
Services.
b. Click Add.
c. Click Next.
d. From the drop-down menu, select Web Service and click Next.
e. Select Import from a registry and click Next.
f. Select the name of the WSRR created previously and click Next.
g. Enter * into the Name field and click Next.
h. Enter a different name for the service or accept the name already entered.
Click Next.
i. Click Next.
j. Click Finish. The service has now been imported into TSPM.
5. Create a policy in IBM Tivoli Security Policy Manager.
a. Select Tivoli Security Policy Manager → Services and Policies →
Policies.
b. Click Add.
14
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
c. Select Message Protection and Create a new policy, as shown in
Figure 11, and click Next.
Figure 11 Selecting a policy type
d. Enter http_token into the Name field for the policy, as shown in Figure 12.
Click Add....
Figure 12 Adding a name to the policy
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
15
e. Select Supporting Tokens as the Assertion Type, as shown in Figure 13.
Figure 13 Selecting the Assertion Type
16
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
f. A new set of options are presented. From these options, select HTTPS
Token from the Type drop-down menu and click Add, as shown in
Figure 14.
Figure 14 Selecting token type
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
17
g. Select requireClientCertificate from the Mode drop-down menu, as
shown in Figure 15, and select the No Issuer radio button. Click Next.
Figure 15 Setting the mode
h. Click Next.
i. Click Next.
j. Click Save.
6. Attach the policy to the service.
a. Select Tivoli Security Policy Manager → Services and Policies →
Policies.
b. Select Security → Message Protection → http_token.
c. Select Web
Service/{http://jkhle.itso.ibm.com/AccountCreationV1/service}Accou
ntCreationV1_0/AccountCreationV1_0_ProductionPort from the
Services drop-down menu, as shown in Figure 16 on page 19. Click the +
button.
18
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
Figure 16 Attaching a policy to a service
d. Click Save.
Solution 1 specific steps
Perform the following steps to complete solution 1:
1. Prepare TSPM to publish the service with the attached policy back to WSRR.
a. Select Tivoli Security Policy Manager → Services and Policies →
Services.
b. Click Web Service →
http://jkhle.itso.ibm.com/AccountCreationV1/service}AccountCreatio
nV1_0.
c. Select Policy → Configure Policy.
d. Click WSRR from the Available Policy Distribution Targets pane and click
Add.
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
19
e. In Available Policy Decision Points pane, select DataPower, as shown in
Figure 17.
Figure 17 Policy configuration
f. Click Next.
g. Click Next.
h. Click Finish.
2. Distribute the policy.
a. Select Tivoli Security Policy Manager → Services and Policies →
Services.
b. Click Web Service →
http://jkhle.itso.ibm.com/AccountCreationV1/service}AccountCreatio
nV1_0.
c. Select Policy → Distribute Policy.
d. Click Distribute the latest effective policy.
e. Click OK.
20
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
Solution 2 specific steps
Perform the following steps to complete solution 2:
1. Prepare TSPM to publish the service with the attached policy back to WSRR
and to the policy distribution target.
a. Select Tivoli Security Policy Manager → Services and Policies →
Services.
b. Click Web Service →
http://jkhle.itso.ibm.com/AccountCreationV1/service}AccountCreatio
nV1_0.
c. Select Policy → Configure Policy.
d. Click WSRR from the Available Policy Distribution Targets drop-down
menu. Click Add.
e. Click prodendpoint (the TSPM policy enforcement point installed on the
WebSphere Application server instance) from the Available Policy
Distribution Targets drop-down menu. Click Add.
f. In Available Policy Decision Points drop-down menu, select IBM Tivoli
Runtime Security Services for both WSRR and prodendpoint.
g. Click Next.
h. Click Next.
i. Click Finish.
2. Distribute the policy.
a. Select Tivoli Security Policy Manager → Services and Policies →
Services.
b. Click Web Service →
http://jkhle.itso.ibm.com/AccountCreationV1/service}AccountCreatio
nV1_0.
c. Select Policy → Distribute Policy.
d. Click Distribute the latest effective policy.
e. Click OK.
Common points for both scenarios
The policy has now been distributed to WSRR and, in the case of scenario 2, to
the Policy Enforcement Point (PEP). TSPM attaches the policy to the logical
object structure in WSRR.
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
21
These scenarios require the generation of a client certificate that the client then
presents to the PEP upon connection, TSPM will not generate these certificates,
so they have to be generated by the PEP. In the case of a PEP deployed in
WebSphere Application Server, this would involve installing a Certificate
Authority (CA), configuring the WebSphere Application Server to use that CA,
and then generating a client certificate from the CA that can then be distributed
to the client.
In the case where WebSphere DataPower is the PEP, the SSL profile in the
front-end handler of the WS-proxy must be configured to require client
certificates. The client certificates that are allowed will then have to be added by
either adding certificates to the SSL profile or by adding a trust chain.
When the policy enforcement point is a WebSphere Application Server instance,
and a policy evaluation returns a denial, the WebSphere Application Server
instance will output two exceptions:
11/7/08 13:03:26:288 CST] 00000025 WebServicesSe E
com.ibm.ws.webservices.engine.transport.http.WebServicesServlet doPost
WSWS3227E:
Error: Exception:
WebServicesFault
faultCode:
{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-sec
ext-1.0.xsd}
FailedAuthentication
faultString: CTGVS8046E Access denied. Please consult the
authorization policy for this service.
faultActor: com.ibm.tscc.enforce.websphere.WebSpherePEP
....
.....
......
Caused by: javax.xml.rpc.soap.SOAPFaultException: CTGVS8046E Access
denied.
Please consult the authorization policy for this service.
These exceptions are not errors, but are statements regarding denial of access;
each time access is denied, two WebSphere Application Server ffdc files are also
created.
22
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
Other considerations
TSPM attaches policies to services in WSRR using policy attachments
conforming to the WSDL identifier specification. Take care when attaching
policies in the WSRR, as the WSDL identifier may not be unique and could
possible lead to the policy being attached to objects to which it was not intended
to be attached.
The team who wrote this IBM Redpapers publication
This paper was produced by a team of specialists from around the world working
at the International Technical Support Organization, Raleigh Center.
Andrew White is a software developer from the United Kingdom. He has 3 years
of experience in middleware development at IBM. Andrew holds a degree in
Computer Science from The University of Nottingham. His areas of expertise
include WebSphere Application Server, WebSphere Service Registry and
Repository (WSRR), WebSphere DataPower, WebSphere Process Server, Tivoli
Composite Application Manager for Service Oriented Architecture
(ITCAM4SOA), Tivoli Security Policy Manager (TSPM), service-oriented
Architecture (SOA), and Microsoft® .NET.
Thanks to the following people for their contributions to the paper:
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
򐂰
Martin Keen
Nicole Hargrove
Ian Heritage
Prasad Imandi
Wendy Neave
Laura Olson
Bhargav Perepa
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
23
24
Integrating WebSphere Service Registry and Repository with IBM Tivoli Security Policy Manager
Notices
This information was developed for products and services offered in the U.S.A.
IBM may not offer the products, services, or features discussed in this document in other countries. Consult
your local IBM representative for information on the products and services currently available in your area.
Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product, program, or service that
does not infringe any IBM intellectual property right may be used instead. However, it is the user's
responsibility to evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this document.
The furnishing of this document does not give you any license to these patents. You can send license
inquiries, in writing, to:
IBM Director of Licensing, IBM Corporation, North Castle Drive Armonk, NY 10504-1785 U.S.A.
The following paragraph does not apply to the United Kingdom or any other country where such
provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION
PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer
of express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically made
to the information herein; these changes will be incorporated in new editions of the publication. IBM may
make improvements and/or changes in the product(s) and/or the program(s) described in this publication at
any time without notice.
Any references in this information to non-IBM Web sites are provided for convenience only and do not in any
manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the
materials for this IBM product and use of those Web sites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without
incurring any obligation to you.
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products and cannot confirm
the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on
the capabilities of non-IBM products should be addressed to the suppliers of those products.
This information contains examples of data and reports used in daily business operations. To illustrate them
as completely as possible, the examples include the names of individuals, companies, brands, and products.
All of these names are fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrates programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs in
any form without payment to IBM, for the purposes of developing, using, marketing or distributing application
programs conforming to the application programming interface for the operating platform for which the
sample programs are written. These examples have not been thoroughly tested under all conditions. IBM,
therefore, cannot guarantee or imply reliability, serviceability, or function of these programs. You may copy,
modify, and distribute these sample programs in any form without payment to IBM for the purposes of
developing, using, marketing, or distributing application programs conforming to IBM's application
programming interfaces.
© Copyright International Business Machines Corporation 2009. All rights reserved.
Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by
GSA ADP Schedule Contract with IBM Corp.
25
This document REDP-4561-00 was created or updated on November 3, 2009.
®
Send us your comments in one of the following ways:
򐂰 Use the online Contact us review Redbooks form found at:
ibm.com/redbooks
򐂰 Send your comments in an email to:
redbook@us.ibm.com
򐂰 Mail your comments to:
IBM Corporation, International Technical Support Organization
Dept. HYTD Mail Station P099, 2455 South Road
Poughkeepsie, NY 12601-5400 U.S.A.
Redpaper ™
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corporation in the United States, other countries, or both. These and other IBM trademarked
terms are marked on their first occurrence in this information with the appropriate symbol (® or ™),
indicating US registered or common law trademarks owned by IBM at the time this information was
published. Such trademarks may also be registered or common law trademarks in other countries. A current
list of IBM trademarks is available on the Web at http://www.ibm.com/legal/copytrade.shtml
The following terms are trademarks of the International Business Machines Corporation in the United States,
other countries, or both:
DataPower®
IBM®
Redpaper™
Redpapers™
Redbooks (logo)
Tivoli®
WebSphere®
®
The following terms are trademarks of other companies:
Microsoft, and the Windows logo are trademarks of Microsoft Corporation in the United States, other
countries, or both.
Other company, product, or service names may be trademarks or service marks of others.
26
Integrating WebSphere Service Registry and Repository with Tivoli Security Policy Manager
Download