Alexey Serbin has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/17731 )

Change subject: KUDU-1921 Add ability to require auth/encryption to C++ client
......................................................................


Patch Set 6: Code-Review+1

(5 comments)

http://gerrit.cloudera.org:8080/#/c/17731/6/src/kudu/client/client.h
File src/kudu/client/client.h:

http://gerrit.cloudera.org:8080/#/c/17731/6/src/kudu/client/client.h@345
PS6, Line 345:   KuduClientBuilder& require_encryption(bool require_encryption);
             :
             :   /// Encrypt data on loopback connections. By default, if the 
server-side doesn't
             :   /// require this explicitly, TLS is used only for 
authentication on loopback connections,
             :   /// even if 'require_encryption' is set to 'true'.
             :   ///
             :   /// @param [in] encrypt_loopback
             :   ///   Whether to encrypt loopback connections
             :   /// @return Reference to the updated object.
             :   KuduClientBuilder& encrypt_loopback(bool encrypt_loopback);
What do you think of having just one method instead of these two, something like

KuduClientBuilder& encryption_policy(EncryptionPolicy policy);

where EncryptionPolicy is a enumeration that has the following elements:
  * enforce encryption for both remote and loopback connections
  * enforce encryption for remote connections, tolerating using AUTH_ONLY TLS 
for local/loopback connections
  * do not enforce over-the-wire encryption, allowing plain traffic for any 
connections

?


http://gerrit.cloudera.org:8080/#/c/17731/2/src/kudu/integration-tests/security-itest.cc
File src/kudu/integration-tests/security-itest.cc:

http://gerrit.cloudera.org:8080/#/c/17731/2/src/kudu/integration-tests/security-itest.cc@669
PS2, Line 669:   cluster_opts_.enable_kerberos = false;
> Ah yes, that makes sense, added it.
Thank you!


http://gerrit.cloudera.org:8080/#/c/17731/2/src/kudu/integration-tests/security-itest.cc@688
PS2, Line 688:   KuduClientBuilder b;
> Sorry, I tried it on a secure cluster. On an insecure cluster, it fails whe
Ah, I see -- thank you for verifying that.  For some reason I assumed that 
weird configuration would be viable, but it turned out that's not so.


http://gerrit.cloudera.org:8080/#/c/17731/6/src/kudu/integration-tests/security-itest.cc
File src/kudu/integration-tests/security-itest.cc:

http://gerrit.cloudera.org:8080/#/c/17731/6/src/kudu/integration-tests/security-itest.cc@665
PS6, Line 665: SmokeTestCluster(client, /* transactional */ false);
Does it make sense to add SmokeTestCluster() to other successful scenarios as 
well?


http://gerrit.cloudera.org:8080/#/c/17731/6/src/kudu/integration-tests/security-itest.cc@701
PS6, Line 701:
Do you mind adding a couple of test scenarios where a client which requires RPC 
encryption AND loopback traffic encryption successfully connects to:
  * secure kerberized cluster
  * a non-kerberized cluster (i.e. where both master and tablet servers are 
running with --rpc_authentication=disabled)

?

That's to make sure the combination of  encrypt_loopback(true) and 
require_encryption(true) is indeed viable and to track regressions in future, 
if any.



--
To view, visit http://gerrit.cloudera.org:8080/17731
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ia3e800eb7c4e2f8787f0adf1f040d47358d29320
Gerrit-Change-Number: 17731
Gerrit-PatchSet: 6
Gerrit-Owner: Attila Bukor <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Attila Bukor <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Fri, 06 Aug 2021 02:59:52 +0000
Gerrit-HasComments: Yes

Reply via email to