<?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: Nifi simple authentication NOT SSL with Openldap in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/Nifi-simple-authentication-NOT-SSL-with-Openldap/m-p/310774#M224297</link>
    <description>&lt;P&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/84732"&gt;@JorgeO&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Looking at your nifi-user.log output we see the caused by line as:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Caused by: org.springframework.dao.IncorrectResultSizeDataAccessException: Incorrect result size: expected 1, actual 2&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This means that your LDAP/AD returned two results instead of only one.&amp;nbsp; NiFi then has not idea which of those returns is the correct one it should be using.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;So this either an issue within your LDAP/AD or an issue within your current login-identity-providers.xml filters.&amp;nbsp; But your last shared file looks fine to me.&lt;BR /&gt;&lt;BR /&gt;I would suggest using the ldapsearch command to run a ldap query outside of NiFi to see what returns you get for your admin user (cn=&amp;lt;admin user&amp;gt;)&lt;BR /&gt;&lt;BR /&gt;Hope this helps,&lt;/P&gt;&lt;P&gt;Matt&lt;/P&gt;</description>
    <pubDate>Mon, 01 Feb 2021 21:13:21 GMT</pubDate>
    <dc:creator>MattWho</dc:creator>
    <dc:date>2021-02-01T21:13:21Z</dc:date>
    <item>
      <title>Nifi simple authentication NOT SSL with Openldap</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Nifi-simple-authentication-NOT-SSL-with-Openldap/m-p/310404#M224142</link>
      <description>&lt;P&gt;Good afternoon everyone&lt;/P&gt;&lt;P&gt;I am trying to configure 2 containers (Openldap and NIFI) but it is impossible to find what the error is because the nifi screen does not show any change.&lt;BR /&gt;I have read several incidences about this issue and I have taken those examples as a reference without getting the expected success, so I will need your help to see if I can make it work.&lt;BR /&gt;It's like all the configuration in the 3 files is not read and executed so that an unknown user can log in.&lt;/P&gt;&lt;P&gt;Thanks in advance for any ideas to help me solve this problem.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I leave you the data:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Apache nifi version 1.12.1&lt;/LI&gt;&lt;LI&gt;OpenLDAP version OpenLDAP 2.4.50&lt;/LI&gt;&lt;/UL&gt;&lt;H4&gt;Open Ldap configuration&lt;/H4&gt;&lt;LI-CODE lang="markup"&gt;ou=nifi,dc=example,dc=local
* User usernifi
* Pass nifi&lt;/LI-CODE&gt;&lt;LI-CODE lang="markup"&gt;root@44266e786b13:/# ldapsearch -x -W ldap://localhost -D "uid=usernifi,ou=nifi,dc=example,dc=local"
Enter LDAP Password: 
# extended LDIF
#
# LDAPv3
# base &amp;lt;&amp;gt; (default) with scope subtree
# filter: (objectclass=*)
# requesting: ldap://localhost
#

# search result
search: 2
result: 32 No such object

