Hello Harsha,

Pinging again. This is a minor KIP and it has been lying around for quite
some time. If providing supported principal types via a config is what you
suggest, I am fine with it.

On Wed, Mar 9, 2016 at 12:32 PM, Ashish Singh <asi...@cloudera.com> wrote:

> Hi Harsha,
>
> On Wed, Mar 9, 2016 at 12:04 PM, Harsha <ka...@harsha.io> wrote:
>
>> Why we need to add this additional method just for validation. This will
>> invalidate all the existing authorizer implementations.
>
> As PrincipalTypes is implementation specific, wouldn't it be required for
> users to know what principal types they can use in add/removeAcls?
>
> All the existing authorizer implementations will continue to work, as the
> method by default will return List(User), as User is the only principal
> type that is supported out of the box as of now. Let me know if I missed
> your question here.
>
>
>> Why can't we add
>> the logic for validation and pass it as authorizer config.
>>
> Do you mean passing PrincipalTypes as authorizer config? If I am getting
> your question correctly, then we are asking users to be aware of what
> PrincipalTypes an authorizer supports. That defeats the purpose of
> validation, right?
>
>>
>> -Harsha
>>
>> On Mon, Mar 7, 2016, at 04:33 PM, Ashish Singh wrote:
>> > + Parth, Harsha
>> >
>> > On Mon, Mar 7, 2016 at 4:32 PM, Ashish Singh <asi...@cloudera.com>
>> wrote:
>> >
>> > > Thanks Gwen.
>> > >
>> > > @Parth, @Harsha pinging you guys for your feedback. Based on
>> discussion on
>> > > JIRA, we have following open questions.
>> > >
>> > >    1.
>> > >
>> > >    How to allow an authorizer implementation to specify supported
>> > >    principal types?
>> > >
>> > >    An alternative of providing supported Principal types via
>> interface is
>> > >    via a config option. Having a config option will be helpful for
>> certain
>> > >    third party implementations that uses SimpleAclAuthorizer but
>> support more
>> > >    PrincipalTypes. However, it requires adds one more config.
>> > >
>> > >    2.
>> > >
>> > >    ACLs validation should be done by client or by authorizer?
>> > >
>> > >    Once this method is added we expect the Client of the authorizer
>> to do
>> > >    the validation on principal types and the authorizer will still
>> not do any
>> > >    validation by it self. As an alternative we can add the validation
>> at
>> > >    Authorizer level. Having validation done at client side enables
>> clients to
>> > >    fail fast for invalid principal types, whereas implementing it at
>> > >    authorization level removes the requirement of having the
>> validation done
>> > >    on each client implementation.
>> > >
>> > >
>> > > On Mon, Mar 7, 2016 at 3:47 PM, Gwen Shapira <g...@confluent.io>
>> wrote:
>> > >
>> > > Ashish,
>> > >>
>> > >> I'm neutral on this (+0), but would be good to have feedback from
>> > >> Harsha and Parth. If you can get their "sounds good", we can probably
>> > >> get it through fairly soon and in time for 0.10.0.
>> > >>
>> > >> Gwen
>> > >>
>> > >> On Wed, Mar 2, 2016 at 9:47 AM, Ashish Singh <asi...@cloudera.com>
>> wrote:
>> > >> > Here is link to the KIP,
>> > >> >
>> > >>
>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-50+-+Enhance+Authorizer+interface+to+be+aware+of+supported+Principal+Types
>> > >> >
>> > >> > On Wed, Mar 2, 2016 at 9:46 AM, Ashish Singh <asi...@cloudera.com>
>> > >> wrote:
>> > >> >
>> > >> >> Hi Guys,
>> > >> >>
>> > >> >> I would like to initiate a discuss thread on KIP-50. Kafka
>> authorizer
>> > >> is
>> > >> >> agnostic of principal types it supports, so are the acls CRUD
>> methods
>> > >> >> in kafka.security.auth.Authorizer. The intent behind is to keep
>> Kafka
>> > >> >> authorization pluggable, which is really great. However, this
>> leads to
>> > >> Acls
>> > >> >> CRUD methods not performing any check on validity of acls, as
>> they are
>> > >> not
>> > >> >> aware of what principal types Authorizer implementation supports.
>> This
>> > >> >> opens up space for lots of user errors, KAFKA-3097
>> > >> >> <https://issues.apache.org/jira/browse/KAFKA-3097> for an
>> instance.
>> > >> >>
>> > >> >> This KIP proposes adding a getSupportedPrincipalTypes method to
>> > >> authorizer
>> > >> >> and use that for acls verification during acls CRUD.
>> > >> >>
>> > >> >> Feedbacks and comments are welcome.
>> > >> >>
>> > >> >> --
>> > >> >>
>> > >> >> Regards,
>> > >> >> Ashish
>> > >> >>
>> > >> >
>> > >> >
>> > >> >
>> > >> > --
>> > >> >
>> > >> > Regards,
>> > >> > Ashish
>> > >>
>> > > ​
>> > > --
>> > >
>> > > Regards,
>> > > Ashish
>> > >
>> >
>> >
>> >
>> > --
>> >
>> > Regards,
>> > Ashish
>>
>
>
>
> --
>
> Regards,
> Ashish
>



-- 

Regards,
Ashish

Reply via email to