Hi Ron,

Unresolved item #1: Yes, Kafka disables hostname verification if
"ssl.endpoint.identification.algorithm" is an empty string.

Unresolved item #2: Yes, those 9 plus hostname verification. If we do
decide to inherit Kafka configs, wouldn't we inherit these 10 in
AclAuthorizer as well?

Unresolved item #3: Agree, following up on the discussion thread for
KIP-553.


On Fri, Jan 17, 2020 at 3:29 AM Ron Dagostino <rndg...@gmail.com> wrote:

> Hi Colin.  TLS to ZooKeeper will remain an opt-in.  The configuration
> value that turns it on is zookeeper.ssl.client.enable (which used to
> be called zookeeper.client.secure before we renamed everything to be
> consistent with Kafka's config naming style and eliminate confusion).
> The default value for this is false.  Everything else related to TLS
> has no effect unless this is explicitly set to true, and this value
> does not inherit from anywhere,
>
> Ron
>
> On Thu, Jan 16, 2020 at 5:39 PM Colin McCabe <cmcc...@apache.org> wrote:
> >
> > On Thu, Jan 16, 2020, at 02:58, Rajini Sivaram wrote:
> > > Hi Ron/Colin,
> > >
> > > Thanks for the responses. I think we need to consider these cases:
> > >
> > > 1) The recommended approach: This is the one we document. Configs
> > > consistent with Kafka make sense here. It seems a lot more confusing to
> > > configure `ssl.cipher.suites`, `ssl.enabled.protocols`, `
> > > zookeeper.ssl.ciphersuites`  and `zookeeper.ssl.enabledProtocols` with
> > > multiple naming inconsistencies in server.properties. For users who
> have
> > > never used ZK system properties, this is clearly simpler. Another
> config to
> > > consider is `ssl.endpoint.identification.algorithm` which does the same
> > > thing as `zookeeper.ssl.hostnameVerification` - if we are staying
> > > consistent, we should use the Kafka format for this too. I would also
> > > consider using something like `zookeeper.client.ssl.enabled` instead
> of `
> > > zookeeper.client.secure` since it is difficult to tell what `secure`
> means
> > > when you have options to configure Kerberos, ACLs and/or SSL.
> > >
> > > 2) Inheritance using prefixed configs as we do for other prefixed
> configs
> > > in Kafka: I think it may be useful for configs like `ssl.protocol` and
> `
> > > ssl.cipher.suites`.
> > >
> > > 3) Default values: Do we want to use Kafka defaults? The inconsistency
> we
> > > have is `ssl.protocol/ssl.enabled.protocols` since we still have
> insecure
> > > protocols enabled for Kafka. We have KIP-553 (
> > >
> https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=142641956
> )
> > > open to disable these. It is currently blocked since it also talks
> about
> > > enabling TLSv1.3 by default and we haven't done sufficient testing for
> > > that. Since it will be good to disable the older insecure protocols
> anyway,
> > > perhaps we could do that without enabling TLSv1.3 by default in 2.5?
> >
> > Hi Rajini,
> >
> > Inheriting the SSL settings from Kafka would have the effect of changing
> the defaults for almost everyone using SSL from non-SSL ZK to SSL-based ZK,
> right?  This seems to expand the scope of the KIP greatly, since it moves
> it from being opt-in to opt-out.  Are there any potential negative
> implications of this?
> >
> > best,
> > Colin
> >
> >
> > >
> > > 4) Backward compatibility for deployments which are using system
> > > properties. We shouldn't override system properties with Kafka
> defaults or
> > > inherited values. But we do want to override if user configures
> properties
> > > explicitly. In the current approach, this was simpler since we just
> had to
> > > set the configured values. But if we decide to inherit Kafka configs,
> then
> > > we will need to check system properties and update accordingly. But
> that
> > > should be doable?
> > >
> > > On Wed, Jan 15, 2020 at 9:51 PM Colin McCabe <cmcc...@apache.org>
> wrote:
> > >
> > > > On Wed, Jan 15, 2020, at 13:41, Ron Dagostino wrote:
> > > > > Hi Colin.  Two things come to mind with respect to ZooKeeper
> camelCase
> > > > > style vs Kafka-style config names for ZooKeeper.  First, I think it
> > > > > would be desirable for the client configs and broker configs to be
> > > > > interoperable.  For example, it feels like it would be convenient
> to
> > > > > be able to pass the broker's config file to the ZK Security
> Migrator
> > > > > tool.  I think whatever we use (ZooKeeper camelCase style or Kafka
> > > > > style), I think we should use the same for both.
> > > > >
> > > > > The second thing to think about is the fact that ZooKeeper
> > > > > configuration inherently uses Java system properties as a first
> pass.
> > > > > So while we might switch to Kafka-style configs in the config file
> > > > > (e.g. zookeeper.ssl.trust.store.location), the
> > > > > org.apache.zookeeper.client.ZKClientConfig class (which is how TLS
> > > > > configs are set) is going to look for the camelCase
> > > > > zookeeper.ssl.trustStore.location system property and use any value
> > > > > there.  I think this could be very confusing for people.  Granted,
> we
> > > > > are doing this so that people don't have to use system properties,
> but
> > > > > there is no way to turn off the use of system properties, so I
> think
> > > > > there would be pretty substantial potential for confusion.
> > > >
> > > > I don't think we document or recommend that anyone use system
> properties
> > > > to configure Zookeeper usage within  Kafka.  And I think the reason
> is
> > > > exactly the issue you pointed out -- it wouldn't be consistent with
> our
> > > > other configurations.
> > > >
> > > > best,
> > > > Colin
> > > >
> > > > >
> > > > > One idea is to migrate the system properties -- i.e. look to see if
> > > > > zookeeper.ssl.trustStore.location is set and if it is clear out the
> > > > > value there and move it under the
> zookeeper.ssl.trust.store.location
> > > > > system property.  (I said it was an idea -- not necessarily a good
> one
> > > > > :-)
> > > > >
> > > > > Ron
> > > > >
> > > > > On Wed, Jan 15, 2020 at 3:54 PM Colin McCabe <cmcc...@apache.org>
> wrote:
> > > > > >
> > > > > > On Wed, Jan 15, 2020, at 10:53, Ron Dagostino wrote:
> > > > > > > Thanks Colin and Rajini.
> > > > > > >
> > > > > > > I've updated the KIP to say that KIP-421 functionality is
> available
> > > > to
> > > > > > > encrypt sensitive configs like the ZK key store and trust store
> > > > > > > passwords.  (I've also made it clear that the configs are not
> > > > > > > dynamically reconfigurable since dynamic values are stored in
> ZK and
> > > > > > > the data is needed to get to ZK in the first place).  Colin,
> let me
> > > > > > > know if you think anything else needs to be said/done about it
> -- I
> > > > > > > wasn't sure if your comment above implies that there are
> additional
> > > > > > > direct actions that we need to take aside from this.
> > > > > > >
> > > > > > > I agree that making the brokers' ZooKeeper clients dynamic with
> > > > > > > respect to key and trust stores (e.g. via
> > > > > > > zookeeper.ssl.context.supplier.class) may increase the risk
> that this
> > > > > > > KIP may not land in time for 2.5.
> > > > > > >
> > > > > > > Regarding the config names for ZK being different than the
> ZooKeeper
> > > > > > > configs (e.g. camel-case keyStore/trustStore instead of
> > > > > > > keystore/truststore, ciphersuites instead of cipher.suites,
> > > > > > > enabledProtocols instead of enabled.protocols), I agree it is
> an
> > > > > > > issue.  I tried to mitigate it by putting warning text in the
> config
> > > > > > > docs for these.  Regarding configuration inheritance, I think
> what
> > > > you
> > > > > > > are saying is that for any configs where the broker has a clear
> > > > > > > semantic equivalent, the broker could fall back to the broker
> value
> > > > if
> > > > > > > the ZK value is not given.  The potential list is:
> > > > > > >
> > > > > > > zookeeper.ssl.keyStore.location => ssl.keystore.location
> > > > > > > zookeeper.ssl.keyStore.password => ssl.keystore.password
> > > > > > > zookeeper.ssl.keyStore.type => ssl.keystore.type
> > > > > > > zookeeper.ssl.trustStore.location => ssl.truststore.location
> > > > > > > zookeeper.ssl.trustStore.password => ssl.truststore.password
> > > > > > > zookeeper.ssl.trustStore.type => ssl.truststore.type
> > > > > > > zookeeper.ssl.ciphersuites => ssl.cipher.suites
> > > > > > >
> > > > > > > Note that there are two configs that look the same based on
> their key
> > > > > > > names but whose allowable values differ:
> > > > > > >
> > > > > > > zookeeper.ssl.protocol(Default: TLSv1.2) =>
> ssl.protocol(Default:
> > > > TLS)
> > > > > > > zookeeper.ssl.enabledProtocols(Default: value of protocol
> property) =
> > > > > > > ssl.enabled.protocols(Default: TLSv1.2,TLSv1.1,TLSv1)
> > > > > > >
> > > > > > > Not sure what the right answer is, but hopefully this detail
> will
> > > > help
> > > > > > > get us there.
> > > > > > >
> > > > > > > Ron
> > > > > >
> > > > > > I think, on balance, I agree with Rajini that it would be nice
> to make
> > > > the configs look more like Kafka configs.  We don't have camel-case
> in
> > > > configuration keys, so we should avoid it here.
> > > > > >
> > > > > > best,
> > > > > > Colin
> > > > > >
> > > > > > >
> > > > > > > On Wed, Jan 15, 2020 at 12:26 PM Colin McCabe <
> cmcc...@apache.org>
> > > > wrote:
> > > > > > > >
> > > > > > > > On Tue, Jan 14, 2020, at 11:49, Rajini Sivaram wrote:
> > > > > > > > > Hi Ron,
> > > > > > > > >
> > > > > > > > > Thanks for the detailed explanation, sounds good to me.
> > > > > > > > >
> > > > > > > > > A few more questions:
> > > > > > > > >
> > > > > > > > > 1) At the moment, all sensitive broker configs including
> > > > > > > > > keystore/truststore passwords can be stored encrypted in
> > > > ZooKeeper prior to
> > > > > > > > > starting up brokers. We are now adding SSL
> keystore/truststore
> > > > passwords
> > > > > > > > > for ZooKeeper client that cannot be stored in ZooKeeper
> since
> > > > you need
> > > > > > > > > these to connect to ZK. We should perhaps document that
> these
> > > > configs can
> > > > > > > > > be encrypted using KIP-421.
> > > > > > > >
> > > > > > > > That's a good point.  Previously, we didn't have ZK
> on-the-wire
> > > > security support.  However, now that we do, sending sensitive
> keystore and
> > > > truststore passwords to ZK in cleartext should be deprecated in
> favor of
> > > > using KIP-421.
> > > > > > > >
> > > > > > > > >
> > > > > > > > > 2) We can dynamically update keystores and trust stores
> used by
> > > > brokers
> > > > > > > > > without restarting the broker. Can we support this easily
> for ZK
> > > > clients
> > > > > > > > > created by the broker, for example by adding our own
> > > > > > > > > `zookeeper.ssl.context.supplier.class`?
> > > > > > > > >
> > > > > > > >
> > > > > > > > Hmm.  That might be better to consider in a follow-up, since
> the
> > > > deadline for 2.5 KIPs is coming up?
> > > > > > > >
> > > > > > > > best,
> > > > > > > > Colin
> > > > > > > >
> > > > > > > > > 3) Looks like we are using config names that directly map
> to ZK
> > > > configs.
> > > > > > > > > Have we considered using equivalent Kafka config names with
> > > > prefixes,
> > > > > > > > > perhaps with inheritance from the non-prefixed names? Not
> sure
> > > > if this is a
> > > > > > > > > good idea, but perhaps worth documenting in Rejected
> > > > Alternatives at least.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On Tue, Jan 14, 2020 at 5:14 PM Colin McCabe <
> cmcc...@apache.org>
> > > > wrote:
> > > > > > > > >
> > > > > > > > > > Hi Ron,
> > > > > > > > > >
> > > > > > > > > > Thanks for the explanation.  I guess thinking about it a
> > > > little bit more,
> > > > > > > > > > we should just add --zk-tls-config-file to all of these
> > > > commands.
> > > > > > > > > >
> > > > > > > > > > We will be removing this option (plus ZK in general) from
> > > > these commands
> > > > > > > > > > in the next major release, but ZK is still supported in
> 2.5,
> > > > so we should
> > > > > > > > > > just do the logical thing.  (The exception is
> > > > ZkSecurityMigrator, which
> > > > > > > > > > will stay).
> > > > > > > > > >
> > > > > > > > > > best,
> > > > > > > > > > Colin
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > On Tue, Jan 14, 2020, at 07:38, Ron Dagostino wrote:
> > > > > > > > > > > Hi Colin.
> > > > > > > > > > >
> > > > > > > > > > > <<< It seems like this [--zk-tls-config-file
> information]
> > > > could just
> > > > > > > > > > appear
> > > > > > > > > > > in a configuration file, which all of these tools
> already
> > > > accept (I
> > > > > > > > > > think)
> > > > > > > > > > >
> > > > > > > > > > > ZkSecurityMigrator has no such property file facility;
> > > > adding a
> > > > > > > > > > > "--zk-tls-config-file" parameter is exactly for this
> > > > purpose.  If we add
> > > > > > > > > > > that to ZkSecurityMigrator then it is trivial to add
> it to
> > > > other commands
> > > > > > > > > > > (the same code is simply reused; it ends up being just
> a few
> > > > extra
> > > > > > > > > > lines).
> > > > > > > > > > > I do not see any parameter in the other two commands to
> > > > adjust the ZK
> > > > > > > > > > > connection; ConfigCommand accepts a "--command-config"
> flag,
> > > > but
> > > > > > > > > > according
> > > > > > > > > > > to the code "This is used only with --bootstrap-server
> > > > option for
> > > > > > > > > > > describing and altering broker configs."
> > > > > > > > > > >
> > > > > > > > > > > I do agree there would be no need to add
> > > > "--zk-tls-config-file" to
> > > > > > > > > > > ReassignPartitionsCommand if its direct ZK
> connectivity is
> > > > replaced in
> > > > > > > > > > time
> > > > > > > > > > > for the next release.
> > > > > > > > > > >
> > > > > > > > > > > ConfigCommand supports the "--bootstrap-server" option
> and
> > > > will have its
> > > > > > > > > > > direct ZooKeeper access formally deprecated as per
> KIP-555,
> > > > but the
> > > > > > > > > > special
> > > > > > > > > > > use case of bootstrapping a ZooKeeper ensemble with
> > > > encrypted credentials
> > > > > > > > > > > prior to starting Kafka will still exist, so it feels
> like
> > > > while
> > > > > > > > > > > "--zk-tls-config-file" would never be used except for
> this
> > > > use case it
> > > > > > > > > > > could probably still be added for this particular
> situation.
> > > > > > > > > > >
> > > > > > > > > > > Ron
> > > > > > > > > > >
> > > > > > > > > > > P.S. I responded on 1/6 but I just discovered that e,
> ail
> > > > (and 3 more I
> > > > > > > > > > > sent) did not go through.  I am trying to get emails
> through
> > > > now to move
> > > > > > > > > > > this discussion forward.
> > > > > > > > > > >
> > > > > > > > > > > On Mon, Jan 6, 2020 at 5:07 PM Colin McCabe <
> > > > cmcc...@apache.org> wrote:
> > > > > > > > > > >
> > > > > > > > > > > > On Fri, Dec 27, 2019, at 10:48, Ron Dagostino wrote:
> > > > > > > > > > > > > Hi everyone.  I would like to make the following
> changes
> > > > to the KIP.
> > > > > > > > > > > > >
> > > > > > > > > > > > > MOTIVATION:
> > > > > > > > > > > > > Include a statement that it will be difficult in
> the
> > > > short term to
> > > > > > > > > > > > > deprecate direct Zookeeper communication in
> > > > kafka-configs.{sh, bat}
> > > > > > > > > > > > (which
> > > > > > > > > > > > > invoke kafka.admin.ConfigCommand) because
> bootstrapping
> > > > a Kafka
> > > > > > > > > > cluster
> > > > > > > > > > > > > with encrypted passwords in Zookeeper is an
> > > > explicitly-supported use
> > > > > > > > > > > > case;
> > > > > > > > > > > > > therefore it is in scope to be able to securely
> > > > configure the CLI
> > > > > > > > > > tools
> > > > > > > > > > > > > that still leverage non-deprecated direct Zookeeper
> > > > communication
> > > > > > > > > > for TLS
> > > > > > > > > > > > > (the other 2 tools are
> kafka-reassign-partitions.{sh,
> > > > bat} and
> > > > > > > > > > > > > zookeeper-security-migration.sh).
> > > > > > > > > > > >
> > > > > > > > > > > > Hi Ron,
> > > > > > > > > > > >
> > > > > > > > > > > > Thanks for the KIP.
> > > > > > > > > > > >
> > > > > > > > > > > > About deprecations:
> > > > > > > > > > > >
> > > > > > > > > > > > * zookeeper-security-migration: clearly, deprecating
> ZK
> > > > access in this
> > > > > > > > > > one
> > > > > > > > > > > > would not make sense, since it would defeat the whole
> > > > point of the
> > > > > > > > > > tool :)
> > > > > > > > > > > >
> > > > > > > > > > > > * kafka-reassign-partitions: ZK access should be
> > > > deprecated here.
> > > > > > > > > > KIP-455
> > > > > > > > > > > > implementation has dragged a bit, but this should
> get done
> > > > soon.
> > > > > > > > > > Certainly
> > > > > > > > > > > > before the next release.
> > > > > > > > > > > >
> > > > > > > > > > > > * kafka-configs: I think ZK access should be
> deprecated
> > > > here as well.
> > > > > > > > > > I
> > > > > > > > > > > > agree there is a super-special bootstrapping case
> here,
> > > > but that should
> > > > > > > > > > > > have its own tool, not use kafka-configs.
> > > > > > > > > > > >
> > > > > > > > > > > > I will post a separate KIP for this, though.
> > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > GOALS:
> > > > > > > > > > > > > Support the secure configuration of TLS-encrypted
> > > > communication
> > > > > > > > > > between
> > > > > > > > > > > > > Zookeeper and:
> > > > > > > > > > > > >   a) Kafka brokers
> > > > > > > > > > > > >   b) The three CLI tools mentioned above that still
> > > > support direct,
> > > > > > > > > > > > > non-deprecated communication to Zookeeper
> > > > > > > > > > > > > It is explicitly out-of-scope to deprecate any
> direct
> > > > Zookeeper
> > > > > > > > > > > > > communication in CLI tools as part of this KIP;
> such
> > > > work will occur
> > > > > > > > > > in
> > > > > > > > > > > > > future KIPs instead.
> > > > > > > > > > > > >
> > > > > > > > > > > > > PUBLIC INTERFACES:
> > > > > > > > > > > > > 1) The following new broker configurations will be
> > > > recognized.
> > > > > > > > > > > > >   zookeeper.client.secure (default value = false,
> for
> > > > backwards
> > > > > > > > > > > > > compatibility)
> > > > > > > > > > > > >   zookeeper.clientCnxnSocket
> > > > > > > > > > > > >   zookeeper.ssl.keyStore.location
> > > > > > > > > > > > >   zookeeper.ssl.keyStore.password
> > > > > > > > > > > > >   zookeeper.ssl.trustStore.location
> > > > > > > > > > > > >   zookeeper.ssl.trustStore.password
> > > > > > > > > > > > > It will be an error for any of the last 5 values
> to be
> > > > left
> > > > > > > > > > unspecified
> > > > > > > > > > > > if
> > > > > > > > > > > > > zookeeper.client.secure is explicitly set to true.
> > > > > > > > > > > > >
> > > > > > > > > > > > > 2) In addition, the
> > > > kafka.security.authorizer.AclAuthorizer class
> > > > > > > > > > > > supports
> > > > > > > > > > > > > the ability to connect to a different Zookeeper
> instance
> > > > than the
> > > > > > > > > > one the
> > > > > > > > > > > > > brokers use.  We therefore also add the following
> > > > optional configs,
> > > > > > > > > > which
> > > > > > > > > > > > > override the corresponding ones from above when
> present:
> > > > > > > > > > > > >   authorizer.zookeeper.client.secure
> > > > > > > > > > > > >   authorizer.zookeeper.clientCnxnSocket
> > > > > > > > > > > > >   authorizer.zookeeper.ssl.keyStore.location
> > > > > > > > > > > > >   authorizer.zookeeper.ssl.keyStore.password
> > > > > > > > > > > > >   authorizer.zookeeper.ssl.trustStore.location
> > > > > > > > > > > > >   authorizer.zookeeper.ssl.trustStore.password
> > > > > > > > > > > > >
> > > > > > > > > > > > > 3) The three CLI tools mentioned above will
> support a new
> > > > > > > > > > > > --zk-tls-config-file
> > > > > > > > > > > > > <String: Zookeeper TLS configuration file path>"
> > > > option.  The
> > > > > > > > > > following
> > > > > > > > > > > > > properties will be recognized in that file, and
> > > > unrecognized
> > > > > > > > > > properties
> > > > > > > > > > > > > will be ignored to allow the possibility of
> pointing
> > > > > > > > > > zk-tls-config-file
> > > > > > > > > > > > at
> > > > > > > > > > > > > the broker's config file.
> > > > > > > > > > > > >   zookeeper.client.secure (default value = false)
> > > > > > > > > > > > >   zookeeper.clientCnxnSocket
> > > > > > > > > > > > >   zookeeper.ssl.keyStore.location
> > > > > > > > > > > > >   zookeeper.ssl.keyStore.password
> > > > > > > > > > > > >   zookeeper.ssl.trustStore.location
> > > > > > > > > > > > >   zookeeper.ssl.trustStore.password
> > > > > > > > > > > > > It will be an error for any of the last 5 values
> to be
> > > > left
> > > > > > > > > > unspecified
> > > > > > > > > > > > if
> > > > > > > > > > > > > zookeeper.client.secure is explicitly set to true.
> > > > > > > > > > > >
> > > > > > > > > > > > Do we really need a --zk-tls-config-file flag?  It
> seems
> > > > like this
> > > > > > > > > > could
> > > > > > > > > > > > just appear in a configuration file, which all of
> these
> > > > tools already
> > > > > > > > > > > > accept (I think).
> > > > > > > > > > > >
> > > > > > > > > > > > best,
> > > > > > > > > > > > Colin
> > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > > > Ron
> > > > > > > > > > > > >
> > > > > > > > > > > > > On Mon, Dec 23, 2019 at 3:03 PM Ron Dagostino <
> > > > rndg...@gmail.com>
> > > > > > > > > > wrote:
> > > > > > > > > > > > >
> > > > > > > > > > > > > > Hi everyone.  Let's get this discussion going
> again
> > > > now that Kafka
> > > > > > > > > > 2.4
> > > > > > > > > > > > > > with Zookeeper 3.5.6 is out.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > First, regarding the KIP number, the other KIP
> that
> > > > was using this
> > > > > > > > > > > > number
> > > > > > > > > > > > > > moved to KIP 534, so KIP 515 remains the correct
> > > > number for this
> > > > > > > > > > > > > > discussion.  I've updated the Kafka Improvement
> > > > Proposal page to
> > > > > > > > > > list
> > > > > > > > > > > > this
> > > > > > > > > > > > > > KIP in the 515 slot, so we're all set there.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Regarding the actual issues under discussion, I
> think
> > > > there are
> > > > > > > > > > some
> > > > > > > > > > > > > > things we should clarify.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > 1) It is possible to use TLS connectivity to
> Zookeeper
> > > > from Apache
> > > > > > > > > > > > Kafka
> > > > > > > > > > > > > > 2.4 -- the problem is that configuration
> information
> > > > has to be
> > > > > > > > > > passed
> > > > > > > > > > > > via
> > > > > > > > > > > > > > system properties as "-D" command line options
> on the
> > > > java
> > > > > > > > > > invocation
> > > > > > > > > > > > of
> > > > > > > > > > > > > > the broker, and those are not secure (anyone with
> > > > access to the box
> > > > > > > > > > > > can see
> > > > > > > > > > > > > > the command line used to invoke the broker); the
> > > > configuration
> > > > > > > > > > includes
> > > > > > > > > > > > > > sensitive information (e.g. a keystore
> password), so
> > > > we need a
> > > > > > > > > > secure
> > > > > > > > > > > > > > mechanism for passing the configuration values.
> I
> > > > believe the real
> > > > > > > > > > > > > > motivation for this KIP is to harden the
> configuration
> > > > mechanism
> > > > > > > > > > for
> > > > > > > > > > > > > > Zookeeper TLS connectivity.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > 2) I believe the list of CLI tools that continue
> to
> > > > use direct
> > > > > > > > > > > > Zookeeper
> > > > > > > > > > > > > > connectivity in a non-deprecated fashion is:
> > > > > > > > > > > > > >   a)
> > > > > > > > > >
> zookeeper-security-migration.sh/kafka.admin.ZkSecurityMigrator
> > > > > > > > > > > > > >   b)
> > > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > >
> > > >
> kafka-reassign-partitions.{sh,bat}/kafka.admin.ReassignPartitionsCommand
> > > > > > > > > > > > > >   c) kafka-configs.{sh,
> bat}/kafka.admin.ConfigCommand
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > 3) I believe Kafka.admin.ConfigCommand presents a
> > > > conundrum
> > > > > > > > > > because it
> > > > > > > > > > > > > > explicitly states in a comment that a supported
> use
> > > > case is
> > > > > > > > > > > > bootstrapping a
> > > > > > > > > > > > > > Kafka cluster with encrypted passwords in
> Zookeeper
> > > > (see
> > > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > >
> > > >
> https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/admin/ConfigCommand.scala#L65
> > > > > > > > > > > > ).
> > > > > > > > > > > > > > This means it will be especially difficult to
> > > > deprecate this
> > > > > > > > > > particular
> > > > > > > > > > > > > > direct Zookeeper connectivity without a different
> > > > storage
> > > > > > > > > > mechanism for
> > > > > > > > > > > > > > dynamic configuration values being available
> (i.e. the
> > > > self-managed
> > > > > > > > > > > > quorum
> > > > > > > > > > > > > > referred to in KIP-500).
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > I think it would be easier and simpler to harden
> the
> > > > Zookeeper TLS
> > > > > > > > > > > > > > configuration in both Kafka and in CLI tools
> compared
> > > > to trying to
> > > > > > > > > > > > > > deprecate the direct Zookeeper connectivity in
> the
> > > > above 3 CLI
> > > > > > > > > > tools --
> > > > > > > > > > > > > > especially when ConfigCommand has no obvious
> > > > short-term path to
> > > > > > > > > > > > deprecation.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Regarding how to harden the TLS configuration,
> adding
> > > > the
> > > > > > > > > > appropriate
> > > > > > > > > > > > > > configs to Kafka is an obvious choice for the
> > > > brokers.  Not that
> > > > > > > > > > these
> > > > > > > > > > > > > > values cannot be dynamically reconfigurable
> because
> > > > the values
> > > > > > > > > > would be
> > > > > > > > > > > > > > required to connect to Zookeeper via TLS in the
> first
> > > > place.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Regarding how to harden the TLS configuration
> for the
> > > > 3 remaining
> > > > > > > > > > CLI
> > > > > > > > > > > > > > tools, it would be relatively straightforward to
> add
> > > > support for a
> > > > > > > > > > > > > > "--zk-tls-config-file <String: Zookeeper TLS
> > > > configuration system
> > > > > > > > > > > > > > properties file path>" option to each one.
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Thoughts?
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > Ron
> > > > > > > > > > > > > >
> > > > > > > > > > > > > > On Thu, Sep 12, 2019 at 8:13 AM Pere Urbón Bayes
> <
> > > > > > > > > > pere.ur...@gmail.com
> > > > > > > > > > > > >
> > > > > > > > > > > > > > wrote:
> > > > > > > > > > > > > >
> > > > > > > > > > > > > >> True, the number is duplicated.
> > > > > > > > > > > > > >>
> > > > > > > > > > > > > >>   do you know how can we get the problem fix? I
> was
> > > > not aware, I
> > > > > > > > > > > > missed,
> > > > > > > > > > > > > >> sorry the need to add the KIP to the table.
> > > > > > > > > > > > > >>
> > > > > > > > > > > > > >> -- Pere
> > > > > > > > > > > > > >>
> > > > > > > > > > > > > >> Missatge de Jorge Esteban Quilcate Otoya <
> > > > > > > > > > quilcate.jo...@gmail.com>
> > > > > > > > > > > > del
> > > > > > > > > > > > > >> dia
> > > > > > > > > > > > > >> dt., 3 de set. 2019 a les 13:43:
> > > > > > > > > > > > > >>
> > > > > > > > > > > > > >> > Hi Pere,
> > > > > > > > > > > > > >> >
> > > > > > > > > > > > > >> > Have you add your KIP to the list here
> > > > > > > > > > > > > >> >
> > > > > > > > > > > > > >>
> > > > > > > > > > > >
> > > > > > > > > >
> > > >
> https://cwiki.apache.org/confluence/display/KAFKA/Kafka+Improvement+Proposals
> > > > > > > > > > > > > >> ?
> > > > > > > > > > > > > >> >
> > > > > > > > > > > > > >> > I found the KIP number assigned to another.
> > > > > > > > > > > > > >> >
> > > > > > > > > > > > > >> >
> > > > > > > > > > > > > >> >
> > > > > > > > > > > > > >> > On Mon, Sep 2, 2019 at 2:23 PM Pere Urbón
> Bayes <
> > > > > > > > > > > > pere.ur...@gmail.com>
> > > > > > > > > > > > > >> > wrote:
> > > > > > > > > > > > > >> >
> > > > > > > > > > > > > >> >> Thanks for your time Harsha,
> > > > > > > > > > > > > >> >>    anyone else with comments? looking
> forward to
> > > > hearing from
> > > > > > > > > > you.
> > > > > > > > > > > > > >> >>
> > > > > > > > > > > > > >> >> Stupid question: when do you move from
> discussion
> > > > to vote?
> > > > > > > > > > > > > >> >>
> > > > > > > > > > > > > >> >> Missatge de Harsha Chintalapani <
> ka...@harsha.io>
> > > > del dia
> > > > > > > > > > dv., 30
> > > > > > > > > > > > > >> d’ag.
> > > > > > > > > > > > > >> >> 2019 a les 21:59:
> > > > > > > > > > > > > >> >>
> > > > > > > > > > > > > >> >> > Thanks Pere. KIP looks good to me.
> > > > > > > > > > > > > >> >> > -Harsha
> > > > > > > > > > > > > >> >> >
> > > > > > > > > > > > > >> >> >
> > > > > > > > > > > > > >> >> > On Fri, Aug 30, 2019 at 10:05 AM, Pere
> Urbón
> > > > Bayes <
> > > > > > > > > > > > > >> >> pere.ur...@gmail.com>
> > > > > > > > > > > > > >> >> > wrote:
> > > > > > > > > > > > > >> >> >
> > > > > > > > > > > > > >> >> >> Not really,
> > > > > > > > > > > > > >> >> >>   my idea is to keep the JAAS parameter,
> so
> > > > people don't see
> > > > > > > > > > > > major
> > > > > > > > > > > > > >> >> >> changes. But if you pass a properties
> file,
> > > > then this takes
> > > > > > > > > > > > > >> precedence
> > > > > > > > > > > > > >> >> over
> > > > > > > > > > > > > >> >> >> the other, with the idea that you can do
> sasl
> > > > as well with
> > > > > > > > > > the
> > > > > > > > > > > > > >> >> properties
> > > > > > > > > > > > > >> >> >> files.
> > > > > > > > > > > > > >> >> >>
> > > > > > > > > > > > > >> >> >> Makes sense?
> > > > > > > > > > > > > >> >> >>
> > > > > > > > > > > > > >> >> >> -- Pere
> > > > > > > > > > > > > >> >> >>
> > > > > > > > > > > > > >> >> >> Missatge de Harsha Chintalapani <
> > > > ka...@harsha.io> del dia
> > > > > > > > > > dv.,
> > > > > > > > > > > > 30
> > > > > > > > > > > > > >> >> d’ag.
> > > > > > > > > > > > > >> >> >> 2019 a les 19:00:
> > > > > > > > > > > > > >> >> >>
> > > > > > > > > > > > > >> >> >>> Hi Pere,
> > > > > > > > > > > > > >> >> >>>           Thanks for the KIP. Enabling
> SSL for
> > > > zookeeper
> > > > > > > > > > for
> > > > > > > > > > > > Kafka
> > > > > > > > > > > > > >> >> makes
> > > > > > > > > > > > > >> >> >>> sense.
> > > > > > > > > > > > > >> >> >>> "The changes are planned to be
> introduced in a
> > > > compatible
> > > > > > > > > > way,
> > > > > > > > > > > > by
> > > > > > > > > > > > > >> >> >>> keeping the current JAAS variable
> precedence."
> > > > > > > > > > > > > >> >> >>> Can you elaborate a bit here. If the user
> > > > configures a JAAS
> > > > > > > > > > > > file
> > > > > > > > > > > > > >> with
> > > > > > > > > > > > > >> >> >>> Client section it will take precedence
> over
> > > > zookeeper SSL
> > > > > > > > > > > > configs?
> > > > > > > > > > > > > >> >> >>>
> > > > > > > > > > > > > >> >> >>> Thanks,
> > > > > > > > > > > > > >> >> >>> Harsha
> > > > > > > > > > > > > >> >> >>>
> > > > > > > > > > > > > >> >> >>>
> > > > > > > > > > > > > >> >> >>>
> > > > > > > > > > > > > >> >> >>> On Fri, Aug 30, 2019 at 7:50 AM, Pere
> Urbón
> > > > Bayes <
> > > > > > > > > > > > > >> >> pere.ur...@gmail.com>
> > > > > > > > > > > > > >> >> >>> wrote:
> > > > > > > > > > > > > >> >> >>>
> > > > > > > > > > > > > >> >> >>>> Hi,
> > > > > > > > > > > > > >> >> >>>> quick question, I saw in another mail
> that
> > > > 2.4 release is
> > > > > > > > > > > > planned
> > > > > > > > > > > > > >> for
> > > > > > > > > > > > > >> >> >>>> September. I think it would be really
> awesome
> > > > to have
> > > > > > > > > > this for
> > > > > > > > > > > > > >> this
> > > > > > > > > > > > > >> >> >>>> release, do you think we can make it?
> > > > > > > > > > > > > >> >> >>>>
> > > > > > > > > > > > > >> >> >>>> -- Pere
> > > > > > > > > > > > > >> >> >>>>
> > > > > > > > > > > > > >> >> >>>> Missatge de Pere Urbón Bayes <
> > > > pere.ur...@gmail.com> del
> > > > > > > > > > dia
> > > > > > > > > > > > dj.,
> > > > > > > > > > > > > >> 29
> > > > > > > > > > > > > >> >> >>>> d’ag. 2019 a les 20:10:
> > > > > > > > > > > > > >> >> >>>>
> > > > > > > > > > > > > >> >> >>>> Hi,
> > > > > > > > > > > > > >> >> >>>> this is my first KIP for a change in
> Apache
> > > > Kafka, so I'm
> > > > > > > > > > > > really
> > > > > > > > > > > > > >> need
> > > > > > > > > > > > > >> >> >>>> to the process. Looking forward to
> hearing
> > > > from you and
> > > > > > > > > > learn
> > > > > > > > > > > > the
> > > > > > > > > > > > > >> >> best
> > > > > > > > > > > > > >> >> >>>> ropes here.
> > > > > > > > > > > > > >> >> >>>>
> > > > > > > > > > > > > >> >> >>>> I would like to propose this KIP-515 to
> > > > enable the
> > > > > > > > > > > > > >> ZookeeperClients
> > > > > > > > > > > > > >> >> to
> > > > > > > > > > > > > >> >> >>>> take full advantage of the TLS
> communication
> > > > in the new
> > > > > > > > > > > > Zookeeper
> > > > > > > > > > > > > >> >> 3.5.5.
> > > > > > > > > > > > > >> >> >>>> Specially interesting it the Zookeeper
> > > > Security Migration,
> > > > > > > > > > > > that
> > > > > > > > > > > > > >> >> without
> > > > > > > > > > > > > >> >> >>>> this change will not work with TLS,
> disabling
> > > > users to use
> > > > > > > > > > > > ACLs
> > > > > > > > > > > > > >> when
> > > > > > > > > > > > > >> >> the
> > > > > > > > > > > > > >> >> >>>> Zookeeper cluster use TLS.
> > > > > > > > > > > > > >> >> >>>>
> > > > > > > > > > > > > >> >> >>>> link:
> > > > > > > > > > > > > >> >> >>>>
> > > > > > > > > > > > > >> >> >>>>
> > > > > > > > > > > > > >> >>
> > > > > > > > > > > > > >>
> > > > > > > > > > > >
> > > > > > > > > >
> > > >
> https://cwiki.apache.org/confluence/display/KAFKA/KIP-515%3A+Enable+ZK+client+to+use+the+new+TLS+supported+authentication
> > > > > > > > > > > > > >> >> >>>>
> > > > > > > > > > > > > >> >> >>>> Looking forward to hearing from you on
> this,
> > > > > > > > > > > > > >> >> >>>>
> > > > > > > > > > > > > >> >> >>>> /cheers
> > > > > > > > > > > > > >> >> >>>>
> > > > > > > > > > > > > >> >> >>>> --
> > > > > > > > > > > > > >> >> >>>> Pere Urbon-Bayes
> > > > > > > > > > > > > >> >> >>>> Software Architect
> > > > > > > > > > > > > >> >> >>>> http://www.purbon.com
> > > > > > > > > > > > > >> >> >>>> https://twitter.com/purbon
> > > > > > > > > > > > > >> >> >>>> https://www.linkedin.com/in/purbon/
> > > > > > > > > > > > > >> >> >>>>
> > > > > > > > > > > > > >> >> >>>> --
> > > > > > > > > > > > > >> >> >>>> Pere Urbon-Bayes
> > > > > > > > > > > > > >> >> >>>> Software Architect
> > > > > > > > > > > > > >> >> >>>> http://www.purbon.com
> > > > > > > > > > > > > >> >> >>>> https://twitter.com/purbon
> > > > > > > > > > > > > >> >> >>>> https://www.linkedin.com/in/purbon/
> > > > > > > > > > > > > >> >> >>>>
> > > > > > > > > > > > > >> >> >>>
> > > > > > > > > > > > > >> >> >>>
> > > > > > > > > > > > > >> >> >>
> > > > > > > > > > > > > >> >> >> --
> > > > > > > > > > > > > >> >> >> Pere Urbon-Bayes
> > > > > > > > > > > > > >> >> >> Software Architect
> > > > > > > > > > > > > >> >> >> http://www.purbon.com
> > > > > > > > > > > > > >> >> >> https://twitter.com/purbon
> > > > > > > > > > > > > >> >> >> https://www.linkedin.com/in/purbon/
> > > > > > > > > > > > > >> >> >>
> > > > > > > > > > > > > >> >> >
> > > > > > > > > > > > > >> >> >
> > > > > > > > > > > > > >> >>
> > > > > > > > > > > > > >> >> --
> > > > > > > > > > > > > >> >> Pere Urbon-Bayes
> > > > > > > > > > > > > >> >> Software Architect
> > > > > > > > > > > > > >> >> http://www.purbon.com
> > > > > > > > > > > > > >> >> https://twitter.com/purbon
> > > > > > > > > > > > > >> >> https://www.linkedin.com/in/purbon/
> > > > > > > > > > > > > >> >>
> > > > > > > > > > > > > >> >
> > > > > > > > > > > > > >>
> > > > > > > > > > > > > >> --
> > > > > > > > > > > > > >> Pere Urbon-Bayes
> > > > > > > > > > > > > >> Software Architect
> > > > > > > > > > > > > >> http://www.purbon.com
> > > > > > > > > > > > > >> https://twitter.com/purbon
> > > > > > > > > > > > > >> https://www.linkedin.com/in/purbon/
> > > > > > > > > > > > > >>
> > > > > > > > > > > > > >
> > > > > > > > > > > > >
> > > > > > > > > > > >
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > >
> > > > >
> > > >
> > >
>
>

Reply via email to