<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Josh Bregman&apos;s Blog</title>
    <link rel="alternate" type="text/html" href="http://dev2dev.bea.com/blog/jbregman/" />
    <link rel="self" type="application/atom+xml" href="http://dev2dev.bea.com/blog/jbregman/atom.xml" />
   <id>tag:dev2dev.bea.com,2007:/blog/jbregman//93</id>
    <updated>2006-09-12T20:56:14Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.31</generator>
 
<entry>
    <title>A lot of interest in security at BEAWorld</title>
    <link rel="alternate" type="text/html" href="http://dev2dev.bea.com/blog/jbregman/archive/2005/09/a_lot_of_intere_1.html" />
    <id>http://dev2dev.bea.com/blog/jbregman/archive/2005/09/a_lot_of_intere_1.html</id>
    
    <published>2005-09-30T03:44:39Z</published>
    <updated>2006-09-12T20:56:14Z</updated>
    
    <summary>I&apos;m sitting in the lobby of the Westin in Santa Clara killing some time until I get on the red-eye back to Boston, but I thought I&apos;d take some time to share some thoughts.  Mainly, I was really suprised at all of the interest in Security at the conference.  As some one who spends a lot of time speaking to audiences about the topic, I was really impressed with the participation and interest by the attendees.</summary>
    <author>
        <name>jbregman</name>
        
    </author>
    
    <content type="html" xml:lang="" xml:base="http://dev2dev.bea.com/blog/jbregman/">
        <![CDATA[<p>I think the real "ah-ha" for people was seeing the AquaLogic Enterprise demo.  One of the real challenges with understanding security is placing it in a business context.  </p>

<p>The demo, for those who missed it, presented a commercial banking scenario.  The scenario is a father granting limited access to his college age daughter.  The father establishes limits on how much the daughter can transfer from her fathers account without approval or providing a PIN.  All of the entitlements data is stored inside of ALES, and the approval workflow is driven by WLI.  </p>

<p>In addition, ALES protects users access to WLP resources such as Portlets, Books, Pages and Desktops.  The ability to protect both J2EE resources and business objects, like accounts, from a single console was compelling for many customers.</p>

<p>Besides spending time in the ALES booth, I presented ALES as a foundation for a service oriented security architecture.  About 100 people were in attendance - I appreciate everyone spending time with me, and asking some really really good questions.  The most interesting development in this area is the realeas of the web-services SSM - this exposes the core authentication, authorization, roles etc services of the SSPI as SOAP services.  </p>

<p>A common scenario here is the need for a single service which authenticates a user with username and password, and then returns all of the roles that they have.  By starting with ALES and the authentication and roles service, this service can be simply configured by building a proxy service with ESB.  </p>

<p>Personally, it was my first BEAWorld, and I had a really good time.  I spoke with a lot of customers/partners and am looking forward to following up with them in the coming days,weeks, and months.</p>]]>
        
    </content>
