Bumping this in the hope I can get more feedback and/or votes.

Thanks,
Viktor

On Tue, Sep 3, 2019 at 1:49 PM Gabor Somogyi <gabor.g.somo...@gmail.com>
wrote:

> +1 (non-binding) I've had a deeper look and this would be a good addition
> to Spark.
>
>
> On Thu, Aug 15, 2019 at 6:19 PM Viktor Somogyi-Vass <
> viktorsomo...@gmail.com>
> wrote:
>
> > Started to implement my proposition and thought about it a little bit
> more
> > and it seems like I overthought the problem and we'd actually be better
> off
> > by having only the User resource type only and not CreateUsers. The
> problem
> > with CreateUsers is that a resource apparently is created only in addAcls
> > (at least in SimpleAclAuthorizer). Therefore we'd need to check before
> > creating the token that the owner user has been created and the token
> > creator has the permissions. Then add the user resource and the token.
> This
> > means that we'd only use CreateUsers when creating tokens iff the token
> > requester principal already has CreateTokens permissions with that user
> > (the owner) so it's kinda duplicate.
> > It would work though if we require the resources to be added beforehand
> but
> > it's not the case and is the detail of the Authorizer implementation.
> >
> > I'll update the KIP accordingly and apologies for the extra round :).
> >
> > Thanks,
> > Viktor
> >
> > On Wed, Aug 14, 2019 at 2:40 PM Viktor Somogyi-Vass <
> > viktorsomo...@gmail.com>
> > wrote:
> >
> > > Sorry, reading my email the second time I probably wasn't clear.
> > > So basically the concept is that there is a user who can add other
> users
> > > as resources (such as userB and userC) prior to creating the "userA can
> > > create delegation token for userB and userC" association with
> > CreateTokens.
> > > To limit who can add new users as resources I thought we can introduce
> a
> > > CreateUser operation. It's true though that we could also say that a
> > Create
> > > operation permission on the Cluster resource would be enough to create
> > new
> > > users but I think from a generic security perspective it's better if we
> > > don't extend already existing operations.
> > > So a classic flow would be that prior to creating the delegation token
> > for
> > > userB, userB itself has to be added by another user who has CreateUser
> > > permissions. After this a CreateToken permission has to be created that
> > > says "userA can create delegation tokens for userB" and after this
> userA
> > > can actually create the token.
> > > Let me know what you think.
> > >
> > > Viktor
> > >
> > > On Wed, Aug 14, 2019 at 1:30 PM Manikumar <manikumar.re...@gmail.com>
> > > wrote:
> > >
> > >> Hi,
> > >>
> > >> Why do we need  new ACL operation  "CreateUsers"?
> > >> I think,  "CreateTokens" Operation is sufficient to create "UserA can
> > >> create tokens for UserB, UserC" association.
> > >>
> > >> Thanks,
> > >>
> > >> On Tue, Aug 13, 2019 at 3:37 PM Viktor Somogyi-Vass <
> > >> viktorsomo...@gmail.com>
> > >> wrote:
> > >>
> > >> > Hi Manikumar,
> > >> >
> > >> > Yea, I just brought up superuser for the sake of simplicity :).
> > >> > Anyway, your proposition makes sense to me, I'll modify the KIP for
> > >> this.
> > >> >
> > >> > The changes summarized:
> > >> > 1. We'll need a new ACL operation as well (say "CreateUsers") to
> > create
> > >> the
> > >> > "UserA can create tokens for UserB, UserC" association. This can be
> > used
> > >> > via the createAcls API of the AdminClient.
> > >> > 2. CreateToken will be a User level operation (instead of a Cluster
> > >> level
> > >> > as in previous drafts). So that means any user who wants to create a
> > >> > delegation token for other users will have to have an ACL set up by
> a
> > >> > higher level user to authorize this.
> > >> > 3. DescribeToken will also be a User level operation. In this case
> > >> tokenT
> > >> > owned by userB will be described if userA has a Describe ACL on
> tokenT
> > >> or
> > >> > has a DescribeToken ACL on userB. Note that in the latter case userA
> > >> will
> > >> > be able to describe all other tokens belonging to userB.
> > >> >
> > >> > Would this work for you?
> > >> >
> > >> > Viktor
> > >> >
> > >> > On Mon, Aug 12, 2019 at 5:45 PM Colin McCabe <cmcc...@apache.org>
> > >> wrote:
> > >> >
> > >> > > +1 for better access control here. In general, impersonating
> another
> > >> user
> > >> > > seems like it’s equivalent to super user access.
> > >> > >
> > >> > > Colin
> > >> > >
> > >> > > On Mon, Aug 12, 2019, at 05:43, Manikumar wrote:
> > >> > > > Hi Viktor,
> > >> > > >
> > >> > > > As per the KIP, It's not only superuser, any user with required
> > >> > > permissions
> > >> > > > (CreateTokens on Cluster Resource), can create the tokens for
> > other
> > >> > > users.
> > >> > > > Current proposed permissions defined like, "UserA can create
> > tokens
> > >> for
> > >> > > any
> > >> > > > user".
> > >> > > > I am thinking, can we change the permissions like "UserA can
> > create
> > >> > > tokens
> > >> > > > for UserB, UserC"?
> > >> > > >
> > >> > > > Thanks,
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > >
> > >> > > > On Fri, Aug 9, 2019 at 6:39 PM Viktor Somogyi-Vass <
> > >> > > viktorsomo...@gmail.com>
> > >> > > > wrote:
> > >> > > >
> > >> > > > > Hey Manikumar,
> > >> > > > >
> > >> > > > > Thanks for the feedback.
> > >> > > > > I'm not sure I fully grasp the use-case. Would this be a
> quota?
> > >> Do we
> > >> > > say
> > >> > > > > something like "there can be 10 active delegation tokens at a
> > time
> > >> > > that is
> > >> > > > > created by superuserA for other users"?
> > >> > > > > I think such a feature could be useful to limit the
> > >> responsibility of
> > >> > > said
> > >> > > > > superuser (and blast radius in case of a faulty/malicious
> > >> superuser)
> > >> > > and
> > >> > > > > also to limit potential programming errors. Do you have other
> > use
> > >> > cases
> > >> > > > > too?
> > >> > > > >
> > >> > > > > Thanks,
> > >> > > > > Viktor
> > >> > > > >
> > >> > > > >
> > >> > > > > On Tue, Aug 6, 2019 at 1:28 PM Manikumar <
> > >> manikumar.re...@gmail.com>
> > >> > > > > wrote:
> > >> > > > >
> > >> > > > > > Hi Viktor,
> > >> > > > > >
> > >> > > > > > Thanks for taking over this KP.
> > >> > > > > >
> > >> > > > > > Current proposed ACL changes allows users to create tokens
> for
> > >> any
> > >> > > user.
> > >> > > > > > Thinking again about this, admins may want to configure a
> user
> > >> to
> > >> > > > > > impersonate limited number of other users.
> > >> > > > > > This allows us to configure fine-grained permissions. But
> this
> > >> > > requires
> > >> > > > > a
> > >> > > > > > new resourceType "User". What do you think?
> > >> > > > > >
> > >> > > > > >
> > >> > > > > > Thanks,
> > >> > > > > > Manikumar
> > >> > > > > >
> > >> > > > > >
> > >> > > > > > On Wed, Jul 31, 2019 at 2:26 PM Viktor Somogyi-Vass <
> > >> > > > > > viktorsomo...@gmail.com>
> > >> > > > > > wrote:
> > >> > > > > >
> > >> > > > > > > Hi Folks,
> > >> > > > > > >
> > >> > > > > > > I'm starting a vote on this.
> > >> > > > > > >
> > >> > > > > > > Viktor
> > >> > > > > > >
> > >> > > > > > > On Thu, Jun 27, 2019 at 12:02 PM Viktor Somogyi-Vass <
> > >> > > > > > > viktorsomo...@gmail.com> wrote:
> > >> > > > > > >
> > >> > > > > > > > Hi Folks,
> > >> > > > > > > >
> > >> > > > > > > > I took over this issue from Manikumar. Recently another
> > >> > > motivation
> > >> > > > > have
> > >> > > > > > > > been raised in Spark for this (SPARK-28173) and I think
> > >> it'd be
> > >> > > great
> > >> > > > > > to
> > >> > > > > > > > continue this task.
> > >> > > > > > > > I updated the KIP and will wait for a few days to get
> some
> > >> > > feedback
> > >> > > > > > then
> > >> > > > > > > > proceed for the vote.
> > >> > > > > > > >
> > >> > > > > > > > Thanks,
> > >> > > > > > > > Viktor
> > >> > > > > > > >
> > >> > > > > > > > On Tue, Dec 11, 2018 at 8:29 AM Manikumar <
> > >> > > manikumar.re...@gmail.com
> > >> > > > > >
> > >> > > > > > > > wrote:
> > >> > > > > > > >
> > >> > > > > > > >> Hi Harsha,
> > >> > > > > > > >>
> > >> > > > > > > >> Thanks for the review.
> > >> > > > > > > >>
> > >> > > > > > > >> With this KIP a designated superuser can create tokens
> > >> without
> > >> > > > > > requiring
> > >> > > > > > > >> individual user credentials.
> > >> > > > > > > >> Any client can authenticate brokers using the created
> > >> tokens.
> > >> > > We may
> > >> > > > > > not
> > >> > > > > > > >> call this as impersonation,
> > >> > > > > > > >> since the clients API calls are executing on their own
> > >> > > authenticated
> > >> > > > > > > >> connections.
> > >> > > > > > > >>
> > >> > > > > > > >> Thanks,
> > >> > > > > > > >> Manikumar
> > >> > > > > > > >>
> > >> > > > > > > >> On Fri, Dec 7, 2018 at 11:56 PM Harsha <
> ka...@harsha.io>
> > >> > wrote:
> > >> > > > > > > >>
> > >> > > > > > > >> > Hi Mani,
> > >> > > > > > > >> > Overall KIP looks good to me. Can we call this
> > >> > > > > > > >> Impersonation
> > >> > > > > > > >> > support, which is what the KIP is doing?
> > >> > > > > > > >> > Also instead of using super.uses as the config which
> > >> > > essentially
> > >> > > > > > > giving
> > >> > > > > > > >> > cluster-wide support to the users, we can introduce
> > >> > > > > > > impersonation.users
> > >> > > > > > > >> as
> > >> > > > > > > >> > a config and users listed in the config are allowed
> to
> > >> > > impersonate
> > >> > > > > > > other
> > >> > > > > > > >> > users.
> > >> > > > > > > >> >
> > >> > > > > > > >> > Thanks,
> > >> > > > > > > >> > Harsha
> > >> > > > > > > >> >
> > >> > > > > > > >> >
> > >> > > > > > > >> > On Fri, Dec 7, 2018, at 3:58 AM, Manikumar wrote:
> > >> > > > > > > >> > > Bump up! to get some attention.
> > >> > > > > > > >> > >
> > >> > > > > > > >> > > BTW, recently Apache Spark added support for Kafka
> > >> > > delegation
> > >> > > > > > > token.
> > >> > > > > > > >> > > https://issues.apache.org/jira/browse/SPARK-25501
> > >> > > > > > > >> > >
> > >> > > > > > > >> > > On Fri, Dec 7, 2018 at 5:27 PM Manikumar <
> > >> > > > > > manikumar.re...@gmail.com
> > >> > > > > > > >
> > >> > > > > > > >> > wrote:
> > >> > > > > > > >> > >
> > >> > > > > > > >> > > > Bump up! to get some attention.
> > >> > > > > > > >> > > >
> > >> > > > > > > >> > > > BTW, recently Apache Spark added for Kafka
> > delegation
> > >> > > token
> > >> > > > > > > support.
> > >> > > > > > > >> > > >
> https://issues.apache.org/jira/browse/SPARK-25501
> > >> > > > > > > >> > > >
> > >> > > > > > > >> > > > On Tue, Sep 25, 2018 at 9:56 PM Manikumar <
> > >> > > > > > > >> manikumar.re...@gmail.com>
> > >> > > > > > > >> > > > wrote:
> > >> > > > > > > >> > > >
> > >> > > > > > > >> > > >> Hi all,
> > >> > > > > > > >> > > >>
> > >> > > > > > > >> > > >> I have created a KIP that proposes to allow
> users
> > to
> > >> > > create
> > >> > > > > > > >> delegation
> > >> > > > > > > >> > > >> tokens for other users.
> > >> > > > > > > >> > > >>
> > >> > > > > > > >> > > >>
> > >> > > > > > > >> > > >>
> > >> > > > > > > >> >
> > >> > > > > > > >>
> > >> > > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > >
> > >> >
> > >>
> >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-373%3A+Allow+users+to+create+delegation+tokens+for+other+users
> > >> > > > > > > >> > > >>
> > >> > > > > > > >> > > >> Please take a look when you get a chance.
> > >> > > > > > > >> > > >>
> > >> > > > > > > >> > > >> Thanks,
> > >> > > > > > > >> > > >> Manikumar
> > >> > > > > > > >> > > >>
> > >> > > > > > > >> > > >
> > >> > > > > > > >> >
> > >> > > > > > > >>
> > >> > > > > > > >
> > >> > > > > > >
> > >> > > > > >
> > >> > > > >
> > >> > > >
> > >> > >
> > >> >
> > >>
> > >
> >
>

Reply via email to