Hi Rajini.  Thanks.  Yes, I’ll update the KIP, and then I’ll start the vote.

Ron

> On Jan 20, 2020, at 6:30 AM, Rajini Sivaram <rajinisiva...@gmail.com> wrote:
> 
> Hi Ron,
> 
> Good point. Keystore and truststore configs (type/location/password) are
> dynamically reconfigurable. A few of them like protocol, enabled.protocols,
> cipher.suites and endpoint.identification.algorithm are not. But to keep it
> simple, it may be better not to inherit any of the SSL configs. Perhaps
> just document that in Rejected Alternatives?
> 
>> On Sat, Jan 18, 2020 at 12:43 AM Ron Dagostino <rndg...@gmail.com> wrote:
>> 
>> Thanks, Rajini.  Still not sure what the answer is, but I thought of a
>> couple more issues with config inheritance that I wanted to raise.
>> The first is a minor issue, but just to document it (and I will add it
>> to the KIP as well), ZooKeeper does not support a key password that
>> differs from the keystore password. So inheriting from Kafka's TLS
>> configs would only work if those configs use the same key and keystore
>> password.  Again, not a big deal -- just something to document.
>> 
>> However...
>> 
>> I think there may be a fundamental problem with inheriting broker
>> configs for ZooKeeper access.  The problem is that the broker's TLS
>> configs are dynamically reconfigurable, and the dynamic values
>> themselves are stored in ZooKeeper.  It would be impossible to know
>> those values without connecting to ZooKeeper, and it would be
>> impossible to connect to ZooKeeper without the values.  Given this, I
>> wonder if inheritance is impossible in this particular case.
>> 
>> Ron
>> 
>>> On Jan 17, 2020, at 5:39 PM, Rajini Sivaram <rajinisiva...@gmail.com>
>> wrote:
>>> 
>>> Hi Ron,
>>> 
>>> For Kafka, we moved from hostname verification disabled-by-default to
>>> enabled-by-default under
>>> 
>> https://cwiki.apache.org/confluence/display/KAFKA/KIP-294+-+Enable+TLS+hostname+verification+by+default
>> .
>>> So we have tested empty String for disabling hostname verification and we
>>> know that it works, not only in test environments, but also in actual
>>> deployments. Basically, "ssl.endpoint.identification.algorithm=" in the
>>> file results in a config value of empty String and not setting it results
>>> in the default value of HTTPS since the value is null.I would probably do
>>> the same for the ZK config. If you are creating certificates for
>> ZooKeeper
>>> without hostnames, then you may be doing the same for Kafka too and in
>> both
>>> cases, the config would be an empty string. This is insecure anyway and
>> we
>>> would really expect this only in test environments. Not sure if it is
>> worth
>>> making an exception for this in terms of consistent config names.
>>> 
>>>> On Fri, Jan 17, 2020 at 2:37 PM Ron Dagostino <rndg...@gmail.com>
>> wrote:
>>>> 
>>>> Hi again, Rajini.  I've updated the KIP, and while doing it I became
>>>> concerned about using zookeeper.ssl.endpoint.identification.algorithm
>>>> for enabling/disabling hostname verification.  The KIP reflects what
>>>> we decided, but upon reading it, I wonder if it is workable.  Here's
>>>> what it says for this config:
>>>> 
>>>> "Specifies whether to enable hostname verification in the ZooKeeper
>>>> TLS negotiation process, with (case-insensitively) "https" meaning
>>>> ZooKeeper hostname verification is enabled and an explicit blank value
>>>> meaning it is disabled (disabling it is only recommended for testing
>>>> purposes).  Overrides any explicit "true" or "false" value set via the
>>>> <code>zookeeper.ssl.hostnameVerification</code> system property (true
>>>> implying https and false implying blank) and inherits the value of
>>>> <code>ssl.endpoint.identification.algorithm</code> (if any) if no
>>>> explicit value or non-value is set both here and via the system
>>>> property."
>>>> 
>>>> I wonder if someone sets an explicit empty value
>>>> (zookeeper.ssl.endpoint.identification.algorithm=) in the config file,
>>>> will we be able to distinguish between that and a config file that
>>>> doesn't have it at all?  And even if we can, this feels pretty forced
>>>> to me, like we are bending over backwards for consistency when
>>>> "zookeeper.ssl.hostname.verification.enable" is a natural fit.  I
>>>> doubt this config is going to be used very much, so it really does
>>>> feel to me like we should just go with the natural fit and ditch the
>>>> compatibility and inheritance for this one config.
>>>> 
>>>> Ron
>>>> 
>>>>> On Fri, Jan 17, 2020 at 8:07 AM Ron Dagostino <rndg...@gmail.com>
>> wrote:
>>>>> 
>>>>> Hi Rajini.  I’ll submit a documentation PR to clarify the Kafka
>> behavior
>>>> of #1 and will adopt the same config for ZK.  I agree now we should
>> inherit
>>>> for AclAuthorizer too — I was just stuck on the “no inheritance” idea
>> more
>>>> than I realized, and while the ZK quorums are different that doesn’t
>>>> necessarily mean the same client identity wouldn’t be valid on both
>> (and if
>>>> not then the configs can still be overridden).
>>>>> 
>>>>> I’ll update the KIP today and let this version soak for a day or two,
>>>> and then I’ll start a vote if no other issues/comments arise.
>>>>> 
>>>>> Ron
>>>>> 
>>>>>> On Jan 17, 2020, at 6:08 AM, Rajini Sivaram <rajinisiva...@gmail.com>
>>>> wrote:
>>>>>> 
>>>>>> 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