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

ASF GitHub Bot commented on NIFI-1614:
--------------------------------------

Github user jvwing commented on the pull request:

    https://github.com/apache/nifi/pull/267#issuecomment-195596621
  
    @alopresto, thanks for kick-starting the discussion with your feedback, 
these are great topics.  I address some of the concerns you mention below, and 
ask some questions back to you at the end.
    
    #### Incremental Delivery
    I propose this PR as a viable first step on a potentially long path.  I 
believe this increment can be useful to pilot the concept on its own, leaving 
further enhancements pending feedback and expressed interest.
    
    
    #### Credentials File
    I decided not to provide a sample credentials XML file.  If included, it 
would most naturally fit with other configuration files in the `conf` 
directory.  But the default permissions on the conf directory files are not 
appropriate for this credentials file.  I felt that including the file at that 
location would lead to it simply being left there.  On the other hand, creating 
an entirely new folder or permission might be presumptuous for a controversial 
and unproven feature.
    
    After carefully considering these factors, I chose the lazy and cowardly 
way out by just documenting what the file should look like, and leaving it up 
to the user to find a home for it.
    
    
    #### User Management Tool
    I provide no tool in this PR for generating password hashes. I simply 
document it as "bcrypt 2a, 10 rounds".  bcrypt is a standard of sorts, and 
there are many libraries and some command-line utilities available for it.
    
    I am absolutely open to providing a tool, bundled in NiFi or sold 
separately.  I did not find similar command-line utilities shipped with NiFi, 
and again, it seemed presumptuous to build out a structure for that at this 
time.  Am I missing them?
    
    There are also other possible hashing algorithm and tooling combinations.  
We might consider SHA256 or another algorithm that might have better default 
installation support.  I wasn't real happy with the options OpenSSL provided, 
MD5 is widely derided for passwords, but bcrypt fits the bill and was 
conveniently included in the Spring package.  I'm open to others, and an 
obvious future expansion would be to permit several.
    
    
    #### Comparability with Other Providers
    I considered that NiFi provides no tool for generating certificates, does 
not include default keystore or truststore files, nor suggest their locations 
and what permissions you should or should not have on them.  This is an 
imperfect comparison, since this intends to be simpler, but perhaps a 
reasonable choice for an initial release.
    
    
    #### General Wisdom Of Doing This At All
    This identity provider is opt-in.  As you point out, it currently requires 
determined configuration and admin work to get it running given that I provide 
neither tools nor a credentials file.
    
    
    #### Questions
    * What is required to make this viable?
    * Is there a better medium than bcrypt that combines widespread tool 
support with decent encryption.
    * Are we open to including a command-line user admin tool?
    * Are we open to including a sample credentials file?  Where would you 
recommend it go?
    * Are we open to documenting this identity provider on the front-page of 
the Admin Guide alongside X.509 and LDAP?  Where else should I do so?



> Simple Username/Password Authentication
> ---------------------------------------
>
>                 Key: NIFI-1614
>                 URL: https://issues.apache.org/jira/browse/NIFI-1614
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>            Reporter: James Wing
>            Priority: Minor
>
> NiFi should include a simple option for username/password authentication 
> backed by a local file store.  NiFi's existing certificate and LDAP 
> authentication schemes are very secure.  However, the configuration and setup 
> is complex, making them more suitable for long-lived corporate and government 
> installations, but less accessible for casual or short-term use.  Simple 
> username/password authentication would help more users secure more NiFi 
> installations beyond anonymous admin access.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to