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