</entry>
<entry>
    <title>WLP and Single Sign On</title>
    <link rel="alternate" type="text/html" href="http://dev2dev.bea.com/blog/jbregman/archive/2005/09/wlp_and_single.html" />
    <id>http://dev2dev.bea.com/blog/jbregman/archive/2005/09/wlp_and_single.html</id>
    
    <published>2005-09-22T04:06:29Z</published>
    <updated>2006-09-12T20:56:14Z</updated>
    
    <summary>Single Sign On (SSO) means different things to different people, but in terms on WLP, SSO means logging in once to portal, and then having the user&apos;s identity propagated to back end services/applications.  Standards such as WSRP, SAML and WS-Security make these integrations simpler, but only if you&apos;re building on top of services which support these standards. </summary>
    <author>
        <name>jbregman</name>
        
    </author>
            <category term="Product: WebLogic Portal" />
    
    <content type="html" xml:lang="" xml:base="http://dev2dev.bea.com/blog/jbregman/">
        <![CDATA[<p>The first thing to be considered when designing this type of SSO solution is understanding the security/identity capabilities of the applications that you want to perform SSO.  WLP has a lot of strong functionality for passing identity in a variety of fashions, but at the end the day, if the back end application only supports username and password, you'll need to pass a username and password.  In many cases, back end applications have different capabilities based upon the protocol/listener that they are using, so you'll have to do some research.</p>

<p>In general, using a technique which does not require the passing of user passwords is preferred.  The propagation of passwords to non-authoritative systems presenent not only a security risk, but creates an administrative nightmare.  Increasingly, businesses require the changing of passwords on a regular basis.  If the password is changed in the authoritative source, it will need to be changed in WLP as well.  If the passwords are out of synch, the SSO fails.  </p>

<p>Also, logging in to back end systems as a fixed system identity should also be discouraged.  The reason is that all of the audit logs of the back-end systems will have the fixed system user, and not the actual user performing the transaction.  This practice is also ripe for internal abuse.  If an internal user gains access to the system user's password, they can do almost anything, with no real audit of their actions.  If the system only accomodates a fixed admin user, tightly restrict access to that account, consider very carefully which operations that account can perform (read/only?), and restrict from where that account can perform operations.  Ideally, this type of service would be protected by some transport level security such as mutually authenticated SSL.<br />
</p>]]>
        <![CDATA[<p>I've had a lot of thoughts on this subject as its been coming up at a lot of accounts, and I'm prepping for a Birds of a Feather at BEA World on the topic.  I apologized in advance for people who read this post and attend the BOF.  I promise to have some new material for the session.</p>

<p>In a lot of accounts, there already exists an Identity and Access Management system like CA SiteMinder.  In that case, if you have both the front end of WLP protected and the back end application protected, you can pass the identity through.  How the identity gets passed is dependent on the I&AM solution, but in most cases, you'll be passing an HTTP cookie.   Best practice here is to use Apache Commons HTTP client to pass the cookie and/or HTTP header from the HttpServletRequest to the back end app.</p>

<p>The reason why SAML and WS-Security is really the best approach is because it does not require the passing and/or synchronization of passwords, and both the identity of the user and the calling service can be validated.   If the back end application supports these standards, then it should be auditing the actual user.  </p>

<p>Implementing this in 8.x can be a little tricky.  You can add a JAX-RPC client handler that adds a SAML assertion to the WS-Security envelope.   AquaLogic Enterprise Security (ALES) has the ability to generate and consume SAML assertions, so this can speed development time.  Additionally, WSRP uses this to provide SSO between WLP Federated Portlets.  In 9.x web-services stack has support for WS-Security SAML Token Profile, both as a producer and a consumer.</p>

<p>In summary, the key to delivering SSO from WLP to back end applications is to understand the capabilities of the back end applications.  If they do not support the secure passing of identity via SAML and WS-Security, other techniques are available, but they come with some risks.</p>]]>
    </content>
</entry>
<entry>
    <title>Shameless Plug for My Talk at BEA World</title>
    <link rel="alternate" type="text/html" href="http://dev2dev.bea.com/blog/jbregman/archive/2005/09/shameless_plug.html" />
    <id>http://dev2dev.bea.com/blog/jbregman/archive/2005/09/shameless_plug.html</id>
    
    <published>2005-09-12T20:15:01Z</published>
    <updated>2006-09-12T20:56:13Z</updated>
    
    <summary>Introduction to Service-Oriented Enterprise Security with BEA AquaLogic Enterprise Security or Stories from the Road: Integrating ALES with the Enterprise</summary>
    <author>
        <name>jbregman</name>
        
    </author>
            <category term="Product: AquaLogic Enterprise Security" />
    
    <content type="html" xml:lang="" xml:base="http://dev2dev.bea.com/blog/jbregman/">
        <![CDATA[<p>Regardless of the actual presentation title, I'll be speaking on Tuesday, September 27th in the afternoon.  The purpose of the chat is to try to share some of my experiences over the past year in support of the AquaLogic Enterprise Security Product.</p>

<p>I've been travelling quite a bit (Delta Silver/UsAir Silver/Marriott Silver) and there is really quite an interest in this product.  I think the message to developers is that they no longer have to worry about keeping up with constantly changing security requirements.  In most applications, the security logic is hard-coded into the applications.  By that, I mean that decisions about who can get access to what is ultimately determined by application code, not by a centralized security service.  Certainly, enterprises have some notion of entitlements - RDBMS based systems that maintain profile data - but at the end of the day the decision is being made inside of the application.</p>

<p>Externalizing this logic is certainly easier said than done, but there are certainly some techniques and approaches which can make this less painful. Some will be covered in the presentation...others will be covered here and hopefully in some code samples etc in dev2dev itself<br />
</p>]]>
        
    </content>
</entry>

</feed> 