# numResponses: 1&lt;/LI-CODE&gt;&lt;H3&gt;Nifi configuration files&lt;/H3&gt;&lt;H4&gt;Nifi properties&lt;/H4&gt;&lt;LI-CODE lang="markup"&gt;nifi.security.user.login.identity.provider=ldap-provider&lt;/LI-CODE&gt;&lt;H4&gt;&lt;BR /&gt;authorizers.xml&lt;/H4&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;userGroupProvider&amp;gt;
        &amp;lt;identifier&amp;gt;file-user-group-provider&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;./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;&amp;lt;/property&amp;gt;
    &amp;lt;/userGroupProvider&amp;gt;
    
   &amp;lt;accessPolicyProvider&amp;gt;
        &amp;lt;identifier&amp;gt;file-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;file-user-group-provider&amp;lt;/property&amp;gt;
        &amp;lt;property name="Authorizations File"&amp;gt;./conf/authorizations.xml&amp;lt;/property&amp;gt;
        &amp;lt;property name="Initial Admin Identity"&amp;gt;cn=admin,dc=example,dc=local&amp;lt;/property&amp;gt;
        &amp;lt;!-- &amp;lt;property name="Initial Admin Identity"&amp;gt;&amp;lt;/property&amp;gt; --&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;&amp;lt;/property&amp;gt;
        &amp;lt;property name="Node Group"&amp;gt;&amp;lt;/property&amp;gt;
    &amp;lt;/accessPolicyProvider&amp;gt;
    
    &amp;lt;authorizer&amp;gt;
        &amp;lt;identifier&amp;gt;managed-authorizer&amp;lt;/identifier&amp;gt;
        &amp;lt;class&amp;gt;org.apache.nifi.authorization.StandardManagedAuthorizer&amp;lt;/class&amp;gt;
        &amp;lt;property name="Access Policy Provider"&amp;gt;file-access-policy-provider&amp;lt;/property&amp;gt;
    &amp;lt;/authorizer&amp;gt;&lt;/LI-CODE&gt;&lt;H4&gt;&lt;BR /&gt;login-identity-providers.xml&lt;/H4&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;cn=admin,dc=example,dc=local&amp;lt;/property&amp;gt;
        &amp;lt;property name="Manager Password"&amp;gt;admin&amp;lt;/property&amp;gt;

        &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://localhost:389&amp;lt;/property&amp;gt;
        &amp;lt;property name="User Search Base"&amp;gt;dc=example,dc=local&amp;lt;/property&amp;gt;
        &amp;lt;property name="User Search Filter"&amp;gt;(cn={0})&amp;lt;/property&amp;gt;

        &amp;lt;property name="Identity Strategy"&amp;gt;USE_DN&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;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 25 Jan 2021 18:29:56 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Nifi-simple-authentication-NOT-SSL-with-Openldap/m-p/310404#M224142</guid>
      <dc:creator>JorgeO</dc:creator>
      <dc:date>2021-01-25T18:29:56Z</dc:date>
    </item>
    <item>
      <title>Re: Nifi simple authentication NOT SSL with Openldap</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Nifi-simple-authentication-NOT-SSL-with-Openldap/m-p/310446#M224161</link>
      <description>&lt;P&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/84732"&gt;@JorgeO&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am not clear on what "&lt;SPAN&gt;nifi screen does not show any change" means.&lt;BR /&gt;&lt;BR /&gt;Some things to keep in mind:&lt;BR /&gt;1. NiFi must first be secured before NiFi will even support any form of user authentication or authorization.&lt;BR /&gt;&lt;A href="http://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#security_properties" target="_blank" rel="noopener"&gt;http://nifi.apache.org/docs/nifi-docs/html/administration-guide.html#security_properties&lt;/A&gt;&lt;BR /&gt;2. Authentication and authorization processes are handled independently. A user must first successfully authenticate and only then will the user identity&amp;nbsp;be passed to the authorization&amp;nbsp;process to verify authorized policies granted for that user.&amp;nbsp;&lt;BR /&gt;3. The ldap-provider does not sync users from ldap, it is only used to validate user credentials supplied at a login prompt with ldap to authenticate that user.&amp;nbsp; Are you seeing a login window with your NiFi?&amp;nbsp; (will not see this if NiFi is not yet secured).&lt;BR /&gt;4. Once your user successfully authenticates then authorization comes in to play.&amp;nbsp; Looking at your authorizers.xml, one issue stands out to me:&lt;BR /&gt;- You configured:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;property name="Initial Admin Identity"&amp;gt;cn=admin,dc=example,dc=local&amp;lt;/property&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is set in the "file-access-policy-provider".&amp;nbsp; This provider is used to seed the initial minimum required policy that an admin user would need in order to access the UI, add additional users to the authorizer through UI and associate those additional users to various NiFi authorization policies.&lt;BR /&gt;- If you are a multi-node NiFi cluster, the node certificate DNs for each of yoru secured nodes also need to be configured in the "file-access-policy-provider":&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;property name="Node Identity 1"&amp;gt;CN=node1, OU=nifi&amp;lt;/property&amp;gt;
