No problem. Glad you got it sorted.

Yet at the https URL in the browser, it still tells me it is insecure.
>

This is happening because the certificate is not issued by a trusted
Certificate Authority. The certificate from TinyCert is valid (the
connection works) but TinyCert is not a trusted CA from your browser's
perspective.

Matt

On Thu, Apr 25, 2024 at 4:44 PM James McMahon <jsmcmah...@gmail.com> wrote:

> When I learned that the initial user in authorizers.xml must match the
> certificate *exactly*, I figured it would be an easy matter to use openssl
> to inspect the cert. I wanted to be *absolutely* certain I matched it
> correctly.
> Here is the command:
> /opt/nifi/config_resources/keys$ openssl pkcs12 -info -in CN=admin2.p12
> -nodes
>
> Here is the output. The output informed me of what I thought was the
> subject info in the cert:
> ......
> subject=C = US, ST = Virginia, L = Reston, O = C4 Rampart, OU = NIFI, CN
> = admin2
> issuer=C = US, ST = Virginia, L = Reston, O = C4 Rampart, OU = Secure
> Digital Certificate Signing, CN = C4 Rampart CA
> -----BEGIN CERTIFICATE-----
> MIIExDCCA6ygAwIBAgICeYowDQYJKoZI......
>
> This is why I put that in the way that I did. I mean why on earth would it
> reverse the DN info and add extra spaces, right!? It's like having a
> separate knob for volume on the alarm clock in Seinfeld. Why separate knob,
> WHY?
>
> Anyway I reversed my entry and squashed the extra spacing. I updated
> authorizers.xml. I blew away authorizations.xml and users.xml so that nifi
> would recreate them at startup. I also fixed
> nifi.security.identity.mapping.pattern.dn and
> nifi.security.identity.mapping.value.dn in nifi.properties.I restarted
> nifi. And as Bryan, Matt, and Isha certainly already suspect, it worked.
>
> I still have one more thing to figure out. I've got the CA and user cert
> info in my browser. I've got a server cert. All have been generated by
> tinycert.org. Yet at the https URL in the browser, it still tells me it
> is insecure. I do not understand why.
> x Not secure      https://
> ec2-44-219-227-80.compute-1.amazonaws.com:8443/nifi/
>
> Anyway, thank you Bryan, Matt, and Isha for replying.
>
> On Wed, Apr 24, 2024 at 9:05 PM Matt Gilman <matt.c.gil...@gmail.com>
> wrote:
>
>> What is this Access Token it cites at top?
>>>
>>
>> NiFi UI attempts to get the access token expiration. However, since
>> you're authenticating with a certificate the endpoint returns an
>> IllegalState because there was no token in the request.
>>
>> Looking at the logs and the supplied configuration it appears there are
>> spaces and the ordering is reversed in your initial admin identity when
>> compared with the value from the certificate.
>>
>> C = US, ST = Virginia, L = Reston, O = C4 Rampart, OU = NIFI, CN = admin2
>> CN=admin2, OU=NIFI, O=C4 Rampart, L=Reston, ST=Virginia, C=US
>>
>> Hope this helps!
>>
>> Matt
>>
>> On Wed, Apr 24, 2024 at 8:41 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?
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>

Reply via email to