Created 06-08-2017 11:26 AM
Hi Team,
I have configured Ranger for Nifi and ranger already synced with LDAP, do i need to create user in ranger with DN to access nifi eventhough its synced already?
synced username : anish
Manually created username in Ranger : CN=anish, OU=User, OU=Accounts, OU=ITSC, DC=zone1, DC=dcb, DC=net (why its required when its already synced with LDAP?)
because its working if i created user in Ranger else i am getting below error
2017-06-08 09:56:25,528 INFO [NiFi Web Server-1043] o.a.n.w.a.c.AccessDeniedExceptionMapper CN=anish, OU=User, OU=Accounts, OU=ITSC, DC=zone1, DC=dcb, DC=net does not have permission to access the requested resource. Returning Forbidden response.
Created on 06-08-2017 12:17 PM - edited 08-17-2019 10:20 PM
There are two parts that need to be successful to access NiFi:
Based on your output above, you appear to have two options possibly to match your authenticated value with your ldap sync'd user in Ranger:
nifi.security.identity.mapping.pattern.dn=^CN=(.*?), OU=(.*?), OU=(.*?), OU=(.*?), DC=(.*?), DC=(.*?), DC=(.*?)$nifi.security.identity.mapping.value.dn=$1This will return just "anish" from the DN and that is what will be passed to the authorizer.
<property name="Identity Strategy">USE_USERNAME</property>
Thanks,
Matt
Created on 06-08-2017 12:17 PM - edited 08-17-2019 10:20 PM
There are two parts that need to be successful to access NiFi:
Based on your output above, you appear to have two options possibly to match your authenticated value with your ldap sync'd user in Ranger:
nifi.security.identity.mapping.pattern.dn=^CN=(.*?), OU=(.*?), OU=(.*?), OU=(.*?), DC=(.*?), DC=(.*?), DC=(.*?)$nifi.security.identity.mapping.value.dn=$1This will return just "anish" from the DN and that is what will be passed to the authorizer.
<property name="Identity Strategy">USE_USERNAME</property>
Thanks,
Matt
Created 06-08-2017 02:18 PM
@Anishkumar Valsalam You would need to do identity mappings for the users. Set the following parameters in your NiFi conf and restart NiFi.
nifi.security.identity.mapping.pattern.dn = ^CN=(.*?), OU=(.*?), OU=(.*?), OU=(.*?), DC=(.*?), DC=(.*?), DC=(.*?)$ nifi.security.identity.mapping.value.dn = $1
You can read following Knowledge articles for more details.
Created 06-08-2017 03:46 PM
@Matt Clarke Thanks ton you are my saviour 🙂
Created 06-08-2017 02:18 PM
@Anishkumar Valsalam You would need to do identity mappings for the users. Set the following parameters in your NiFi conf and restart NiFi.
nifi.security.identity.mapping.pattern.dn =^CN=(.*?), OU=(.*?), OU=(.*?), OU=(.*?), DC=(.*?), DC=(.*?), DC=(.*?)$ nifi.security.identity.mapping.value.dn = $1
You can read following Knowledge articles for more details.
Created 06-08-2017 03:47 PM
Thanks for the useful link 🙂 it worked.