&amp;lt;property name="Node Identity 2"&amp;gt;CN=node2, OU=nifi&amp;lt;/property&amp;gt;
etc...&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- Problem here is that I don't see where you create that initial admin user.&amp;nbsp; NiFi can not seed policies for a user that does not exist yet as a known identity to NiFi.&amp;nbsp; Multiple methods are available for adding users and groups to NiFi for policy assignment. Your setup shared is using the "file-user-group-provider" which uses locally defined user/client identities.&amp;nbsp; However, you did not add your admin user DN to the file-user-group-provider so that NiFi adds it to the users.xml.&amp;nbsp; It needs to exist before the "file-access-policy-provider" can associate policies to that user identity.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;property name="Initial User Identity 1"&amp;gt;cn=admin,dc=example,dc=local&amp;lt;/property&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;- Additionally, if you have setup a NiFi multi-node cluster, the DNs from the certificate used to secure each of the nodes must also be added as "Initial User Identity 2,3,4..." properties in the file-user-group-provider also.&lt;BR /&gt;&lt;BR /&gt;All authentication and authorization actions would be logged in the nifi-user.log.&amp;nbsp; So check that to see what is happening if you are having access or authorization exceptions.&amp;nbsp; If this log does not exist or is empty, odds are that your NiFi was not secured.&amp;nbsp;&amp;nbsp;&lt;BR /&gt;In addition to the security properties I provided the link to above, you also need to make sure you set the following additional properties in the nifi.properties:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P class="tableblock"&gt;nifi.web.https.host&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="tableblock"&gt;The HTTPS host. It is blank by default.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P class="tableblock"&gt;nifi.web.https.port&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P class="tableblock"&gt;The HTTPS port. It is blank by default. When configuring NiFi to run securely, this port should be configured.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;The "nifi.web.https.port" is essentially the switch that enables secured NiFi when set.&lt;BR /&gt;The default is "nifi.web.http.port" which is a non-secured port.&lt;BR /&gt;&lt;BR /&gt;Hope this helps,&lt;/P&gt;&lt;P&gt;Matt&lt;/P&gt;</description>
      <pubDate>Tue, 26 Jan 2021 15:15:02 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Nifi-simple-authentication-NOT-SSL-with-Openldap/m-p/310446#M224161</guid>
      <dc:creator>MattWho</dc:creator>
      <dc:date>2021-01-26T15:15:02Z</dc:date>
    </item>
    <item>
      <title>Re: Nifi simple authentication NOT SSL with Openldap</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Nifi-simple-authentication-NOT-SSL-with-Openldap/m-p/310589#M224228</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;First of all thank you very much &lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/35454"&gt;@MattWho&lt;/a&gt;&amp;nbsp;for your reply, sorry I have not responded before but I was analyzing everything and doing the appropriate tests and it has worked. Clearly until there is no security in nifi will not connect to anything.&lt;BR /&gt;I followed the tutorial that marks the &lt;A href="https://nifi.apache.org/docs/nifi-docs/html/walkthroughs.html#securing-nifi-with-tls-toolkit" target="_self"&gt;web&amp;nbsp;&lt;/A&gt;and using the example that is in &lt;A href="https://hub.docker.com/r/apache/nifi" target="_self"&gt;dockerhub nifi&lt;/A&gt;&amp;nbsp; I created the container correctly.&lt;BR /&gt;Now there is a new challenge and I think it is between nifi and ldap with respect to user authentication because I do not pass the login screen.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;admin user&lt;/LI&gt;&lt;LI&gt;password admin&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;and the answer of nifi &lt;STRONG&gt;" Unable to validate the supplied credentials. Please contact the system administrator."&amp;nbsp; &lt;span class="lia-unicode-emoji" title=":disappointed_face:"&gt;😞&lt;/span&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Could you tell me what the problem is, as I have made many configurations that I have read on different websites but none solves the problem.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance&amp;nbsp; &lt;STRONG&gt;&lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I leave you the data as a guideline.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Docker-compose.yml&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;version: '3.3'
