<?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 Re: How to manage users in Apache NiFi in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/How-to-manage-users-in-Apache-NiFi/m-p/409125#M252815</link>
    <description>&lt;P&gt;One more update if someone will read it in future.&lt;/P&gt;&lt;P&gt;I sad that:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;I did it and restart NiFi service, but users.xml file was not updated. So, should I update users.xml manually?&lt;/LI-CODE&gt;&lt;P&gt;But I was wrong and my users.xml is correctly updates after user changes in NiFi UI. So, the question in not had a reason, all works fine.&lt;/P&gt;</description>
    <pubDate>Tue, 03 Jun 2025 10:46:08 GMT</pubDate>
    <dc:creator>asand3r</dc:creator>
    <dc:date>2025-06-03T10:46:08Z</dc:date>
    <item>
      <title>How to manage users in Apache NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/How-to-manage-users-in-Apache-NiFi/m-p/394616#M248761</link>
      <description>&lt;P&gt;hello.&lt;/P&gt;&lt;P&gt;I am a beginner in NIFI.&lt;/P&gt;&lt;P&gt;Currently, there are two CENTOS7-based Linux servers with NIFI version 1.27.0 installed.&lt;/P&gt;&lt;P&gt;Clustering two servers&lt;BR /&gt;It is linked with external zookeepers.&lt;/P&gt;&lt;P&gt;The nifi setup was completed with the ssl authentication setup using the jks file.&lt;/P&gt;&lt;P&gt;In this state, I changed the "nifi.security.user.authorizer" option to "managed-authorizer".&lt;/P&gt;&lt;P&gt;At this time, I would like to create and use multiple users in the users.xml file without LDAP, Kerberos, etc(only users.xml file and authorizations.xml file).&lt;/P&gt;&lt;P&gt;Example user.xml file and authorizations.xml&lt;BR /&gt;I'm curious about the file example.&lt;/P&gt;&lt;P&gt;Also if possible&lt;BR /&gt;I would like to see again how to configure these settings.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;After searching, I found that there is no way to dynamically add users without restarting the service.&lt;/P&gt;&lt;P&gt;So ultimately what I want to do is&lt;BR /&gt;Without LDAP or Kerberos,&lt;BR /&gt;After creating multiple users in users.xml and restarting the service,&lt;/P&gt;&lt;P&gt;I want to log in with those accounts.&lt;/P&gt;</description>
      <pubDate>Mon, 07 Oct 2024 01:15:59 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/How-to-manage-users-in-Apache-NiFi/m-p/394616#M248761</guid>
      <dc:creator>newbeede</dc:creator>
      <dc:date>2024-10-07T01:15:59Z</dc:date>
    </item>
    <item>
      <title>Re: How to manage users in Apache NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/How-to-manage-users-in-Apache-NiFi/m-p/394670#M248780</link>
      <description>&lt;P&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/117957"&gt;@newbeede&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;The only Authentication provider provided with NiFi that supports a single managed user with password is the &lt;A href="https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#single_user_identity_provider" target="_blank"&gt;Single User&lt;/A&gt; provider.&amp;nbsp; Apache NiFi create this authentication provider so that NiFi out-of-the-box could run securely over HTTPS.&amp;nbsp; &amp;nbsp;It is intended for non clustered use to make it easy to evaluate the product.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;The users.xml is created by the &lt;A href="https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#fileusergroupprovider" target="_blank"&gt;file-user-group-provider&lt;/A&gt; inside the authorizers.xml.&amp;nbsp; It's is for authorization use only and has nothing to do with user/client authentication.&amp;nbsp; In order to setup various authorization policies through the &lt;A href="https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#fileaccesspolicyprovider" target="_blank"&gt;file-access-policy&lt;/A&gt; provider (also found in the authorizers,.xml and generates an authorizations.xml file), the authorizer must be aware of the user/client identities for which policies will be granted.&amp;nbsp; The file-user-group-provider is just one of the available providers that creates these user identities within NiFi for the sole purpose of policy assignment.&lt;BR /&gt;&lt;BR /&gt;The file-user-group-provider is used to generate the Initial Admin Identity and the Identities for each of your cluster nodes.&amp;nbsp; The users.xml file it creates will only initially contain those identities.&amp;nbsp; The file-user-group-provider will ONLY generate the users.xml on NiFi startup if it does NOT already exist.&amp;nbsp; Once the NiFi UI is accessed by the initial admin identity, additional user identities and policies are setup from within the UI.&amp;nbsp; &amp;nbsp;Additional user identities and group identities added through the NiFi UI will be added to the users.xml.&lt;BR /&gt;&lt;BR /&gt;If you are using the Single-User authentication provider and single-user authorizer, then users and polices will not present in the UI when accessed.&lt;BR /&gt;&lt;BR /&gt;The File-access-policy provider sets up admin polices for the defined initial admin identity and sets up initial node required policies.&amp;nbsp; The policies are needed for that initial admin to be authorized to create additional user identities and configure additional policy authorizations from with the NiFi UI.&amp;nbsp; The file-access-policy provider will ONLY generate the authorizations.xml file on NiFi startup if it does NOT already exist.&amp;nbsp; Additional policies setup from with the NiFi UI are added to the authorizations.xml file.&lt;BR /&gt;&lt;BR /&gt;So to be clear, NiFi does allow you to dynamically add/remove additional user identities and dynamically add/modify/remove authorizations from the NiFi UI without needing a restart.&lt;BR /&gt;&lt;BR /&gt;When it comes to handling user authentication, a secured NiFi will always support client Authentication as first authentication method attempted.&amp;nbsp; This is the only method used for the NiFi nodes to communicate with one another.&amp;nbsp; When additional authentication method are configured, NiFi will still WANT a client auth certificate in the TLS exchange; however if one is not provided, NiFi will try the next authentication method configured.&lt;BR /&gt;&lt;BR /&gt;The most commonly used additional authentication method used are the &lt;A href="https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#ldap_login_identity_provider" target="_blank"&gt;LDAP-provider&lt;/A&gt; and &lt;A href="https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#kerberos_login_identity_provider" target="_blank"&gt;Kerberos-provider&lt;/A&gt;.&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;The LDAP-provider allows you to authenticate via your own LDAP/AD.&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;SPAN&gt;Sample:&lt;/SPAN&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;provider&amp;gt;
    &amp;lt;identifier&amp;gt;ldap-provider&amp;lt;/identifier&amp;gt;
    &amp;lt;class&amp;gt;org.apache.nifi.ldap.LdapProvider&amp;lt;/class&amp;gt;
    &amp;lt;property name="Authentication Strategy"&amp;gt;SIMPLE&amp;lt;/property&amp;gt;

    &amp;lt;property name="Manager DN"&amp;gt;&amp;lt;/property&amp;gt;    &amp;lt;-- MUST be configured
    &amp;lt;property name="Manager Password"&amp;gt;&amp;lt;/property&amp;gt;    &amp;lt;-- MUST be configured

    &amp;lt;property name="TLS - Keystore"&amp;gt;&amp;lt;/property&amp;gt;
    &amp;lt;property name="TLS - Keystore Password"&amp;gt;&amp;lt;/property&amp;gt;
    &amp;lt;property name="TLS - Keystore Type"&amp;gt;&amp;lt;/property&amp;gt;
    &amp;lt;property name="TLS - Truststore"&amp;gt;&amp;lt;/property&amp;gt;
    &amp;lt;property name="TLS - Truststore Password"&amp;gt;&amp;lt;/property&amp;gt;
    &amp;lt;property name="TLS - Truststore Type"&amp;gt;&amp;lt;/property&amp;gt;
    &amp;lt;property name="TLS - Client Auth"&amp;gt;&amp;lt;/property&amp;gt;
    &amp;lt;property name="TLS - Protocol"&amp;gt;&amp;lt;/property&amp;gt;
    &amp;lt;property name="TLS - Shutdown Gracefully"&amp;gt;&amp;lt;/property&amp;gt;

    &amp;lt;property name="Referral Strategy"&amp;gt;FOLLOW&amp;lt;/property&amp;gt;
    &amp;lt;property name="Connect Timeout"&amp;gt;10 secs&amp;lt;/property&amp;gt;
    &amp;lt;property name="Read Timeout"&amp;gt;10 secs&amp;lt;/property&amp;gt;

    &amp;lt;property name="Url"&amp;gt;ldap://&amp;lt;hostname&amp;gt;:&amp;lt;port&amp;gt;&amp;lt;/property&amp;gt;    &amp;lt;-- MUST be configured
    &amp;lt;property name="User Search Base"&amp;gt;CN=Users,DC=example,DC=com)&amp;lt;/property&amp;gt;    &amp;lt;-- MUST be configured
    &amp;lt;property name="User Search Filter"&amp;gt;cn={0}&amp;lt;/property&amp;gt;    &amp;lt;-- MUST be configured

    &amp;lt;property name="Identity Strategy"&amp;gt;USE_USERNAME&amp;lt;/property&amp;gt;    &amp;lt;-- MUST be configured
    &amp;lt;property name="Authentication Expiration"&amp;gt;12 hours&amp;lt;/property&amp;gt;
