Subject: Re: [OAUTH-WG] user impersonation protocol?

From: Justin Richer <[email-masked]>
Date: Mon, 16 Feb 2015 10:35:53 -0500

Another question is whether or not you can user rights delegation (ie vanilla OAuth) or if you really do need impersonation. You may be able to get the desired results with less complexity that way.

-- Justin

/ Sent from my phone /

-------- Original message --------
From: Bill Burke <[email-masked]> 
Date:02/16/2015  10:20 AM  (GMT-05:00) 
To: Bill Mills <[email-masked]>, Justin Richer <[email-masked]>, oauth <[email-masked]> 
Cc:  
Subject: Re: [OAUTH-WG] user impersonation protocol? 

Yeah, I know its risky, but that's the requirement.  Was just wondering 
if there was any protocol work being done around it, so that we could 
avoid doing a lot of the legwork to make it safe/effective.  Currently 
for us, we need to do this between two separate IDPs, which is where the 
protocol work comes in...If it was just a single IDP managing 
everything, then it would just be an internal custom IDP feature.

Thanks all.

On 2/16/2015 12:37 AM, Bill Mills wrote:
> User impersonation is very very risky.  The legal aspects of it must be
> considered.  There's a lot of work to do to make it safe/effective.
>
> Issuing a scoped token that allows ready only access can work with the
> above caveats.  Then properties/componenets have to explicitly support
> the new scope and do the right thing.
>
>
> On Sunday, February 15, 2015 8:34 PM, Justin Richer <[email-masked]> wrote:
>
>
> For this case you'd want to be very careful about who was able to do
> such impersonation, obviously, but it's doable today with custom IdP
> behavior. You can simply use OpenID Connect and have the IdP issue an id
> token for the target user instead of the "actual" current user account.
>
> I would also suggest considering adding a custom claim to the id token
> to indicate this is taking place. That way you can differentiate where
> needed, including in logs.
>
> -- Justin
>
> / Sent from my phone /
>
>
> -------- Original message --------
> From: Bill Burke <[email-masked]>
> Date:02/15/2015 10:55 PM (GMT-05:00)
> To: oauth <[email-masked]>
> Cc:
> Subject: [OAUTH-WG] user impersonation protocol?
>
> We have a case where we want to allow a logged in admin user to
> impersonate another user so that they can visit differents browser apps
> as that user (So they can see everything that the user sees through
> their browser).
>
> Anybody know of any protocol work being done here in the OAuth group or
> some other IETF or even Connect effort that would support something like
> this?
>
> Thanks,
>
> Bill
>
> --
> Bill Burke
> JBoss, a division of Red Hat
> http://bill.burkecentral.com
>
> _______________________________________________
> OAuth mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/oauth
>
> _______________________________________________
> OAuth mailing list
> [email-masked] <mailto:[email-masked]>
> https://www.ietf.org/mailman/listinfo/oauth
>
>

-- 
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com

---

From: Bill Mills <[email-masked]>
Date: Mon, 16 Feb 2015 17:14:27 +0000 (UTC)

I don't think there is protocol work required.  IMO you can best support this with limited cookies or tokens that are not otherwise valid and the server then needs to support with the right behavior.  Might be a BCP doc I suppose, but I don't know if it's worth the effort. 

     On Monday, February 16, 2015 7:35 AM, Justin Richer <[email-masked]> wrote:

-- Justin
/ Sent from my phone /

-------- Original message --------

Thanks all.

---

From: William Denniss <[email-masked]>
Date: Mon, 16 Feb 2015 13:13:08 -0800

I led a discussion on a related topic at a recent IIW (specifically
exploring the "account sharing" use case), the notes are here:
http://iiw.idcommons.net/Account_Sharing_at_the_IDP_(Identity_Provider).
It was an interesting discussion, the whole topic of impersonation
certainly raises a lot of policy questions.

As for the technical implementation, our conclusion was that the simplest
approach for impersonation would be to continue to supply an ID Token for
the target user (i.e. 'sub' represents the user being impersonated), and
add an additional JWT claim for the user doing the impersonation (e.g.
'ipb' meaning "impersonated by").

Thus, any relying party who doesn't understand this claim continues to work
as before (oblivious to the fact the user is being impersonated), and those
who understand the claim and care about impersonation can take action (e.g.
log a better audit trail, limit some functionality or outright block the
behavior).