services:
    run:
        container_name: nifi
        volumes:
            - 'D:\Proyectos\prueba\code\DevOps-NIFI\certs\localhost:/opt/certs'
            - 'D:\Proyectos\prueba\code\DevOps-NIFI\conf:/opt/nifi/nifi-current/conf'
        ports:
            - '8443:8443'
        environment:
            - AUTH=ldap
            - KEYSTORE_PATH=/opt/certs/keystore.jks
            - KEYSTORE_TYPE=JKS
            - KEYSTORE_PASSWORD=PHOLoN27sv5Y+vGJMb8foz9fsMm6tYG+vUfQUX2Pejo
            - TRUSTSTORE_PATH=/opt/certs/truststore.jks
            - TRUSTSTORE_PASSWORD=XRIkyNPL3JrPmY9O6ZMbpgQCT2zbOEbvTpm6InXgInU
            - TRUSTSTORE_TYPE=JKS
            - 'INITIAL_ADMIN_IDENTITY=cn=admin,dc=example,dc=local'
            - LDAP_AUTHENTICATION_STRATEGY=SIMPLE
            - 'LDAP_MANAGER_DN=cn=admin,dc=example,dc=local'
            - LDAP_MANAGER_PASSWORD=admin
            - 'LDAP_USER_SEARCH_BASE=dc=example,dc=local'
            - 'LDAP_USER_SEARCH_FILTER=(cn={0})'
            - LDAP_IDENTITY_STRATEGY=USE_DN
            - 'LDAP_URL=ldap://192.168.0.23:389'
        image: apache/nifi:latest&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;authorizations.xml&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;