&amp;lt;/provider&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;USE_USERNAME: Upon successful LDAP/AD authentication, the user identity string as typed (case sensitive) in the username login window will be passed to the authorizer to look up policies assigned to the user identity.&lt;BR /&gt;USE_DN: Will pass the DN returned from LDAP/AD after successful authentication to the authorizer as the user identity&amp;nbsp; for policy assignment lookup.&lt;/P&gt;&lt;P&gt;Kerberos-provider allows you to authentication using your kerberos principal and password. Sample:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;provider&amp;gt;
    &amp;lt;identifier&amp;gt;kerberos-provider&amp;lt;/identifier&amp;gt;
    &amp;lt;class&amp;gt;org.apache.nifi.kerberos.KerberosProvider&amp;lt;/class&amp;gt;
    &amp;lt;property name="Default Realm"&amp;gt;NIFI.APACHE.ORG&amp;lt;/property&amp;gt;
    &amp;lt;property name="Authentication Expiration"&amp;gt;12 hours&amp;lt;/property&amp;gt;
&amp;lt;/provider&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;Bottom line is Apache NiFi does not support managing multiple local accounts.&amp;nbsp; In fact the single-user provider is actually fairly new to Apache NiFi.&amp;nbsp; Prior to its existence, NiFi out-of-the-box started up un-secure over http.&amp;nbsp; &amp;nbsp;Since most browser now force http to https, Apache NiFi added this provider to make it easy for first time user to evaluate the service.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&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>Mon, 07 Oct 2024 13:12:11 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/How-to-manage-users-in-Apache-NiFi/m-p/394670#M248780</guid>
      <dc:creator>MattWho</dc:creator>
      <dc:date>2024-10-07T13:12:11Z</dc:date>
    </item>
    <item>
      <title>Re: How to manage users in Apache NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/How-to-manage-users-in-Apache-NiFi/m-p/409075#M252805</link>
      <description>&lt;P&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/94535"&gt;@MattD&lt;/a&gt;&amp;nbsp;thanks for that explicit answer. Could you explain also, how I must manage cluster node accounts? For instance, I have two-nodes cluster and all identities set in authorizers.xml like that:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;userGroupProvider&amp;gt;
  &amp;lt;identifier&amp;gt;nifi-nodes&amp;lt;/identifier&amp;gt;
  &amp;lt;class&amp;gt;org.apache.nifi.authorization.FileUserGroupProvider&amp;lt;/class&amp;gt;
  &amp;lt;property name="Users File"&amp;gt;/opt/nifi/nifi-1.18.0/conf/users.xml&amp;lt;/property&amp;gt;
  &amp;lt;property name="Legacy Authorized Users File"&amp;gt;&amp;lt;/property&amp;gt;
  &amp;lt;property name="Initial User Identity 1"&amp;gt;CN=test-nifi-01.company.com, OU=NiFi&amp;lt;/property&amp;gt;
  &amp;lt;property name="Initial User Identity 2"&amp;gt;CN=test-nifi-02.company.com, OU=NiFi&amp;lt;/property&amp;gt;
