This text is fine. I have issued IETF-LC.

On Mon, Jun 4, 2018 at 1:45 PM, Brian Campbell <bcampb...@pingidentity.com>
wrote:
> Thanks Eric, I've added text in the just submitted -14 saying that only
> the two ends of the chain are to be considered in access control policy
> decisions.
>
> diff:
> https://www.ietf.org/rfcdiff?url2=draft-ietf-oauth-token-exchange-14
>
> htmlized:
> https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-14
>
>
> On Fri, Jun 1, 2018 at 10:02 PM, Eric Rescorla <e...@rtfm.com> wrote:
>
>> OK, well, it seems like it ought to say that that generator of the token
>> can expect that the RP will apply an access control policy that s the union
>> of the capabilities of the two ends of the chain -- and that while it might
>> be less it won't be more.
>>
>> -Ekr
>>
>>
>> On Fri, Jun 1, 2018 at 3:15 PM, Brian Campbell <
>> bcampb...@pingidentity.com> wrote:
>>
>>> I suspect that the vast majority of time C's permissions won't matter at
>>> all. But I do think there are legitimate cases where they might be
>>> considered in the policy decision. One general example I can think of is a
>>> customer service rep or administrator taking override type corrective
>>> action on an end-user's account or transaction information (A is the
>>> end-user and C is the customer service rep) that the user on their own
>>> wouldn't have permission to change.
>>>
>>> On Fri, Jun 1, 2018 at 3:47 PM, Eric Rescorla <e...@rtfm.com> wrote:
>>>
>>>> That would go a long way, I think. Do you think that C's permissions
>>>> matter at all? So, say that the resource is accessible to C but not A?
>>>>
>>>> -Ekr
>>>>
>>>>
>>>>
>>>>
>>>> On Fri, Jun 1, 2018 at 11:47 AM, Brian Campbell <
>>>> bcampb...@pingidentity.com> wrote:
>>>>
>>>>> Hi Eric,
>>>>>
>>>>> Apologies for my somewhat slow response. I've honestly been unsure of
>>>>> how else to try and address the comment/question. But will continue
>>>>> trying...
>>>>>
>>>>> My expectation would be that access control decisions would be made
>>>>> based on the subject of the token itself or on the current actor. And 
>>>>> maybe
>>>>> a combination of both in some situations (like, for example, the actor is
>>>>> an administrator and the token allows admin level access to the stuff the
>>>>> token subject would normally have access to).  However, I don't believe
>>>>> that nested prior actors would or should be considered in access control
>>>>> decisions. The nesting is more just to express what has happened for
>>>>> auditing or tracking or the like. To be honest, the nesting was added in
>>>>> the draft largely because the structure naturally and easily allowed for 
>>>>> it
>>>>> and it seemed like it might be useful information to convey in some cases.
>>>>>
>>>>> So in that A->B->C case (the claims of such a token would, I think,
>>>>> look like the JSON below), B *is not* giving C his authority. B is
>>>>> just noted in the token as having been involved previously.  While A is
>>>>> identified as the subject of the token and C is the current actor.
>>>>>
>>>>>     {
>>>>>       "aud":"... ,"iss":... , "exp":..., etc. etc. ...
>>>>>       "sub":"A",
>>>>>       "act":
>>>>>       {
>>>>>         "sub":"C",
>>>>>         "act":
>>>>>         {
>>>>>           "sub":"B"
>>>>>         }
>>>>>       }
>>>>>     }
>>>>>
>>>>>
>>>>> Would some text explicitly saying that only the token subject (top
>>>>> level sub and claims) and the party identified by the outermost "act" 
>>>>> claim
>>>>> (the current actor) are to be considered in access control decisions
>>>>> address your concern?
>>>>>
>>>>>
>>>>> On Tue, May 29, 2018 at 4:19 PM, Eric Rescorla <e...@rtfm.com> wrote:
>>>>>
>>>>>> Hi Brian,
>>>>>>
>>>>>> To be clear, I'm not opposing Delegation. My concern here is that we
>>>>>> have a chain of signed assertions and I'm trying to understand how I as a
>>>>>> consumer of those assertions am supposed to evaluate it.
>>>>>>
>>>>>> I don't think it's sufficient to just say that that the access
>>>>>> control rules are local policy, because then the entity generating the
>>>>>> signature has no way of knowing how its signature will be used.
>>>>>>
>>>>>> To go back to the case I gave in my initial e-mail, say we have a
>>>>>> chain A->B->C and a resource that A and C could ordinarily not access, 
>>>>>> but
>>>>>> B can. If C has this delegation, can C access the resource? I.e., is B
>>>>>> giving C his authority or just passing on A's authority? It seems pretty
>>>>>> important for B to know that before he gives the token to C.
>>>>>>
>>>>>> -Ekr
>>>>>>
>>>>>>
>>>>>> On Thu, May 17, 2018 at 11:06 AM, Brian Campbell <
>>>>>> bcampb...@pingidentity.com> wrote:
>>>>>>
>>>>>>> Delegation has been in the document since its inception and
>>>>>>> throughout the three and a half years as a working group document.
>>>>>>>
>>>>>>> From a process point of view, the document is now in AD Evaluation.
>>>>>>> I worked through a number of questions and clarifications with Eric 
>>>>>>> (said
>>>>>>> AD), however he raised the particular questions that started this 
>>>>>>> thread on
>>>>>>> the WG list. And I responded with an attempt at addressing those 
>>>>>>> questions.
>>>>>>> That was about a month ago.
>>>>>>>
>>>>>>> Eric, was my explanation helpful in clarify anything for you? Is
>>>>>>> there some text that you'd like to see added? Something else? I'm unsure
>>>>>>> how to proceed but would like to move things forward.
>>>>>>>
>>>>>>>
>>>>>>> On Thu, May 17, 2018 at 8:03 AM, Bill Burke <bbu...@redhat.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> This is an honest question: How important is the actor stuff to the
>>>>>>>> players involved?  Are people going to use it?  IMO, its an edge
>>>>>>>> case
>>>>>>>> and I think more important areas, like external token exchange
>>>>>>>> (realm
>>>>>>>> to realm, domain to domain) are being neglected.  I'm quite
>>>>>>>> unfamiliar
>>>>>>>> how consensus is reached in this WG or the IETF, so I hope I'm not
>>>>>>>> sounding rude.  Just trying to provide some constructive feedback.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, May 17, 2018 at 9:26 AM, Mike Jones <
>>>>>>>> michael.jo...@microsoft.com> wrote:
>>>>>>>> > Moving the actor claim to a separate specification would only
>>>>>>>> make things more complicated for developers.  There already plenty of 
>>>>>>>> OAuth
>>>>>>>> specs.  Needlessly adding another one will only make related things 
>>>>>>>> harder
>>>>>>>> to find.
>>>>>>>> >
>>>>>>>> > Just like in the JWT [RFC 7519] spec itself in which use of all
>>>>>>>> the claims is optional, use of the actor claim in this spec.  If you 
>>>>>>>> don't
>>>>>>>> need it, don't use it.  Just because some won't use it is no better an
>>>>>>>> argument for moving it to a different spec than the argument that JWT
>>>>>>>> should have defined each of its claims in different specs.  That would 
>>>>>>>> have
>>>>>>>> made things harder, not easier.
>>>>>>>> >
>>>>>>>> >                                 -- Mike
>>>>>>>> >
>>>>>>>> > -----Original Message-----
>>>>>>>> > From: OAuth <oauth-boun...@ietf.org> On Behalf Of Bill Burke
>>>>>>>> > Sent: Thursday, May 17, 2018 2:11 PM
>>>>>>>> > To: Brian Campbell <bcampb...@pingidentity.com>
>>>>>>>> > Cc: oauth <oauth@ietf.org>
>>>>>>>> > Subject: Re: [OAUTH-WG] Followup on draft-ietf-oauth-token-exchang
>>>>>>>> e-12.txt
>>>>>>>> >
>>>>>>>> > My personal opinion is that I'm glad this actor stuff is optional.
>>>>>>>> > For one, none of our users have asked for it and really only do
>>>>>>>> simple exchanges.  Secondly, the rules for who can exchange what for 
>>>>>>>> what
>>>>>>>> is controlled and defined within our AS.  Makes things a lot simpler 
>>>>>>>> on the
>>>>>>>> client.  I kind of wish the actor stuff would be defined in a separate
>>>>>>>> specification.  I don't see us implementing it unless users start 
>>>>>>>> asking us
>>>>>>>> to.
>>>>>>>> >
>>>>>>>> > On Wed, May 16, 2018 at 6:11 PM, Brian Campbell <
>>>>>>>> bcampb...@pingidentity.com> wrote:
>>>>>>>> >> Well, it's already called the "actor claim" so the claimed part
>>>>>>>> is
>>>>>>>> >> kind of implied. And "claimed actor claim" is a rather awkward.
>>>>>>>> >> Really, all JWT claims are "claimed something" but they don't
>>>>>>>> include
>>>>>>>> >> the "claimed" bit in the name. RFC 7519, for example, defines the
>>>>>>>> >> subject claim but not the claimed subject claim.
>>>>>>>> >>
>>>>>>>> >> On Fri, Apr 20, 2018 at 11:38 AM, Denis <denis.i...@free.fr>
>>>>>>>> wrote:
>>>>>>>> >>>
>>>>>>>> >>> Brian,
>>>>>>>> >>>
>>>>>>>> >>> Eric said: "what is the RP supposed to do when they encounter
>>>>>>>> it?
>>>>>>>> >>> This seems kind of under specified".
>>>>>>>> >>>
>>>>>>>> >>> After reading your explanations below, it looks like the RP can
>>>>>>>> do
>>>>>>>> >>> anything he wants with the "actor".
>>>>>>>> >>> It is a "claimed actor" and, if we keep the concept, it should
>>>>>>>> be
>>>>>>>> >>> called as such. Such a claim cannot be verified.
>>>>>>>> >>> A RP could copy and paste that claim in an audit log. No
>>>>>>>> standard
>>>>>>>> >>> action related to the content of such a claim can be specified
>>>>>>>> in the
>>>>>>>> >>> spec. If the content of a "claimed actor" is used by the RP, it
>>>>>>>> >>> should be only used as an hint and thus be subject to other
>>>>>>>> >>> verifications which are not specified in this specification.
>>>>>>>> >>>
>>>>>>>> >>> Denis
>>>>>>>> >>>
>>>>>>>> >>> Eric, I realize you weren't particularly impressed by my prior
>>>>>>>> >>> statements about the actor claim but, for lack of knowing what
>>>>>>>> else
>>>>>>>> >>> to say, I'm going to kind of repeat what I said about it over
>>>>>>>> in the
>>>>>>>> >>> Phabricator tool and add a little color.
>>>>>>>> >>>
>>>>>>>> >>> The actor claim is intended as a way to express that delegation
>>>>>>>> has
>>>>>>>> >>> happened and identify the entities involved. Access control or
>>>>>>>> other
>>>>>>>> >>> decisions based on it are at the discretion of the consumer of
>>>>>>>> the
>>>>>>>> >>> token based on whatever policy might be in place.
>>>>>>>> >>>
>>>>>>>> >>> There are JWT claims that have concise processing rules with
>>>>>>>> respect
>>>>>>>> >>> to whether or not the JWT can be accepted as valid. Some
>>>>>>>> examples are "aud"
>>>>>>>> >>> (Audience), "exp" (Expiration Time), and "nbf" (Not Before)
>>>>>>>> from RFC 7519.
>>>>>>>> >>> E.g. if the token is expired or was intended for someone or
>>>>>>>> something
>>>>>>>> >>> else, reject it.
>>>>>>>> >>>
>>>>>>>> >>> And there are JWT claims that appropriately don't specify such
>>>>>>>> >>> processing rules and are solely statements of fact or
>>>>>>>> circumstance.
>>>>>>>> >>> Also from RFC 7519, the "sub" (Subject) and "iat" (Issued At)
>>>>>>>> claims are good examples of such.
>>>>>>>> >>> There might be application or policy specific rules applied to
>>>>>>>> the
>>>>>>>> >>> content of those kinds of claims (e.g. only subjects from a
>>>>>>>> >>> particular organization are able to access tenant specific data
>>>>>>>> or,
>>>>>>>> >>> less realistic but still possible, disallow access for tokens
>>>>>>>> issued
>>>>>>>> >>> outside of regular business
>>>>>>>> >>> hours) but that's all outside the scope of a specification's
>>>>>>>> >>> definition of the claim.
>>>>>>>> >>>
>>>>>>>> >>> The actor claim falls into the latter category. It's a way for
>>>>>>>> the
>>>>>>>> >>> issuer of the token to tell the consumer of the token what is
>>>>>>>> going
>>>>>>>> >>> on. But any action to take (or not) based on that information
>>>>>>>> is at
>>>>>>>> >>> the discretion of the token consumer. I honestly don't know it
>>>>>>>> could
>>>>>>>> >>> be anything more. And don't think it should be.
>>>>>>>> >>>
>>>>>>>> >>> There are two main expected uses of the actor claim (that I'm
>>>>>>>> aware
>>>>>>>> >>> of
>>>>>>>> >>> anyway) that describing here might help. Maybe. One is a human
>>>>>>>> to
>>>>>>>> >>> human delegation case like a customer service rep doing
>>>>>>>> something on
>>>>>>>> >>> behalf of an end user. The subject would be that user and the
>>>>>>>> actor
>>>>>>>> >>> would be the customer service rep. And there wouldn't be any
>>>>>>>> chaining
>>>>>>>> >>> or nesting of the actor. The other case is so called service
>>>>>>>> chaining
>>>>>>>> >>> where a system might exchange a token it receives for a new
>>>>>>>> token
>>>>>>>> >>> that it can use to call a downstream service. And that service
>>>>>>>> in
>>>>>>>> >>> turn might do another exchange to get a new token suitable to
>>>>>>>> call
>>>>>>>> >>> yet another downstream service. And again and so on and turtles
>>>>>>>> all
>>>>>>>> >>> the way. I'm not necessarily endorsing that level of
>>>>>>>> granularity in
>>>>>>>> >>> chaining but it's bound to happen somewhere/sometime. The nested
>>>>>>>> >>> actor claim is able to express that all that has happened with
>>>>>>>> the
>>>>>>>> >>> top level or outermost one being the system currently using the
>>>>>>>> token
>>>>>>>> >>> and prior systems being nested.. What actually gets done with
>>>>>>>> that
>>>>>>>> >>> information is up to the respective systems involved. There
>>>>>>>> might be
>>>>>>>> >>> policy about what system is allowed to call what other system
>>>>>>>> that is
>>>>>>>> >>> enforced. Or maybe the info is just written to an audit log
>>>>>>>> >>> somewhere. Or something else. I don't know. But whatever it is
>>>>>>>> application/deployment/policy dependent and not specifiable by a spec.
>>>>>>>> >>>
>>>>>>>> >>>
>>>>>>>> >>>
>>>>>>>> >>>
>>>>>>>> >>>
>>>>>>>> >>>
>>>>>>>> >>> On Fri, Apr 13, 2018 at 6:38 PM, Eric Rescorla <e...@rtfm.com>
>>>>>>>> wrote:
>>>>>>>> >>>>
>>>>>>>> >>>> Hi folks,
>>>>>>>> >>>>
>>>>>>>> >>>> I've gone over draft-ietf-oauth-token-exchange-12 and things
>>>>>>>> seem
>>>>>>>> >>>> generally OK. I do still have one remaining concern, which is
>>>>>>>> about
>>>>>>>> >>>> the actor claim. Specifically, what is the RP supposed to do
>>>>>>>> when
>>>>>>>> >>>> they encounter it? This seems kind of underspecified.
>>>>>>>> >>>>
>>>>>>>> >>>> In particular:
>>>>>>>> >>>>
>>>>>>>> >>>> 1. What facts am I supposed to know here? Merely that everyone
>>>>>>>> in
>>>>>>>> >>>>    the chain signed off on the next person in the chain acting
>>>>>>>> as them?
>>>>>>>> >>>>
>>>>>>>> >>>> 2. Am I just supposed to pretend that the person presenting
>>>>>>>> the token
>>>>>>>> >>>>    is the identity at the top of the chain? Say I have the
>>>>>>>> >>>>    delegation A -> B -> C, and there is some resource which
>>>>>>>> >>>>    B can access but A and C cannot, should I give access?
>>>>>>>> >>>>
>>>>>>>> >>>> I think the first question definitely needs an answer. The
>>>>>>>> second
>>>>>>>> >>>> question I guess we could make not answer, but it's pretty
>>>>>>>> hard to
>>>>>>>> >>>> know how to make a system with this left open..
>>>>>>>> >>>>
>>>>>>>> >>>> -Ekr
>>>>>>>> >>>>
>>>>>>>> >>>>
>>>>>>>> >>>> _______________________________________________
>>>>>>>> >>>> OAuth mailing list
>>>>>>>> >>>> OAuth@ietf.org
>>>>>>>> >>>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>>>> >>>>
>>>>>>>> >>>
>>>>>>>> >>>
>>>>>>>> >>> CONFIDENTIALITY NOTICE: This email may contain confidential and
>>>>>>>> >>> privileged material for the sole use of the intended
>>>>>>>> recipient(s).
>>>>>>>> >>> Any review, use, distribution or disclosure by others is
>>>>>>>> strictly
>>>>>>>> >>> prohibited..  If you have received this communication in error,
>>>>>>>> >>> please notify the sender immediately by e-mail and delete the
>>>>>>>> message
>>>>>>>> >>> and any file attachments from your computer. Thank you.
>>>>>>>> >>>
>>>>>>>> >>> _______________________________________________
>>>>>>>> >>> OAuth mailing list
>>>>>>>> >>> OAuth@ietf.org
>>>>>>>> >>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>>>> >>>
>>>>>>>> >>>
>>>>>>>> >>>
>>>>>>>> >>> _______________________________________________
>>>>>>>> >>> OAuth mailing list
>>>>>>>> >>> OAuth@ietf.org
>>>>>>>> >>> https://www.ietf.org/mailman/listinfo/oauth
>>>>>>>> >>>
>>>>>>>> >>
>>>>>>>> >>
>>>>>>>> >> CONFIDENTIALITY NOTICE: This email may contain confidential and
>>>>>>>> >> privileged material for the sole use of the intended
>>>>>>>> recipient(s). Any
>>>>>>>> >> review, use, distribution or disclosure by others is strictly
>>>>>>>> >> prohibited..  If you have received this communication in error,
>>>>>>>> please
>>>>>>>> >> notify the sender immediately by e-mail and delete the message
>>>>>>>> and any
>>>>>>>> >> file attachments from your computer. Thank you.
>>>>>>>> >> _______________________________________________
>>>>>>>> >> OAuth mailing list
>>>>>>>> >> OAuth@ietf.org
>>>>>>>> >> https://www.ietf.org/mailman/listinfo/oauth
>>>>>>>> >>
>>>>>>>> >
>>>>>>>> >
>>>>>>>> >
>>>>>>>> > --
>>>>>>>> > Bill Burke
>>>>>>>> > Red Hat
>>>>>>>> >
>>>>>>>> > _______________________________________________
>>>>>>>> > OAuth mailing list
>>>>>>>> > OAuth@ietf.org
>>>>>>>> > https://www.ietf.org/mailman/listinfo/oauth
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Bill Burke
>>>>>>>> Red Hat
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> *CONFIDENTIALITY NOTICE: This email may contain confidential and
>>>>>>> privileged material for the sole use of the intended recipient(s). Any
>>>>>>> review, use, distribution or disclosure by others is strictly 
>>>>>>> prohibited.
>>>>>>> If you have received this communication in error, please notify the 
>>>>>>> sender
>>>>>>> immediately by e-mail and delete the message and any file attachments 
>>>>>>> from
>>>>>>> your computer. Thank you.*
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> *CONFIDENTIALITY NOTICE: This email may contain confidential and
>>>>> privileged material for the sole use of the intended recipient(s). Any
>>>>> review, use, distribution or disclosure by others is strictly prohibited.
>>>>> If you have received this communication in error, please notify the sender
>>>>> immediately by e-mail and delete the message and any file attachments from
>>>>> your computer. Thank you.*
>>>>>
>>>>
>>>>
>>>
>>> *CONFIDENTIALITY NOTICE: This email may contain confidential and
>>> privileged material for the sole use of the intended recipient(s). Any
>>> review, use, distribution or disclosure by others is strictly prohibited.
>>> If you have received this communication in error, please notify the sender
>>> immediately by e-mail and delete the message and any file attachments from
>>> your computer. Thank you.*
>>>
>>
>>
>
> *CONFIDENTIALITY NOTICE: This email may contain confidential and
> privileged material for the sole use of the intended recipient(s). Any
> review, use, distribution or disclosure by others is strictly prohibited.
> If you have received this communication in error, please notify the sender
> immediately by e-mail and delete the message and any file attachments from
> your computer. Thank you.*
>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to