[DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-16 Thread Jason Gustafson
Hi All, I've added a new KIP to improve and extend the principal building API that Kafka exposes: https://cwiki.apache.org/confluence/display/KAFKA/KIP-189%3A+Improve+principal+builder+interface+and+add+support+for+SASL . As always, feedback is appreciated. Thanks, Jason

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-25 Thread Mayuresh Gharat
Hi Jason, Thanks a lot for the KIP and sorry for the delayed response. I had a few questions : - The KIP says that a user can have a class that extends KafkaPrincipal. Would this extended class be used when constructing the Session object in the SocketServer instead of constructing a n

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-25 Thread Jason Gustafson
Hey Mayuresh, Thanks for the comments. - The KIP says that a user can have a class that extends KafkaPrincipal. >Would this extended class be used when constructing the Session object > in >the SocketServer instead of constructing a new KafkaPrincipal? Yes, that's correct. We want to

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-25 Thread Mayuresh Gharat
Hi Jason, Thanks for the replies. I think it would be better to discuss with an example that we were trying to address with KIP-111 and see if the current mentioned solution would address it. Let's consider a third party library called authz_lib that is provided by some Security team at some co

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-25 Thread Jason Gustafson
Hi Mayuresh, To clarify, the intention is to use the KafkaPrincipal object built by the KafkaPrincipalBuilder inside the Session. So we would remove the logic to construct a new KafkaPrincipal using only the name from the Principal. Then it should be possible to pass the `AuthzPrincipal` to the un

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-25 Thread Mayuresh Gharat
Perfect. As long as there is a way we can access the originally created Principal in the Authorizer, it would solve the KIP-111 issue. This is really helpful, thanks again. Thanks, Mayuresh On Fri, Aug 25, 2017 at 3:13 PM, Jason Gustafson wrote: > Hi Mayuresh, > > To clarify, the intention is

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-25 Thread Jason Gustafson
No problem. I'll add a note to the KIP to emphasize that we will use the same object built by the KafkaPrincipalBuilder in the Session object passed to the authorizer. -Jason On Fri, Aug 25, 2017 at 3:17 PM, Mayuresh Gharat wrote: > Perfect. > As long as there is a way we can access the origina

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-25 Thread Don Bosco Durai
Jason Do you anticipate any backward compatibility issues with existing custom implementation of the authorization interface/plugins? Thanks Bosco On 8/25/17, 3:22 PM, "Jason Gustafson" wrote: No problem. I'll add a note to the KIP to emphasize that we will use the same object built

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-25 Thread Jason Gustafson
Hi Don, I don't think so. We are not making any changes to the Authorizer interface itself. The KafkaPrincipal object does not change either, though we now explicitly allow it to be extended. That means you have to exercise a little caution when combining a custom PrincipalBuilder with a custom Au

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-25 Thread Don Bosco Durai
Jason, thanks for confirming that. Since there are existing custom plugins, we might have to give enough time for them to start using the newer interface. I quickly glanced over the KIP, it looks good. Here is one comment: --- In the future, we may add support for groups to Kafka. This was b

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-25 Thread Jason Gustafson
Hey Don, That is not actually part of the KIP. It was a (somewhat pedantic) example used to illustrate how the kafka principal semantics could be applied to authorizers which understood group-level ACLs. The key point is this: although a principal is identified only by its type and name, the Kafka

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-25 Thread Don Bosco Durai
Jason, thanks for the clarification. Bosco On 8/25/17, 4:59 PM, "Jason Gustafson" wrote: Hey Don, That is not actually part of the KIP. It was a (somewhat pedantic) example used to illustrate how the kafka principal semantics could be applied to authorizers which understoo

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-28 Thread Jason Gustafson
Thanks all for the discussion. I'll begin a vote in the next couple days. -Jason On Fri, Aug 25, 2017 at 5:01 PM, Don Bosco Durai wrote: > Jason, thanks for the clarification. > > Bosco > > > On 8/25/17, 4:59 PM, "Jason Gustafson" wrote: > > Hey Don, > > That is not actually part of th

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-28 Thread Colin McCabe
Thanks, Jason, this is a great improvement! One minor nit. The current KafkaPrincipal#equals looks like this: >@Override >public boolean equals(Object o) { >if (this == o) return true; >if (!(o instanceof KafkaPrincipal)) return false; > >KafkaPrincipal that = (Ka

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-28 Thread Ted Yu
bq. change the check in equals() to be this.getClass().equals(other. getClass()) I happened to have Effective Java on hand. Please take a look at related discussion on page 39. Josh later on mentioned Liskov substitution principle and a workaround (favoring composition). FYI On Mon, Aug 28, 2

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-29 Thread Jason Gustafson
Hi Colin, Thanks for the comments. Seems reasonable to provide a safer `equals` for extensions. I don't think this needs to be part of the KIP, but I can add it to my patch. Moving `fromString` makes sense also. This method is technically already part of the public API, which means we should prob

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-29 Thread Colin McCabe
Thanks, Jason. +1 (non-binding) Colin On Tue, Aug 29, 2017, at 09:12, Jason Gustafson wrote: > Hi Colin, > > Thanks for the comments. Seems reasonable to provide a safer `equals` for > extensions. I don't think this needs to be part of the KIP, but I can add > it to my patch. > > Moving `fromS

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-19 Thread Ismael Juma
Thanks for the KIP Jason. It seems reasonable and cleans up some inconsistencies in that area. It would be great to get some feedback from Mayuresh and others who worked on KIP-111. Ismael On Thu, Aug 17, 2017 at 1:21 AM, Jason Gustafson wrote: > Hi All, > > I've added a new KIP to improve and

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-22 Thread Jason Gustafson
Bump. I'll open a vote in a few days if there are no comments. Thanks, Jason On Sat, Aug 19, 2017 at 12:28 AM, Ismael Juma wrote: > Thanks for the KIP Jason. It seems reasonable and cleans up some > inconsistencies in that area. It would be great to get some feedback from > Mayuresh and others

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-23 Thread Jun Rao
Hi, Mayuresh, Since this KIP covers the requirement in KIP-111, could you review it too? Thanks, Jun On Tue, Aug 22, 2017 at 3:04 PM, Jason Gustafson wrote: > Bump. I'll open a vote in a few days if there are no comments. > > Thanks, > Jason > > On Sat, Aug 19, 2017 at 12:28 AM, Ismael Juma

Re: [DISCUSS] KIP-189: Improve principal builder interface and add support for SASL

2017-08-24 Thread Mayuresh Gharat
Sure. Thanks, Mayuresh On Wed, Aug 23, 2017 at 5:07 PM, Jun Rao wrote: > Hi, Mayuresh, > > Since this KIP covers the requirement in KIP-111, could you review it too? > > Thanks, > > Jun > > > On Tue, Aug 22, 2017 at 3:04 PM, Jason Gustafson > wrote: > >> Bump. I'll open a vote in a few days i