<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Authentication and authorization methods in apache NiFi in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/Authentication-and-authorization-methods-in-apache-NiFi/m-p/387140#M246258</link>
    <description>&lt;P&gt;Greetings, everyone.&lt;BR /&gt;I'm kind of new to NiFi and trying to implement some simple authorization method that is not default (single-user). All I want to do is a couple static users with some permissions and login screen asking for credentials - 2 roots and 2 read-only will be more than enough for example.&lt;BR /&gt;I've tried to search for my answer in other topics both in cloudera and documentation, but didn't find any useful info. As far as I'm concerned, Nifi currently support 3 methods - single-user, LDAP and Kerberos.&lt;BR /&gt;Do I really need to use some LDAP to make this happen or there's more simplified solution in that case? If so - can anyone share some ideas what exactly I need to do?&lt;BR /&gt;I use Nifi 2.0.0-M2 at the moment. Let me know if some additional info is needed.&lt;/P&gt;&lt;P&gt;Thanks a lot in advance and have a great day!&lt;/P&gt;</description>
    <pubDate>Thu, 25 Apr 2024 06:57:42 GMT</pubDate>
    <dc:creator>AlexisRub</dc:creator>
    <dc:date>2024-04-25T06:57:42Z</dc:date>
    <item>
      <title>Authentication and authorization methods in apache NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Authentication-and-authorization-methods-in-apache-NiFi/m-p/387140#M246258</link>
      <description>&lt;P&gt;Greetings, everyone.&lt;BR /&gt;I'm kind of new to NiFi and trying to implement some simple authorization method that is not default (single-user). All I want to do is a couple static users with some permissions and login screen asking for credentials - 2 roots and 2 read-only will be more than enough for example.&lt;BR /&gt;I've tried to search for my answer in other topics both in cloudera and documentation, but didn't find any useful info. As far as I'm concerned, Nifi currently support 3 methods - single-user, LDAP and Kerberos.&lt;BR /&gt;Do I really need to use some LDAP to make this happen or there's more simplified solution in that case? If so - can anyone share some ideas what exactly I need to do?&lt;BR /&gt;I use Nifi 2.0.0-M2 at the moment. Let me know if some additional info is needed.&lt;/P&gt;&lt;P&gt;Thanks a lot in advance and have a great day!&lt;/P&gt;</description>
      <pubDate>Thu, 25 Apr 2024 06:57:42 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Authentication-and-authorization-methods-in-apache-NiFi/m-p/387140#M246258</guid>
      <dc:creator>AlexisRub</dc:creator>
      <dc:date>2024-04-25T06:57:42Z</dc:date>
    </item>
    <item>
      <title>Re: Authentication and authorization methods in apache NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Authentication-and-authorization-methods-in-apache-NiFi/m-p/387202#M246260</link>
      <description>&lt;P&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/110277"&gt;@AlexisRub&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;NiFi has never offered an embedded user authentication management feature until the more recent single-user-provider authentication.&amp;nbsp; This provider was only introduced in order for Apache NiFi to support HTTPS out-of-the-box default setup.&amp;nbsp; Over the years since Apache NiFi was open sourced the community noticed unsecured (previous out-of-box default) exposed on the internet, so a decision was made to change the out-of-the-box setup to be secured.&amp;nbsp; A secured NiFi requires that all users/clients are both authenticated and authorized.&amp;nbsp; The Single-User-Provider was introduced to simplify access to a secured NiFi for evaluation purposes.&amp;nbsp; This authentication provider as you have noticed does not support multiple users.&amp;nbsp; &amp;nbsp;The corresponding single-user-authorizer found in the authorizers.xml configuration also does not support multi-user authorization.&amp;nbsp; This authorizer simply provides the single-user-provider user complete and full authorized access to everything in the NiFi.&amp;nbsp; This provider also does not support NiFi clusters.&lt;BR /&gt;&lt;BR /&gt;For a multi-user environment or clustered NiFi a different method of external authentication and authorization must be used.&amp;nbsp;&amp;nbsp;&lt;BR /&gt;Apache NiFi provides support for numerous user/client authentication beyond just single-user, LDAP, and kerberos listed in the &lt;A href="https://nifi.apache.org/documentation/nifi-2.0.0-M2/html/administration-guide.html#user_authentication" target="_blank"&gt;User Authentication&lt;/A&gt; section of the admin guide.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Worth noting is that a secured NiFi requires a keytore and truststore and NiFi will generate the keystore and truststore files with self-signed clientAuth/ServerAuth certifcate if the keystore an truststore do not already exist at startup.&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;When NiFi is secured (HTTPS enabled and valid keystore and truststore configured) and no additional authentication methods have been configured, user/client authentication is required through the TLS exchange.&amp;nbsp; This means that when you try to access the NiFi UI via yoru browser NiFi will respond to the browser (client) within the TLS exchange that a clientAuth certificate is "REQUIRED".&amp;nbsp; If one is not provided the connection is closed.&amp;nbsp; &amp;nbsp;When additional authenication methods are configured NiFi will instead "WANT" a clientAuth certificate. If the browser does not present a client certificate, NiFi moves on to next configured authentication method.&lt;BR /&gt;&lt;BR /&gt;I wanted to point out the above since certifcates are probably the next easiest way to setup a multi-user authenticated access.&amp;nbsp; This would require you generating a unique clientAuth certificate for each unique user.&amp;nbsp; These clientAuth certicates would either be self signed or signed by some certificate authority.&amp;nbsp; If self signed the public cert for each would need to be added to the NiFi truststore file.&amp;nbsp; If signed by some authority, only that signing authorities trust chain would need to be added to NiFi's truststore.&amp;nbsp; &amp;nbsp;The unique users would then load their client certifcate into their browser so it could be presented in the mutual TLS exchange with yoru NiFi.&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;In order to authorize multiple users, you would need to stop using the default single-user-authorizer and instead use the&lt;A href="https://nifi.apache.org/documentation/nifi-2.0.0-M2/html/administration-guide.html#standardmanagedauthorizer" target="_blank"&gt; StandardManagedAuthorizer&lt;/A&gt;. This authorization provider will allow you to define yoru initial admin user (this user will be granted the minimum required admin authorizations.&amp;nbsp; So initially this would be only user authorized to access the NiFi UI.&amp;nbsp; Once access, this initial admin user can define additional user and group identities directly from the NiFi UI to which Authorization policies can be defined.&amp;nbsp; Granting the same policies also granted to your initial admin user will establish a second admin user's authorizations.&amp;nbsp; More information on the various policies and what they grant can be found here in the &lt;A href="https://nifi.apache.org/documentation/nifi-2.0.0-M2/html/administration-guide.html#config-users-access-policies" target="_blank"&gt;Configuring Users &amp;amp; Access Policies&lt;/A&gt; section of the admin guide.&lt;BR /&gt;&lt;BR /&gt;That being said, I typically setup OpenLDAP and use the &lt;A href="https://nifi.apache.org/documentation/nifi-2.0.0-M2/html/administration-guide.html#ldap_login_identity_provider" target="_blank"&gt;ldap-provider&lt;/A&gt; for authentication.&amp;nbsp; But this requires that you have somewhere to install this (perhaps on same server with NiFi).&amp;nbsp; The advantage here is you do not need to mess with the NiFi truststore.&amp;nbsp; You can also use this ldap server for multiple instance of NiFi and NiFi-Registry.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Please help our community thrive. If you found&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;any&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "&lt;SPAN&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;Accept as Solution&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;" on&amp;nbsp;&lt;STRONG&gt;one or more&lt;/STRONG&gt;&amp;nbsp;of them that helped.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you,&lt;BR /&gt;Matt&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Apr 2024 13:16:34 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Authentication-and-authorization-methods-in-apache-NiFi/m-p/387202#M246260</guid>
      <dc:creator>MattWho</dc:creator>
      <dc:date>2024-04-25T13:16:34Z</dc:date>
    </item>
    <item>
      <title>Re: Authentication and authorization methods in apache NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Authentication-and-authorization-methods-in-apache-NiFi/m-p/387229#M246267</link>
      <description>&lt;P&gt;Thanks a lot for such a detailed answer, &lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/35454"&gt;@MattWho&lt;/a&gt;&amp;nbsp;.&lt;BR /&gt;I actually have on-premise AD, but the access to it is kind of complicated.&lt;BR /&gt;I'm curious now - will it be easier to try and connect Nifi to this AD or to deploy OpenLDAP on the same server, what do you think?&lt;/P&gt;</description>
      <pubDate>Thu, 25 Apr 2024 19:01:30 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Authentication-and-authorization-methods-in-apache-NiFi/m-p/387229#M246267</guid>
      <dc:creator>AlexisRub</dc:creator>
      <dc:date>2024-04-25T19:01:30Z</dc:date>
    </item>
    <item>
      <title>Re: Authentication and authorization methods in apache NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Authentication-and-authorization-methods-in-apache-NiFi/m-p/387251#M246273</link>
      <description>&lt;P&gt;&lt;SPAN&gt;To implement simple authorization in NiFi, configure user authentication, define users/groups, set up access policies, configure login identity providers, and test the setup. This allows for basic user management without LDAP or Kerberos.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 08:38:14 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Authentication-and-authorization-methods-in-apache-NiFi/m-p/387251#M246273</guid>
      <dc:creator>gregbowers</dc:creator>
      <dc:date>2024-04-26T08:38:14Z</dc:date>
    </item>
    <item>
      <title>Re: Authentication and authorization methods in apache NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Authentication-and-authorization-methods-in-apache-NiFi/m-p/387272#M246282</link>
      <description>&lt;P&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/110302"&gt;@gregbowers&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;You say "&lt;SPAN&gt;This allows for basic user management without LDAP or Kerberos.", but what method of user authentication are you suggesting to be used for user authentication?&lt;BR /&gt;&lt;BR /&gt;Users and groups that are added via the UI and to which you apply various policies are NOT users that are managed by NiFi for authentication.&amp;nbsp; Those added user are for setting authorizations policies only.&amp;nbsp; Authentication must be handed by an authentication provider.&amp;nbsp; The single-user-provider only support a single user and not multi-users&amp;nbsp;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/110277"&gt;@AlexisRub&lt;/a&gt;&amp;nbsp;is looking to support.&amp;nbsp; &amp;nbsp; So what other provider are you suggesting is configured in the login identity providers?&amp;nbsp; &amp;nbsp;The only options that can be configured in the login-identity-providers.xml in Apache NiFi are &lt;A href="https://nifi.apache.org/documentation/nifi-2.0.0-M2/html/administration-guide.html#single_user_identity_provider" target="_blank"&gt;single-user-provider&lt;/A&gt;, &lt;A href="https://nifi.apache.org/documentation/nifi-2.0.0-M2/html/administration-guide.html#ldap_login_identity_provider" target="_blank"&gt;ldap-provider&lt;/A&gt;, and &lt;A href="https://nifi.apache.org/documentation/nifi-2.0.0-M2/html/administration-guide.html#kerberos_login_identity_provider" target="_blank"&gt;kerberos-provider&lt;/A&gt;.&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Are you suggesting some additional third party custom provider?&lt;BR /&gt;&lt;BR /&gt;Thank you,&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;Matt&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 13:12:37 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Authentication-and-authorization-methods-in-apache-NiFi/m-p/387272#M246282</guid>
      <dc:creator>MattWho</dc:creator>
      <dc:date>2024-04-26T13:12:37Z</dc:date>
    </item>
    <item>
      <title>Re: Authentication and authorization methods in apache NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Authentication-and-authorization-methods-in-apache-NiFi/m-p/387273#M246283</link>
      <description>&lt;P&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/110277"&gt;@AlexisRub&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Not sure how to answer that for you.&amp;nbsp; Typically production users who have access to a corporately managed LDAP/AD would use that with their NiFi.&amp;nbsp; This provide better security as corporate can mange that adding of new users or removal of users no longer with the organization.&amp;nbsp; &amp;nbsp;If you also setup the &lt;A href="https://nifi.apache.org/documentation/nifi-2.0.0-M2/html/administration-guide.html#ldapusergroupprovider" target="_blank"&gt;ldap-user-group-provider&lt;/A&gt; in NiFi authorizers.xml along with setting of the &lt;A href="https://nifi.apache.org/documentation/nifi-2.0.0-M2/html/administration-guide.html#ldap_login_identity_provider" target="_blank"&gt;ldap-provider&lt;/A&gt; in the login-identity-providers.xml you'll have a proper production setup.&amp;nbsp; Let's say a new person joins the company and is added to the AD.&amp;nbsp; the ldap-user-group-provider (depending on filters) could automatically pull in that new user identity to NiFi allowing your NiFi admin to setup access policies for them easily.&amp;nbsp; And with the ldap-provider that user could then authenticate to your NiFi (successful authentication does not mean they would have authorized access).&amp;nbsp; Even better is this opens the ability to use ldap/AD managed groups for authorization.&amp;nbsp; Let's say you have AD group named nifiadmins. You could sync this group and its members to NiFi via the ldap-user-group-provider and set up local authorization policies using that group identity.&amp;nbsp; &amp;nbsp;So later some user is added or removed from the AD "nifiadmins" group.&amp;nbsp; When NiFi syncs with ldap/AD via ldap -user-group-provider (default is every 30 mins), that user would be added or removed as a known member of that group and would gain or lose authorizations without needing any manual action within NiFi to make that happen.&amp;nbsp; &amp;nbsp;This is most common setup fro production end users with established ldap/AD groups for different teams that will access NiFi.&amp;nbsp; Different teams can then be authorized access to only specific process groups and actions.&lt;BR /&gt;&lt;BR /&gt;I setup a local ldap which creates a bunch of fake users and groups that i can manage for testing purposes., but not something I would do in a production setup. I would leave the corporate management of user to those responsible for that access control.&lt;/P&gt;&lt;P&gt;Please help our community thrive. If you found&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;any&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "&lt;SPAN&gt;&lt;EM&gt;&lt;STRONG&gt;&lt;FONT color="#FF0000"&gt;Accept as Solution&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/EM&gt;" on&amp;nbsp;&lt;STRONG&gt;one or more&lt;/STRONG&gt;&amp;nbsp;of them that helped.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you,&lt;BR /&gt;Matt&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Apr 2024 13:28:57 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Authentication-and-authorization-methods-in-apache-NiFi/m-p/387273#M246283</guid>
      <dc:creator>MattWho</dc:creator>
      <dc:date>2024-04-26T13:28:57Z</dc:date>
    </item>
  </channel>
</rss>

