drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-4280) Kerberos Authentication
Date Tue, 07 Feb 2017 22:53:41 GMT

    [ https://issues.apache.org/jira/browse/DRILL-4280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15856970#comment-15856970
] 

ASF GitHub Bot commented on DRILL-4280:
---------------------------------------

Github user sudheeshkatkam commented on a diff in the pull request:

    https://github.com/apache/drill/pull/578#discussion_r99951476
  
    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/rpc/control/ControlServer.java
---
    @@ -84,23 +87,33 @@ public ControlConnection initRemoteConnection(SocketChannel channel)
{
           public MessageLite getHandshakeResponse(BitControlHandshake inbound) throws Exception
{
     //        logger.debug("Handling handshake from other bit. {}", inbound);
             if (inbound.getRpcVersion() != ControlRpcConfig.RPC_VERSION) {
    -          throw new RpcException(String.format("Invalid rpc version.  Expected %d, actual
%d.", inbound.getRpcVersion(), ControlRpcConfig.RPC_VERSION));
    +          throw new RpcException(String.format("Invalid rpc version.  Expected %d, actual
%d.",
    +              inbound.getRpcVersion(), ControlRpcConfig.RPC_VERSION));
             }
    -        if (!inbound.hasEndpoint() || inbound.getEndpoint().getAddress().isEmpty() ||
inbound.getEndpoint().getControlPort() < 1) {
    -          throw new RpcException(String.format("RPC didn't provide valid counter endpoint
information.  Received %s.", inbound.getEndpoint()));
    +        if (!inbound.hasEndpoint() ||
    +            inbound.getEndpoint().getAddress().isEmpty() ||
    +            inbound.getEndpoint().getControlPort() < 1) {
    +          throw new RpcException(String.format("RPC didn't provide valid counter endpoint
information.  Received %s.",
    +                  inbound.getEndpoint()));
             }
             connection.setEndpoint(inbound.getEndpoint());
     
             // add the
             ControlConnectionManager manager = connectionRegistry.getConnectionManager(inbound.getEndpoint());
     
             // update the close handler.
    -        proxyCloseHandler.setHandler(manager.getCloseHandlerCreator().getHandler(connection,
proxyCloseHandler.getHandler()));
    +        proxyCloseHandler.setHandler(manager.getCloseHandlerCreator().getHandler(connection,
    +            proxyCloseHandler.getHandler()));
     
             // add to the connection manager.
             manager.addExternalConnection(connection);
     
    -        return BitControlHandshake.newBuilder().setRpcVersion(ControlRpcConfig.RPC_VERSION).build();
    +        final BitControlHandshake.Builder builder = BitControlHandshake.newBuilder();
    +        builder.setRpcVersion(ControlRpcConfig.RPC_VERSION);
    +        if (config.getAuthProvider() != null) {
    --- End diff --
    
    There is only one authProvider per drillbit, but auth can be enabled user to bit, but
not bit to bit, which means relying on being empty is not sufficient.


> Kerberos Authentication
> -----------------------
>
>                 Key: DRILL-4280
>                 URL: https://issues.apache.org/jira/browse/DRILL-4280
>             Project: Apache Drill
>          Issue Type: Improvement
>            Reporter: Keys Botzum
>            Assignee: Sudheesh Katkam
>              Labels: security
>
> Drill should support Kerberos based authentication from clients. This means that both
the ODBC and JDBC drivers as well as the web/REST interfaces should support inbound Kerberos.
For Web this would most likely be SPNEGO while for ODBC and JDBC this will be more generic
Kerberos.
> Since Hive and much of Hadoop supports Kerberos there is a potential for a lot of reuse
of ideas if not implementation.
> Note that this is related to but not the same as https://issues.apache.org/jira/browse/DRILL-3584




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message