The identity you put for your initial admin is: C = US, ST = Virginia, L = Reston, O = C4 Rampart, OU = NIFI, CN = admin2
Which does not match the identity shown in the logs that is coming from your client cert: CN=admin2, OU=NIFI, O=C4 Rampart, L=Reston, ST=Virginia, C=US It is case and whitespace sensitive and the ordering is reversed. On Wed, Apr 24, 2024 at 8:42 PM James McMahon <jsmcmah...@gmail.com> wrote: > Looking at the nifi-user.log, I find I am getting a Conflict response, > Access Token not found. > > more ./nifi-user.log > 2024-04-25 00:23:49,329 INFO [main] o.a.n.a.FileUserGroupProvider Creating > new users file at /opt/nifi/config_resources/users.xml > 2024-04-25 00:23:49,352 INFO [main] o.a.n.a.FileAccessPolicyProvider > Creating new authorizations file at > /opt/nifi/config_resources/authorizations.xml > 2024-04-25 00:23:49,573 INFO [main] o.a.n.a.FileAccessPolicyProvider > Populating authorizations for Initial Admin: C = US, ST = Virginia, L = > Reston, O = C4 Rampart, OU = NIFI, > CN = admin2 > 2024-04-25 00:24:51,107 INFO [NiFi Web Server-100] > o.a.n.w.s.NiFiAuthenticationFilter Authentication Started 173.73.40.110 > [CN=admin2, OU=NIFI, O=C4 Rampart, L=Reston, ST=Virgi > nia, C=US] POST > https://ec2-44-219-227-80.compute-1.amazonaws.com:8443/nifi-api/access/kerberos > 2024-04-25 00:24:51,110 INFO [NiFi Web Server-100] > o.a.n.w.s.NiFiAuthenticationFilter Authentication Success [CN=admin2, > OU=NIFI, O=C4 Rampart, L=Reston, ST=Virginia, C=US] 173 > .73.40.110 POST > https://ec2-44-219-227-80.compute-1.amazonaws.com:8443/nifi-api/access/kerberos > 2024-04-25 00:24:51,166 INFO [NiFi Web Server-104] > o.a.n.w.s.NiFiAuthenticationFilter Authentication Started 173.73.40.110 > [CN=admin2, OU=NIFI, O=C4 Rampart, L=Reston, ST=Virgi > nia, C=US] GET > https://ec2-44-219-227-80.compute-1.amazonaws.com:8443/nifi-api/access/token/expiration > 2024-04-25 00:24:51,166 INFO [NiFi Web Server-104] > o.a.n.w.s.NiFiAuthenticationFilter Authentication Success [CN=admin2, > OU=NIFI, O=C4 Rampart, L=Reston, ST=Virginia, C=US] 173 > .73.40.110 GET > https://ec2-44-219-227-80.compute-1.amazonaws.com:8443/nifi-api/access/token/expiration > 2024-04-25 00:24:51,172 WARN [NiFi Web Server-104] > o.a.n.w.a.c.IllegalStateExceptionMapper java.lang.IllegalStateException: > *Access Token not found. Returning Conflict > response.java.lang.IllegalStateException: Access Token not found* > at > org.apache.nifi.web.api.AccessResource.getAccessTokenExpiration(AccessResource.java:463) > at > java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) > at java.base/java.lang.reflect.Method.invoke(Method.java:580) > > followed by > > 2024-04-25 00:24:51,185 INFO [NiFi Web Server-100] > o.a.n.w.s.NiFiAuthenticationFilter Authentication Started 173.73.40.110 > [CN=admin2, OU=NIFI, O=C4 Rampart, L=Reston, ST=Virgi > nia, C=US] GET > https://ec2-44-219-227-80.compute-1.amazonaws.com:8443/nifi-api/flow/current-user > 2024-04-25 00:24:51,186 INFO [NiFi Web Server-100] > o.a.n.w.s.NiFiAuthenticationFilter Authentication Success [CN=admin2, > OU=NIFI, O=C4 Rampart, L=Reston, ST=Virginia, C=US] 173 > .73.40.110 GET > https://ec2-44-219-227-80.compute-1.amazonaws.com:8443/nifi-api/flow/current-user > 2024-04-25 00:24:51,192 INFO [NiFi Web Server-100] > o.a.n.w.a.c.AccessDeniedExceptionMapper identity[CN=admin2, OU=NIFI, O=C4 > Rampart, L=Reston, ST=Virginia, C=US], groups[] > *does not have permission to access the requested resource. Unable to view > the user interface. Returning Forbidden response.* > > What is this Access Token it cites at top? > > Based on what I have read in the documentation, nifi itself must be > allowed to create the authorizations.xml file at initial startup. Is there > a reason it would omit permission to view and use the UI? > > On Wed, Apr 24, 2024 at 5:18 PM Matt Gilman <matt.c.gil...@gmail.com> > wrote: > >> James, >> >> If you check the nifi-user.log in the logs directory, you should see >> messages for the requests that are being rejected. In that log message you >> should see the identity that you're authenticated with. Can you compare >> that with the user that you've configured the policies for. Hopefully, that >> will help point to where the issue is. >> >> Matt >> >> On Wed, Apr 24, 2024 at 5:03 PM James McMahon <jsmcmah...@gmail.com> >> wrote: >> >>> I still cannot access my own NiFi 2.0 instance. I continue to get this >>> rejection: >>> >>> Insufficient Permissions >>> >>> - home >>> >>> Unable to view the user interface. Contact the system administrator. >>> >>> >>> The canvas flashes for an instant when I try to hit my secure URL, but >>> is immediately replaced with this rejection message. >>> >>> There is no error or warning in nifi-app.log >>> >>> Has anyone experienced a similar problem? >>> >>> >>> Here is my authorizers.xml: >>> >>> <authorizers> >>> <userGroupProvider> >>> <identifier>file-user-group-provider</identifier> >>> >>> <class>org.apache.nifi.authorization.FileUserGroupProvider</class> >>> <property name="Users >>> File">/opt/nifi/config_resources/users.xml</property> >>> <property name="Legacy Authorized Users File"></property> >>> <property name="Initial User Identity 1">C = US, ST = Virginia, >>> L = Reston, O = C4 Rampart, OU = NIFI, CN = admin2</property> >>> </userGroupProvider> >>> <accessPolicyProvider> >>> <identifier>file-access-policy-provider</identifier> >>> >>> <class>org.apache.nifi.authorization.FileAccessPolicyProvider</class> >>> <property name="User Group >>> Provider">file-user-group-provider</property> >>> <property name="Authorizations >>> File">/opt/nifi/config_resources/authorizations.xml</property> >>> <property name="Initial Admin Identity">C = US, ST = Virginia, L >>> = Reston, O = C4 Rampart, OU = NIFI, CN = admin2</property> >>> <property name="Legacy Authorized Users File"></property> >>> <property name="Node Identity 1"></property> >>> </accessPolicyProvider> >>> <authorizer> >>> <identifier>managed-authorizer</identifier> >>> >>> <class>org.apache.nifi.authorization.StandardManagedAuthorizer</class> >>> <property name="Access Policy >>> Provider">file-access-policy-provider</property> >>> </authorizer> >>> </authorizers> >>> >>> >>> Here is my authorizations.xml (nifi creates at first startup): >>> >>> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> >>> <authorizations> >>> <policies> >>> <policy identifier="f99bccd1-a30e-3e4a-98a2-dbc708edc67f" >>> resource="/flow" action="R"> >>> <user identifier="03e0564a-4cad-3d24-bf64-3f09d78a5834"/> >>> </policy> >>> <policy identifier="ae1ef91b-11d8-38a4-9d8a-33e7ee25d65e" >>> resource="/data/process-groups/ca7090bc-018e-1000-6a92-e199f7d9e48e" >>> action="R"> >>> <user identifier="03e0564a-4cad-3d24-bf64-3f09d78a5834"/> >>> </policy> >>> <policy identifier="818d3b60-f65b-3d67-960e-f7e7aea0f6cc" >>> resource="/data/process-groups/ca7090bc-018e-1000-6a92-e199f7d9e48e" >>> action="W"> >>> <user identifier="03e0564a-4cad-3d24-bf64-3f09d78a5834"/> >>> </policy> >>> <policy identifier="6e49aea6-93bd-3a2a-a0d6-b5afb4581b4f" >>> resource="/process-groups/ca7090bc-018e-1000-6a92-e199f7d9e48e" action="R"> >>> <user identifier="03e0564a-4cad-3d24-bf64-3f09d78a5834"/> >>> </policy> >>> <policy identifier="3755b3ac-380b-3c02-83a6-10c3870f377a" >>> resource="/process-groups/ca7090bc-018e-1000-6a92-e199f7d9e48e" action="W"> >>> <user identifier="03e0564a-4cad-3d24-bf64-3f09d78a5834"/> >>> </policy> >>> <policy identifier="b8775bd4-704a-34c6-987b-84f2daf7a515" >>> resource="/restricted-components" action="W"> >>> <user identifier="03e0564a-4cad-3d24-bf64-3f09d78a5834"/> >>> </policy> >>> <policy identifier="627410be-1717-35b4-a06f-e9362b89e0b7" >>> resource="/tenants" action="R"> >>> <user identifier="03e0564a-4cad-3d24-bf64-3f09d78a5834"/> >>> </policy> >>> <policy identifier="15e4e0bd-cb28-34fd-8587-f8d15162cba5" >>> resource="/tenants" action="W"> >>> <user identifier="03e0564a-4cad-3d24-bf64-3f09d78a5834"/> >>> </policy> >>> <policy identifier="ff96062a-fa99-36dc-9942-0f6442ae7212" >>> resource="/policies" action="R"> >>> <user identifier="03e0564a-4cad-3d24-bf64-3f09d78a5834"/> >>> </policy> >>> <policy identifier="ad99ea98-3af6-3561-ae27-5bf09e1d969d" >>> resource="/policies" action="W"> >>> <user identifier="03e0564a-4cad-3d24-bf64-3f09d78a5834"/> >>> </policy> >>> <policy identifier="2e1015cb-0fed-3005-8e0d-722311f21a03" >>> resource="/controller" action="R"> >>> <user identifier="03e0564a-4cad-3d24-bf64-3f09d78a5834"/> >>> </policy> >>> <policy identifier="c6322e6c-4cc1-3bcc-91b3-2ed2111674cf" >>> resource="/controller" action="W"> >>> <user identifier="03e0564a-4cad-3d24-bf64-3f09d78a5834"/> >>> </policy> >>> </policies> >>> </authorizations> >>> >>> >>> >>> Here is my users.xml (nifi creates at first startup): >>> >>> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> >>> <tenants> >>> <groups/> >>> <users> >>> <user identifier="03e0564a-4cad-3d24-bf64-3f09d78a5834" >>> identity="C = US, ST = Virginia, L = Reston, O = C4 Rampart, OU = NIFI, CN >>> = admin2"/> >>> </users> >>> </tenants> >>> >>> >>> On Wed, Apr 24, 2024 at 8:21 AM James McMahon <jsmcmah...@gmail.com> >>> wrote: >>> >>>> I'll review this closely once again when I get back to this system >>>> tonight - thanks very much for your reply, Isha. >>>> >>>> I also feel I need to look more closely in nifi.properties, at values I >>>> have set for keys nifi.security.identity.mapping.[value, transform, >>>> pattern].CN1 >>>> >>>> I noticed some odd behavior and suspect it is a reflection of an issue >>>> I have not set properly in my configuration: >>>> The first time I started my 2.0 instance with my Initial Admin Identity >>>> defined as shown, the UI in my browser actually presented me with a list >>>> (of one) Personal cert to select from - the cert for admin2. I was in a >>>> happy place: *finally*, nifi and the browser appeared to be in synch for >>>> the Subject name in the cert. >>>> >>>> I selected this cert, but then was crushed by the rejection mentioned >>>> above: >>>> Unable to view the user interface. Contact the system >>>> administrator. >>>> Insufficient Permissions home >>>> >>>> I restarted nifi so I could "tail -f" nifi-app.log. >>>> After restart, I once again tried to hit my NiFi URL. >>>> This time though, the browser failed to present the admin2 cert for >>>> selection. Shouldn't it have still presented that to me in the browser fro >>>> my selection? >>>> Do you have any thoughts why this behavior is occurring? >>>> >>>> Would you say it is it advisable to manually create by hand an >>>> authorizations.xml file should I continue to experience Insufficient >>>> Permissions problems? I recall reading that users.xml and >>>> authorizations.xml - if absent at initial startup - should be created by >>>> nifi from info in authorizers.xml. But this Insufficient Permissions makes >>>> me suspect something is missing from authorizations. >>>> >>>> Jim >>>> >>>> On Wed, Apr 24, 2024 at 5:33 AM Isha Lamboo < >>>> isha.lam...@virtualsciences.nl> wrote: >>>> >>>>> Hi James, >>>>> >>>>> >>>>> >>>>> Have you changed these settings in authorizers.xml since you first >>>>> started NiFi? If so, you may need to delete users.xml and >>>>> authorizations.xml. >>>>> >>>>> A new admin user will not be created if those files already exist. >>>>> >>>>> >>>>> >>>>> Otherwise, the trickiest part is usually that the user DN needs to >>>>> match **exactly** with that specified. Capitals and whitespace >>>>> matter. Since you are getting insufficient permissions instead of unknown >>>>> user, I don’t think that’s your problem here. Still, it may be worth >>>>> checking for a mismatch in the initial admin identity vs initial user >>>>> identity vs certificate. >>>>> >>>>> >>>>> >>>>> Regards, >>>>> >>>>> >>>>> >>>>> Isha >>>>> >>>>> >>>>> >>>>> *Van:* James McMahon <jsmcmah...@gmail.com> >>>>> *Verzonden:* woensdag 24 april 2024 02:14 >>>>> *Aan:* users <users@nifi.apache.org> >>>>> *Onderwerp:* Insufficient permissions on initial start up (NiFi 2.0) >>>>> >>>>> >>>>> >>>>> I am trying to start my new NiFi 2.0 installation. I have a user >>>>> admin2 that has a cert. The nifi server also has a cert. Both are signed >>>>> by >>>>> the same CA. >>>>> >>>>> >>>>> >>>>> At start up in my browser I am denied due to insufficient privileges: >>>>> >>>>> >>>>> >>>>> Unable to view the user interface. Contact the system administrator. >>>>> >>>>> Insufficient Permissions home >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> My authorizors.xml has been configured as follows: >>>>> >>>>> <authorizers> >>>>> <userGroupProvider> >>>>> <identifier>file-user-group-provider</identifier> >>>>> >>>>> <class>org.apache.nifi.authorization.FileUserGroupProvider</class> >>>>> <property name="Users >>>>> File">/opt/nifi/config_resources/users.xml</property> >>>>> <property name="Legacy Authorized Users File"></property> >>>>> <property name="Initial User Identity 1">C = US, ST = >>>>> Virginia, L = Reston, O = C4 Rampart, OU = NIFI, CN = admin2</property> >>>>> </userGroupProvider> >>>>> <accessPolicyProvider> >>>>> <identifier>file-access-policy-provider</identifier> >>>>> >>>>> <class>org.apache.nifi.authorization.FileAccessPolicyProvider</class> >>>>> <property name="User Group >>>>> Provider">file-user-group-provider</property> >>>>> <property name="Authorizations >>>>> File">/opt/nifi/config_resources/authorizations.xml</property> >>>>> <property name="Initial Admin Identity">C = US, ST = Virginia, >>>>> L = Reston, O = C4 Rampart, OU = NIFI, CN = admin2</property> >>>>> <property name="Legacy Authorized Users File"></property> >>>>> <property name="Node Identity 1"></property> >>>>> </accessPolicyProvider> >>>>> <authorizer> >>>>> <identifier>managed-authorizer</identifier> >>>>> >>>>> <class>org.apache.nifi.authorization.StandardManagedAuthorizer</class> >>>>> <property name="Access Policy >>>>> Provider">file-access-policy-provider</property> >>>>> </authorizer> >>>>> </authorizers> >>>>> >>>>> >>>>> >>>>> I read that at start up, authorizations.xml and users.xml would be >>>>> created by NiFi - those files are not to be hand jammed. >>>>> >>>>> >>>>> >>>>> So how do I actually get in with my admin2 user? >>>>> >>>>> What have I overlooked on this magical mystery tour? >>>>> >>>>> >>>>> >>>>> >>>>> >>>>