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.* >
_______________________________________________ OAuth mailing list OAuth@ietf.org https://www.ietf.org/mailman/listinfo/oauth