Jens, Ruchith
It seems to me that what you need is WS-Trust. Basically WS-Trust
allows the client to get hold of a token and then attach that token to
all requests. Those tokens can then be accepted by any ESB or endpoint
that trusts the token server.
Does that sound like it meets your needs Jens?
Paul
On Fri, Mar 7, 2008 at 2:46 AM, Dimuthu Leelarathne <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
Hi Jens,
On Thu, 2008-03-06 at 19:33 +0100, Jens Goldhammer wrote:
> Hello together,
>
> I have thought about this scenario and I am having some problems
in my mind.
>
> client <-> esb 1<-> esb 2<-> service
>
> In terms of security aims I want to have autorisations mechanism
which I
> will get with this scenario. The esb 1 calls esb 2 and passes its
> credentials. So esb2 knows which esb will call the service and
can made
> an authorisation. The esbs encapsulate the real users which is
usefull
> in some cases. In my concrete scenario I want to have a tracing
> mechanism who (not only on esb level) was calling which service.
> How can I achieve this? If the client does not have the
possibility to
> include ws-security information in the message, I have no chance
for
> doing this, right? How should esb 1 know which user calls it?
Maybe I
> can make a ssl connection and pass the credentials in it, take
them at
> the esb1 and inject security credentials?
You can do this.
> If the client is a bpel-process, I cannot determine a real user.
In this
> case it is the bpel-engine?
> If the client is an web-application, I can use the
login-crediantials of
> the user to pass them to the esb 1. If I have the chance to do
that, I
> also can implement ws-security in the service itself.
Yes you can use web service client to pass login-credentials of the
user. Maybe you an use UsernameToken Authentication. As you
requested in
the previous mail, we can add methods to usermanager API to retrieve
password from the underlying user store. But taking the overall
picture,
I deducted that your clients can be bpel or a web service client.
But I
do not know much about bpen-engine to comment on that.
> Can you tell me the scenarios for switching security on and off?
Security cannot be switched on and off at the same service. If it is
absolutely required, what I would do is duplicate the service in two
places, one of them will be secured with WS-Security and the other
will
be without security.
Thank you,
Dimuthu
> Thanks,
> Jens
>
> Ruchith Fernando schrieb:
> > Let me try to answer your question with my understanding your
scenario.
> >
> > You have a set of ESBs and you can authenticate users at those
EBSs
> > using any of the mechanisms Dimuthu explained. Now in
situations where
> > one ESB has to talk to another *on behalf of* one of its users
that
> > ESB can authenticate itself to the other ESB and carry out the
work.
> > In this case each ESB will have their own credentials in the
form of
> > username/password pairs or certificates. And the communicating
ESBs
> > will have to trust each other by recognizing those credentials.
> >
> > HTH
> >
> > Thanks,
> > Ruchith
> >
> > Jens Goldhammer wrote:
> >> Hello Dimuthu,
> >>
> >> thanks for your good explanations!
> >> Which of these possibilities are valuable to have a
> >> cross-domain-authentification? With rampart I always have to
> >> distribute new certificates to all participating domains, or
I am
> >> completly wrong?
> >> Do you think the third possiblity works with wso2 esb? Should
I give
> >> it a try?
> >> Is there a running bigger example for using rahas except
sample05 in
> >> rampart-distribution or any documentation for it?
> >>
> >> Thanks,
> >> Jens
> >>
> >>
> >> Dimuthu Leelarathne schrieb:
> >>> Hi Jens,
> >>>
> >>> On Mon, 2008-02-04 at 18:42 +0530, Asankha C. Perera wrote:
> >>>
> >>>> Hi Jens
> >>>>
> >>>>> My ideas are to inject some user values in the soap-message
> >>>>> (username and password) and encrypt the soap-message. The
esb will
> >>>>> take these values and proofs it by using the wso2
usermanager.
> >>>>>
> >>>
> >>>
> >>> As I understand you need to authenticate users using
username/password.
> >>>
> >>> This can be done in several ways as follows.
> >>>
> >>> 1) Using http basic authentication over SSL
> >>> 2) Using Username Token over SSL
> >>> 3) Using an encrypted Username Token.
> >>> Implementation details of the above techniques can be
described as
> >>> follows.
> >>>
> >>> First method
> >>> ============
> >>> First approach is the easiest to implement and sufficient
for most
> >>> situations. You can write a simple Java POJO class at the
service to
> >>> authenticate users by calling usermanager. If you want a
more efficient
> >>> approach you can implement a custom mediator with a caching
technique
> >>> which uses usermanager to perform authentication.
> >>>
> >>> This is how you write a custom mediator [1]
> >>>
> >>> This is how you read the http authentication headers [2]
> >>>
> >>>
> >>> Second method
> >>> =============
> >>> This is a WS-Security policy based approach. Rampart is used
for
> >>> injecting and authenticating the Username Token. The
security policy
> >>> needed for this is available in the Rampart distribution[3].
The sample
> >>> is samples/policy/sample01 in the Rampart distribution.
> >>>
> >>>
> >>>
> >>> Third method
> >>> ============
> >>> This is a WS-Security policy based approach. Here you have
to use
> >>> Asymmetric Binding and use UsernameToken as a supporting
token. We
> >>> don't
> >>> have a sample for this yet. But you can look at the Rampart
samples and
> >>> read the WS policy specification for this.
> >>>
> >>>
> >>> Links
> >>> [1]http://wso2.org/library/2898
> >>>
[2]http://www.mail-archive.com/[EMAIL PROTECTED]/msg00065.html
<http://archive.com/[EMAIL PROTECTED]/msg00065.html>
> >>>
[3]http://www.apache.org/dyn/mirrors/mirrors.cgi/ws/rampart/1_3/rampart-1.3.zip
> >>>
> >>>
> >>> Thank you,
> >>> Dimuthu
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>> Sure, this is possible with a custom mediator or a simple
Java POJO
> >>>> class that calls into the usermanager library. You could
also use
> >>>> WS-Security without coding using a WS-Security policy. I am
copying
> >>>> Dimuthu from the usermanager/Rampart team so she could
point you in
> >>>> the correct direction. We have some samples that shows how
WS-Sec can
> >>>> be used with policies
> >>>> (http://wso2.org/project/esb/java/1.6/docs/ESB_Samples.html)
> >>>>
> >>>>> After a successfull authentification I have to indicate
that they
> >>>>> other esbs and services itself don´t need to proof it
again. I don´t
> >>>>> want to make a new authentification at all intermediate
stations, so
> >>>>> in my eyes a flag in the soap message to say "Already
authenticated"
> >>>>> is enough, or?
> >>>> If this is totally within your intranet, I guess this
should be
> >>>> enough. You could also use https to secure the messages
over the wire
> >>>>
> >>>>> I have to write an own mediation than, right? Or is there
a solution
> >>>>> out of the box?
> >>>>>
> >>>> Well you could use the Header mediator to add a custom SOAP
header to
> >>>> a message
> >>>>
(http://wso2.org/project/esb/java/1.6/docs/ESB_Configuration_Language.html)
> >>>> You could also use a custom extension mediator if you like,
but
> >>>> this doesn't seem necessary
> >>>>
> >>>>> What´s about the identity solution? Does it fit to my
> >>>>> requirements? Any other ideas in general for doing that?
> >>>> If you want to call into the user manager library and add
the custom
> >>>> header both at once etc. writing a custom mediator may be ok
> >>>>
> >>>> asankha
> >>>>
> >>>
> >>>
> >>> _______________________________________________
> >>> Esb-java-user mailing list
> >>> [email protected] <mailto:[email protected]>
> >>> http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user
> >>>
> >>
> >> _______________________________________________
> >> Esb-java-user mailing list
> >> [email protected] <mailto:[email protected]>
> >> http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user
> >>
> >
> >
> >
> >
_______________________________________________
Esb-java-user mailing list
[email protected] <mailto:[email protected]>
http://wso2.org/cgi-bin/mailman/listinfo/esb-java-user