If this approach sounds interesting to you, perhaps we could formally
register & standardise the 'ipb' claim.  Of course, anyone can use this
technique today via a private claim
<http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.3>.

On Mon Feb 16 2015 at 7:36:23 AM Justin Richer <[email-masked]> wrote:

> Another question is whether or not you can user rights delegation (ie
> vanilla OAuth) or if you really do need impersonation. You may be able to
> get the desired results with less complexity that way.
>
>
> -- Justin
>
> / Sent from my phone /
>
>

---

From: Bill Mills <[email-masked]>
Date: Mon, 16 Feb 2015 21:20:34 +0000 (UTC)

Straight impersonation with no limitations isn't a good solution in the long run. 

     On Monday, February 16, 2015 1:13 PM, William Denniss <[email-masked]> wrote:

 I led a discussion on a related topic at a recent IIW (specifically exploring the "account sharing" use case), the notes are here: http://iiw.idcommons.net/Account_Sharing_at_the_IDP_(Identity_Provider).  It was an interesting discussion, the whole topic of impersonation certainly raises a lot of policy questions.
As for the technical implementation, our conclusion was that the simplest approach for impersonation would be to continue to supply an ID Token for the target user (i.e. 'sub' represents the user being impersonated), and add an additional JWT claim for the user doing the impersonation (e.g. 'ipb' meaning "impersonated by").
Thus, any relying party who doesn't understand this claim continues to work as before (oblivious to the fact the user is being impersonated), and those who understand the claim and care about impersonation can take action (e.g. log a better audit trail, limit some functionality or outright block the behavior).
If this approach sounds interesting to you, perhaps we could formally register & standardise the 'ipb' claim.  Of course, anyone can use this technique today via a private claim.

-- Justin
/ Sent from my phone /

-------- Original message --------

Thanks all.

---

From: Mike Jones <[email-masked]>
Date: Mon, 16 Feb 2015 22:25:55 +0000

The OAuth 2.0 Token Exchange http://tools.ietf.org/html/draft-ietf-oauth-token-exchange specification is designed for use cases such as yours.  Quoting from the abstract:
   This specification defines how to request and obtain Security Tokens
   from OAuth Authorization Servers, including enabling one party to act
   on behalf of another or enabling one party to delegate authority to
   another.

                                                                -- Mike

From: OAuth [mailto:[email-masked]] On Behalf Of Bill Mills
Sent: Monday, February 16, 2015 1:21 PM
To: William Denniss; Justin Richer; Bill Burke; oauth
Subject: Re: [OAUTH-WG] user impersonation protocol?

On Monday, February 16, 2015 1:13 PM, William Denniss <[email-masked]<mailto:[email-masked]>> wrote:

If this approach sounds interesting to you, perhaps we could formally register & standardise the 'ipb' claim.  Of course, anyone can use this technique today via a private claim<http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-32#section-4.3>.

On Mon Feb 16 2015 at 7:36:23 AM Justin Richer <[email-masked]<mailto:[email-masked]>> wrote:
Another question is whether or not you can user rights delegation (ie vanilla OAuth) or if you really do need impersonation. You may be able to get the desired results with less complexity that way.

-- Justin

/ Sent from my phone /

-------- Original message --------
From: Bill Burke <[email-masked]<mailto:[email-masked]>>
Date:02/16/2015 10:20 AM (GMT-05:00)
To: Bill Mills <[email-masked]<mailto:[email-masked]>>, Justin Richer <[email-masked]<mailto:[email-masked]>>, oauth <[email-masked]<mailto:[email-masked]>>
Cc:
Subject: Re: [OAUTH-WG] user impersonation protocol?

Thanks all.

On 2/16/2015 12:37 AM, Bill Mills wrote:
> On Sunday, February 15, 2015 8:34 PM, Justin Richer <[email-masked]<mailto:[email-masked]>> wrote:
>
>
> From: Bill Burke <[email-masked]<mailto:[email-masked]>>
> To: oauth <[email-masked]<mailto:[email-masked]>>
> Cc:
> http://bill.burkecentral.com<http://bill.burkecentral.com/>
>
> [email-masked]<mailto:[email-masked]>
> [email-masked]<mailto:[email-masked]> <mailto:[email-masked]<mailto:[email-masked]>>

--
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com<http://bill.burkecentral.com/>
_______________________________________________
OAuth mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/oauth