&amp;lt;authorizations&amp;gt;
    &amp;lt;policies&amp;gt;
        &amp;lt;policy identifier="f99bccd1-a30e-3e4a-98a2-dbc708edc67f" resource="/flow" action="R"&amp;gt;
            &amp;lt;user identifier="8e4a8efe-1a6a-3fde-b46e-3f8fa50065ad"/&amp;gt;
        &amp;lt;/policy&amp;gt;
        &amp;lt;policy identifier="35abdefa-c3db-3275-add7-dd027b2af2df" resource="/data/process-groups/49766c26-0177-1000-96ee-e7e3cd1d2779" action="R"&amp;gt;
            &amp;lt;user identifier="8e4a8efe-1a6a-3fde-b46e-3f8fa50065ad"/&amp;gt;
        &amp;lt;/policy&amp;gt;
        &amp;lt;policy identifier="3818fc5b-9df0-3d11-a291-bc8a018455f1" resource="/data/process-groups/49766c26-0177-1000-96ee-e7e3cd1d2779" action="W"&amp;gt;
            &amp;lt;user identifier="8e4a8efe-1a6a-3fde-b46e-3f8fa50065ad"/&amp;gt;
        &amp;lt;/policy&amp;gt;
        &amp;lt;policy identifier="5cdc6d64-b287-3939-a413-1edea5b1c359" resource="/process-groups/49766c26-0177-1000-96ee-e7e3cd1d2779" action="R"&amp;gt;
            &amp;lt;user identifier="8e4a8efe-1a6a-3fde-b46e-3f8fa50065ad"/&amp;gt;
        &amp;lt;/policy&amp;gt;
        &amp;lt;policy identifier="896bb72a-fd18-3272-89bd-52dd071a6cc6" resource="/process-groups/49766c26-0177-1000-96ee-e7e3cd1d2779" action="W"&amp;gt;
            &amp;lt;user identifier="8e4a8efe-1a6a-3fde-b46e-3f8fa50065ad"/&amp;gt;
        &amp;lt;/policy&amp;gt;
        &amp;lt;policy identifier="b8775bd4-704a-34c6-987b-84f2daf7a515" resource="/restricted-components" action="W"&amp;gt;
            &amp;lt;user identifier="8e4a8efe-1a6a-3fde-b46e-3f8fa50065ad"/&amp;gt;
        &amp;lt;/policy&amp;gt;
        &amp;lt;policy identifier="627410be-1717-35b4-a06f-e9362b89e0b7" resource="/tenants" action="R"&amp;gt;
            &amp;lt;user identifier="8e4a8efe-1a6a-3fde-b46e-3f8fa50065ad"/&amp;gt;
        &amp;lt;/policy&amp;gt;
        &amp;lt;policy identifier="15e4e0bd-cb28-34fd-8587-f8d15162cba5" resource="/tenants" action="W"&amp;gt;
            &amp;lt;user identifier="8e4a8efe-1a6a-3fde-b46e-3f8fa50065ad"/&amp;gt;
        &amp;lt;/policy&amp;gt;
        &amp;lt;policy identifier="ff96062a-fa99-36dc-9942-0f6442ae7212" resource="/policies" action="R"&amp;gt;
            &amp;lt;user identifier="8e4a8efe-1a6a-3fde-b46e-3f8fa50065ad"/&amp;gt;
        &amp;lt;/policy&amp;gt;
        &amp;lt;policy identifier="ad99ea98-3af6-3561-ae27-5bf09e1d969d" resource="/policies" action="W"&amp;gt;
            &amp;lt;user identifier="8e4a8efe-1a6a-3fde-b46e-3f8fa50065ad"/&amp;gt;
        &amp;lt;/policy&amp;gt;
        &amp;lt;policy identifier="2e1015cb-0fed-3005-8e0d-722311f21a03" resource="/controller" action="R"&amp;gt;
            &amp;lt;user identifier="8e4a8efe-1a6a-3fde-b46e-3f8fa50065ad"/&amp;gt;
        &amp;lt;/policy&amp;gt;
        &amp;lt;policy identifier="c6322e6c-4cc1-3bcc-91b3-2ed2111674cf" resource="/controller" action="W"&amp;gt;
            &amp;lt;user identifier="8e4a8efe-1a6a-3fde-b46e-3f8fa50065ad"/&amp;gt;
        &amp;lt;/policy&amp;gt;
    &amp;lt;/policies&amp;gt;
&amp;lt;/authorizations&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;users.xml&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;
&amp;lt;tenants&amp;gt;
    &amp;lt;groups/&amp;gt;
    &amp;lt;users&amp;gt;
        &amp;lt;user identifier="8e4a8efe-1a6a-3fde-b46e-3f8fa50065ad" identity="cn=admin,dc=example,dc=local"/&amp;gt;
    &amp;lt;/users&amp;gt;