&amp;lt;/userGroupProvider&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;Now, I have two issues:&lt;/P&gt;&lt;P&gt;1. I want to replace a first node certificate, but it subject changed from "CN=test-nifi-01.company.com, OU=NiFi" to, let us say, "CN=test-nifi-01.company.com, OU=NiFi, O=company, L=City".&lt;/P&gt;&lt;P&gt;On my mind, I must add a new certificate to keystore and change a node user identity to userGroupProvider above like this:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;userGroupProvider&amp;gt;
  &amp;lt;identifier&amp;gt;nifi-nodes&amp;lt;/identifier&amp;gt;
  &amp;lt;class&amp;gt;org.apache.nifi.authorization.FileUserGroupProvider&amp;lt;/class&amp;gt;
  &amp;lt;property name="Users File"&amp;gt;/opt/nifi/nifi-1.18.0/conf/users.xml&amp;lt;/property&amp;gt;
  &amp;lt;property name="Legacy Authorized Users File"&amp;gt;&amp;lt;/property&amp;gt;
  &amp;lt;property name="Initial User Identity 1"&amp;gt;CN=test-nifi-01.company.com, OU=NiFi, O=company, L=City&amp;lt;/property&amp;gt;
  &amp;lt;property name="Initial User Identity 2"&amp;gt;CN=test-nifi-02.company.com, OU=NiFi&amp;lt;/property&amp;gt;
