Support custom class to provide passwords on slaves
---------------------------------------------------

                 Key: SQOOP-335
                 URL: https://issues.apache.org/jira/browse/SQOOP-335
             Project: Sqoop
          Issue Type: New Feature
    Affects Versions: 1.4.0
            Reporter: Ken Krugler


In highly secure environments, any transmission of passwords in the clear 
creates security audit issues. 

https://issues.cloudera.org/browse/SQOOP-145 tries to address this via putting 
passwords in files, but the file itself still winds up getting transmitted in 
the clear as it is written to HDFS. And passwords are dynamic, provided at 
run-time via other infrastructure - so the file would need to be generated with 
each job run.

For situations where mechanisms exist to provide restricted/secure access to 
passwords, what's needed is a plug-in approach - a "password manager" class 
that is available on all the servers, and is used by Sqoop. E.g. 
--password-manager <class> similar to --compression-codec <class>. An optional 
--password-param <string> would also be handy (see below).

The class would need a no-argument constructor, and a getPassword(context, 
param) call. In the context should be all of the connection information (host, 
port, etc). The param is whatever was specified by --password-param, or null.

This would satisfy all of our requirements for flexibility, security, and 
integration with existing security systems.

I assume that any jar found in $SQOOP_HOME/lib will be available on the 
classpath, so that would be the preferred method for making the password 
manager class available everywhere.


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to