&amp;lt;/tenants&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;authorizers.xml&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;userGroupProvider&amp;gt;
        &amp;lt;identifier&amp;gt;file-user-group-provider&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;./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=admin,dc=example,dc=local&amp;lt;/property&amp;gt;
    &amp;lt;/userGroupProvider&amp;gt;
    
    &amp;lt;accessPolicyProvider&amp;gt;
        &amp;lt;identifier&amp;gt;file-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;file-user-group-provider&amp;lt;/property&amp;gt;
        &amp;lt;property name="Authorizations File"&amp;gt;./conf/authorizations.xml&amp;lt;/property&amp;gt;
        &amp;lt;property name="Initial Admin Identity"&amp;gt;cn=admin,dc=example,dc=local&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;&amp;lt;/property&amp;gt;
        &amp;lt;property name="Node Group"&amp;gt;&amp;lt;/property&amp;gt;
    &amp;lt;/accessPolicyProvider&amp;gt;
    
    &amp;lt;authorizer&amp;gt;
        &amp;lt;identifier&amp;gt;managed-authorizer&amp;lt;/identifier&amp;gt;
        &amp;lt;class&amp;gt;org.apache.nifi.authorization.StandardManagedAuthorizer&amp;lt;/class&amp;gt;
        &amp;lt;property name="Access Policy Provider"&amp;gt;file-access-policy-provider&amp;lt;/property&amp;gt;
    &amp;lt;/authorizer&amp;gt;
    
        &amp;lt;authorizer&amp;gt;
        &amp;lt;identifier&amp;gt;file-provider&amp;lt;/identifier&amp;gt;
        &amp;lt;class&amp;gt;org.apache.nifi.authorization.FileAuthorizer&amp;lt;/class&amp;gt;
        &amp;lt;property name="Authorizations File"&amp;gt;./conf/authorizations.xml&amp;lt;/property&amp;gt;
        &amp;lt;property name="Users File"&amp;gt;./conf/users.xml&amp;lt;/property&amp;gt;
        &amp;lt;property name="Initial Admin Identity"&amp;gt;cn=admin,dc=example,dc=local&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;&amp;lt;/property&amp;gt;
    &amp;lt;/authorizer&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Logs&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;nifi-user.log&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;2021-01-28 16:25:53,940 ERROR [NiFi Web Server-22] o.a.n.w.a.c.AdministrationExceptionMapper org.apache.nifi.admin.service.AdministrationException: Unable to validate the supplied credentials. Please contact the system administrator.. Returning Internal Server Error response.
org.apache.nifi.admin.service.AdministrationException: Unable to validate the supplied credentials. Please contact the system administrator.
        at org.apache.nifi.web.api.AccessResource.createAccessToken(AccessResource.java:743)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory.lambda$static$0(ResourceMethodInvocationHandlerFactory.java:76)
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:148)
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:191)
        at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:200)
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:103)
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:493)
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:415)
        at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:104)
        at org.glassfish.jersey.server.ServerRuntime$1.run(ServerRuntime.java:277)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:272)
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:268)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:268)
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:289)
        at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:256)
        at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:703)
        at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:416)
        at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:370)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:389)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:342)
        at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:229)
        at org.eclipse.jetty.servlet.ServletHolder$NotAsyncServlet.service(ServletHolder.java:1395)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:755)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1617)
        at org.apache.nifi.web.filter.RequestLogger.doFilter(RequestLogger.java:66)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
        at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:208)
        at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
        at org.apache.nifi.web.filter.TimerFilter.doFilter(TimerFilter.java:51)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
        at org.apache.nifi.web.filter.ExceptionFilter.doFilter(ExceptionFilter.java:46)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1596)
        at org.eclipse.jetty.servlets.DoSFilter.doFilterChain(DoSFilter.java:472)
        at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:325)
        at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:295)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
        at org.apache.nifi.web.security.headers.StrictTransportSecurityFilter.doFilter(StrictTransportSecurityFilter.java:48)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
        at org.apache.nifi.web.security.headers.XContentTypeOptionsFilter.doFilter(XContentTypeOptionsFilter.java:48)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
        at org.apache.nifi.web.security.headers.XSSProtectionFilter.doFilter(XSSProtectionFilter.java:48)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
        at org.apache.nifi.web.security.headers.ContentSecurityPolicyFilter.doFilter(ContentSecurityPolicyFilter.java:47)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
        at org.apache.nifi.web.security.headers.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:48)
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1604)
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:545)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:590)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1607)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1297)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:485)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1577)
        at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1212)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
        at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:767)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:221)
        at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:59)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
        at org.eclipse.jetty.server.Server.handle(Server.java:500)
        at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
        at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:547)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:270)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
        at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:543)
        at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:398)
        at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:161)
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
        at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
        at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
        at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:388)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.nifi.authentication.exception.IdentityAccessException: Unable to validate the supplied credentials. Please contact the system administrator.
        at org.apache.nifi.ldap.LdapProvider.authenticate(LdapProvider.java:309)
        at org.apache.nifi.web.security.spring.LoginIdentityProviderFactoryBean$1.authenticate(LoginIdentityProviderFactoryBean.java:315)
        at org.apache.nifi.web.api.AccessResource.createAccessToken(AccessResource.java:733)
        ... 93 common frames omitted