&amp;lt;/userGroupProvider&amp;gt;

&amp;lt;accessPolicyProvider&amp;gt;
  &amp;lt;identifier&amp;gt;composite-access-policy-provider&amp;lt;/identifier&amp;gt;
  &amp;lt;class&amp;gt;org.apache.nifi.authorization.FileAccessPolicyProvider&amp;lt;/class&amp;gt;
  &amp;lt;property name="User Group Provider"&amp;gt;ldap-and-nifi-nodes&amp;lt;/property&amp;gt;
  &amp;lt;property name="Authorizations File"&amp;gt;/opt/nifi/nifi-1.18.0/conf/authorizations.xml&amp;lt;/property&amp;gt;
  &amp;lt;property name="Initial Admin Identity"&amp;gt;init-adin-user-name&amp;lt;/property&amp;gt;
  &amp;lt;property name="Legacy Authorized Users File"&amp;gt;&amp;lt;/property&amp;gt;
  &amp;lt;property name="Node Identity 1"&amp;gt;CN=test-nifi-01.company.com, OU=NiFi, O=company, L=City&amp;lt;/property&amp;gt;
  &amp;lt;property name="Node Identity 2"&amp;gt;CN=test-nifi-02.company.com, OU=NiFi&amp;lt;/property&amp;gt;
&amp;lt;/accessPolicyProvider&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;I did it and restart NiFi service, but users.xml file was not updated. So, should I update users.xml manually?&lt;/P&gt;&lt;P&gt;2. If I want to add a node to my cluster, how it could be implemented if users.xml file is not updates after I change authorizers.xml file? I need to delete it every time to NiFi generates it on startup or something?&lt;/P&gt;&lt;P&gt;UPDATED&lt;/P&gt;&lt;P&gt;I've read next comment from&amp;nbsp;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/36106"&gt;@bbende&lt;/a&gt;&amp;nbsp;:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.cloudera.com/t5/Support-Questions/Apache-Nifi-Adding-new-slave-nodes/m-p/174533/highlight/true#M136796" target="_blank"&gt;https://community.cloudera.com/t5/Support-Questions/Apache-Nifi-Adding-new-slave-nodes/m-p/174533/highlight/true#M136796&lt;/A&gt;&lt;/P&gt;&lt;P&gt;So, it turns out I must not touch users.xml anymore and all new users must be set only in NiFi UI?..&lt;/P&gt;</description>
      <pubDate>Sat, 31 May 2025 11:46:26 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/How-to-manage-users-in-Apache-NiFi/m-p/409075#M252805</guid>
      <dc:creator>asand3r</dc:creator>
      <dc:date>2025-05-31T11:46:26Z</dc:date>
    </item>
    <item>
      <title>Re: How to manage users in Apache NiFi</title>
      <link>https://community.cloudera.com/t5/Support-Questions/How-to-manage-users-in-Apache-NiFi/m-p/409125#M252815</link>
      <description>&lt;P&gt;One more update if someone will read it in future.&lt;/P&gt;&lt;P&gt;I sad that:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;I did it and restart NiFi service, but users.xml file was not updated. So, should I update users.xml manually?&lt;/LI-CODE&gt;&lt;P&gt;But I was wrong and my users.xml is correctly updates after user changes in NiFi UI. So, the question in not had a reason, all works fine.&lt;/P&gt;</description>
      <pubDate>Tue, 03 Jun 2025 10:46:08 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/How-to-manage-users-in-Apache-NiFi/m-p/409125#M252815</guid>
      <dc:creator>asand3r</dc:creator>
      <dc:date>2025-06-03T10:46:08Z</dc:date>
    </item>
  </channel>
</rss>

