Wait, I thought SaslHandshakeResponse includes a list of mechanisms
supported, so I'm not sure why we need to bump the version?

I expect clients will send SaslHandshakeRequest_V0, see which mechanisms
are supported and make a call based on that? Which means KIP-35 is not
required in that case? Am I missing something?

On Tue, Nov 1, 2016 at 1:07 PM, Rajini Sivaram <rajinisiva...@googlemail.com
> wrote:

> Jun,
>
> I have added the following text to the KIP. Does this match your
> expectation?
>
> *SaslHandshakeRequest version will be increased from 0 to 1 so that clients
> can determine if the broker is capable of supporting SCRAM mechanisms using
> ApiVersionsRequest. Java clients will not be updated to use
> ApiVersionsRequest to choose SASL mechanism under this KIP. Java clients
> will continue to use their configured SASL mechanism and will fail
> connection if the requested mechanism is not enabled in the broker.*
>
> Thank you,
>
> Rajini
>
> On Tue, Nov 1, 2016 at 4:54 PM, Jun Rao <j...@confluent.io> wrote:
>
> > Hi, Rajini,
> >
> > One more thing. It seems that we should bump up the version of
> > SaslHandshakeRequest? This way, the client can figure out which SASL
> > mechanisms the broker is capable of supporting through ApiVersionRequest.
> > We discussed this briefly as part of KIP-43.
> >
> > Thanks,
> >
> > Jun
> >
> >
> >
> > On Tue, Nov 1, 2016 at 7:41 AM, Rajini Sivaram <
> > rajinisiva...@googlemail.com
> > > wrote:
> >
> > > If there are no more comments, I will start vote on this KIP later this
> > > week. In the meantime, please feel free to post any feedback or
> > > suggestions. Initial implementation is here:
> > > https://github.com/apache/kafka/pull/2086.
> > >
> > > Thank you,
> > >
> > > Rajini
> > >
> > > On Thu, Oct 27, 2016 at 11:18 AM, Rajini Sivaram <
> > > rajinisiva...@googlemail.com> wrote:
> > >
> > > > Jun,
> > > >
> > > > 4) Agree, it does make the implementation simpler. Updated KIP.
> > > > 5) Thank you, that looks neater. Updated KIP.
> > > >
> > > > On Wed, Oct 26, 2016 at 6:59 PM, Jun Rao <j...@confluent.io> wrote:
> > > >
> > > >> Hi, Rajini,
> > > >>
> > > >> Thanks for the reply.
> > > >>
> > > >> 4. Implementation wise, it seems to me that it's simpler to read
> from
> > > the
> > > >> cache than reading directly from ZK since the config manager already
> > > >> propagates all config changes through ZK. Also, it's probably a good
> > > idea
> > > >> to limit the places in the code base that directly accesses ZK.
> > > >>
> > > >> 5. Yes, it seems that it makes sense to add the new SCRAM
> > configurations
> > > >> to
> > > >> the existing /config/users/<encoded-user>. I am not sure how one
> would
> > > >> remove the SCRAM configurations in the example though since the
> > > properties
> > > >> specified in add-config is not the ones actually being stored. An
> > > >> alternative is to doing sth like the following. It may still feel a
> > bit
> > > >> weird and I am wondering if there is a clearer approach.
> > > >>
> > > >> bin/kafka-configs.sh --zookeeper localhost:2181 --alter --add-config
> > > >> 'scram_sha-256=[password=alice-secret,iterations=4096],scram_sha-1=
> > > >> [password=alice-secret,iterations=4096]' --entity-type users
> > > >> --entity-name
> > > >> alice
> > > >>
> > > >> bin/kafka-configs.sh --zookeeper localhost:2181 --alter
> > --delete-config
> > > >> 'scram_sha-256,scram_sha-1' --entity-type users --entity-name alice
> > > >>
> > > >> Thanks,
> > > >>
> > > >> Jun
> > > >>
> > > >>
> > > >> On Wed, Oct 26, 2016 at 4:35 AM, Rajini Sivaram <
> > > >> rajinisiva...@googlemail.com> wrote:
> > > >>
> > > >> > Hi Jun,
> > > >> >
> > > >> > Thank you for reviewing the KIP. Answers below:
> > > >> >
> > > >> >
> > > >> >    1. Yes, agree, Updated KIP.
> > > >> >    2. User specifies a password and iteration count.
> kaka-configs.sh
> > > >> >    generates a random salt and then generates StoredKey and
> > ServerKey
> > > >> for
> > > >> > that
> > > >> >    password using the same message formatter implementation used
> for
> > > >> SCRAM
> > > >> >    authentication. I have added some more detail to the KIP (
> > > >> >    https://cwiki.apache.org/confluence/display/KAFKA/KIP-
> > > >> > 84%3A+Support+SASL+SCRAM+mechanisms#KIP-84:
> > > SupportSASLSCRAMmechanisms-
> > > >> > Tools).
> > > >> >    Does that answer the question?
> > > >> >    3. I started off thinking just one (SCRAM-SHA-256) and then
> > thought
> > > >> >    another one is required to make sure that the implementation
> can
> > > cope
> > > >> > with
> > > >> >    multiple SCRAM mechanisms. But actually you are right, we can
> > > support
> > > >> > all.
> > > >> >    I haven't added the old md2/md5 mechanisms that aren't very
> > secure,
> > > >> but
> > > >> > I
> > > >> >    have included all the SHA algorithms.
> > > >> >    4. Since credentials are only required when a connection is
> made,
> > > it
> > > >> >    feels like we can just read the latest value from ZK rather
> than
> > > >> cache
> > > >> > all
> > > >> >    users and keep them updated. Having said that, we can always
> add
> > > >> caching
> > > >> >    later if we find that the overhead of reading from ZK every
> time
> > is
> > > >> too
> > > >> >    expensive. Since caching doesn't change any externals, this can
> > be
> > > >> done
> > > >> > in
> > > >> >    a JIRA later - would that be ok?
> > > >> >    5. Thanks, updated. I have changed the property names to
> include
> > > >> >    mechanism. To avoid four separate properties per mechanism in
> > ZK, I
> > > >> have
> > > >> >    changed the format to use a single property (lower-case
> mechanism
> > > >> name)
> > > >> >    with four values concatenated in a format similar to SCRAM
> > > messages.
> > > >> >
> > > >> > Do you think storing SCRAM credentials in
> > /config/users/<encoded-user>
> > > >> > along with existing quota properties is okay? Or should they be
> > under
> > > a
> > > >> > different path (eg. /config/credentials/<encoded-user>)? Or
> should
> > > >> they be
> > > >> > on a completely different path like ACLs with a separate tool
> > instead
> > > of
> > > >> > reusing kaka-configs.sh?
> > > >> >
> > > >> > Thank you,
> > > >> >
> > > >> > Rajini
> > > >> >
> > > >> > On Tue, Oct 25, 2016 at 11:55 PM, Jun Rao <j...@confluent.io>
> wrote:
> > > >> >
> > > >> > > Hi, Rajini,
> > > >> > >
> > > >> > > Thanks for the proposal. Looks good overall and seems quite
> useful
> > > >> (e.g.
> > > >> > > for supporting delegation tokens). A few comments/questions
> below.
> > > >> > >
> > > >> > > 1. For the ZK data format change, should we use the same
> > convention
> > > >> as in
> > > >> > > KIP-55 to use encoded user name (i.e.,
> > > /config/users/<encoded-user1>)
> > > >> ?
> > > >> > >
> > > >> > > 2. For tooling, could you describe how user typically generates
> > > >> > > scam_server_key and scram_stored_key to be used by
> > kafka-config.sh?
> > > >> > >
> > > >> > > 3. Is there a particular reason to only support sha1 and sha128?
> > > >> Should
> > > >> > we
> > > >> > > support more hashes listed below in the future?
> > > >> > > http://www.iana.org/assignments/hash-function-
> > > >> > > text-names/hash-function-text-names.xhtml
> > > >> > >
> > > >> > > 4. Is there a reason not to cache user credentials in the
> broker?
> > > The
> > > >> > > dynamic config mechanism already supports loading configs into
> > > >> broker's
> > > >> > > cache. Checking credentials from broker's cache is more
> efficient
> > > than
> > > >> > > reading from ZK each time.
> > > >> > >
> > > >> > > 5. Typo "scram_iteration-4096" (= instead of -).
> > > >> > >
> > > >> > > Thanks,
> > > >> > >
> > > >> > > Jun
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> > > On Tue, Oct 4, 2016 at 6:43 AM, Rajini Sivaram <
> > > >> > > rajinisiva...@googlemail.com
> > > >> > > > wrote:
> > > >> > >
> > > >> > > > Hi all,
> > > >> > > >
> > > >> > > > I have just created KIP-84 to add SCRAM-SHA-1 and
> SCRAM-SHA-256
> > > SASL
> > > >> > > > mechanisms to Kafka:
> > > >> > > >
> > > >> > > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-
> > > >> > > > 84%3A+Support+SASL+SCRAM+mechanisms
> > > >> > > >
> > > >> > > >
> > > >> > > > Comments and suggestions are welcome.
> > > >> > > >
> > > >> > > > Thank you...
> > > >> > > >
> > > >> > > > Regards,
> > > >> > > >
> > > >> > > > Rajini
> > > >> > > >
> > > >> > >
> > > >> >
> > > >> >
> > > >> >
> > > >> > --
> > > >> > Regards,
> > > >> >
> > > >> > Rajini
> > > >> >
> > > >>
> > > >
> > > >
> > > >
> > > > --
> > > > Regards,
> > > >
> > > > Rajini
> > > >
> > >
> > >
> > >
> > > --
> > > Regards,
> > >
> > > Rajini
> > >
> >
>
>
>
> --
> Regards,
>
> Rajini
>



-- 
*Gwen Shapira*
Product Manager | Confluent
650.450.2760 | @gwenshap
Follow us: Twitter <https://twitter.com/ConfluentInc> | blog
<http://www.confluent.io/blog>

Reply via email to