Caused by: org.springframework.dao.IncorrectResultSizeDataAccessException: Incorrect result size: expected 1, actual 2
        at org.springframework.security.ldap.SpringSecurityLdapTemplate.searchForSingleEntryInternal(SpringSecurityLdapTemplate.java:365)
        at org.springframework.security.ldap.SpringSecurityLdapTemplate$3.executeWithContext(SpringSecurityLdapTemplate.java:318)
        at org.springframework.ldap.core.LdapTemplate.executeWithContext(LdapTemplate.java:817)
        at org.springframework.ldap.core.LdapTemplate.executeReadOnly(LdapTemplate.java:803)
        at org.springframework.security.ldap.SpringSecurityLdapTemplate.searchForSingleEntry(SpringSecurityLdapTemplate.java:316)
        at org.springframework.security.ldap.search.FilterBasedLdapUserSearch.searchForUser(FilterBasedLdapUserSearch.java:127)
        at org.springframework.security.ldap.authentication.BindAuthenticator.authenticate(BindAuthenticator.java:95)
        at org.springframework.security.ldap.authentication.LdapAuthenticationProvider.doAuthentication(LdapAuthenticationProvider.java:187)
        at org.springframework.security.ldap.authentication.AbstractLdapAuthenticationProvider.authenticate(AbstractLdapAuthenticationProvider.java:85)
        at org.apache.nifi.ldap.LdapProvider.authenticate(LdapProvider.java:279)
        ... 95 common frames omitted&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Jan 2021 16:46:52 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Nifi-simple-authentication-NOT-SSL-with-Openldap/m-p/310589#M224228</guid>
      <dc:creator>JorgeO</dc:creator>
      <dc:date>2021-01-28T16:46:52Z</dc:date>
    </item>
    <item>
      <title>Re: Nifi simple authentication NOT SSL with Openldap</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Nifi-simple-authentication-NOT-SSL-with-Openldap/m-p/310774#M224297</link>
      <description>&lt;P&gt;&lt;a href="https://community.cloudera.com/t5/user/viewprofilepage/user-id/84732"&gt;@JorgeO&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Looking at your nifi-user.log output we see the caused by line as:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;Caused by: org.springframework.dao.IncorrectResultSizeDataAccessException: Incorrect result size: expected 1, actual 2&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This means that your LDAP/AD returned two results instead of only one.&amp;nbsp; NiFi then has not idea which of those returns is the correct one it should be using.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;So this either an issue within your LDAP/AD or an issue within your current login-identity-providers.xml filters.&amp;nbsp; But your last shared file looks fine to me.&lt;BR /&gt;&lt;BR /&gt;I would suggest using the ldapsearch command to run a ldap query outside of NiFi to see what returns you get for your admin user (cn=&amp;lt;admin user&amp;gt;)&lt;BR /&gt;&lt;BR /&gt;Hope this helps,&lt;/P&gt;&lt;P&gt;Matt&lt;/P&gt;</description>
      <pubDate>Mon, 01 Feb 2021 21:13:21 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Nifi-simple-authentication-NOT-SSL-with-Openldap/m-p/310774#M224297</guid>
      <dc:creator>MattWho</dc:creator>
      <dc:date>2021-02-01T21:13:21Z</dc:date>
    </item>
  </channel>
</rss>

