Member since
07-30-2019
3131
Posts
1564
Kudos Received
909
Solutions
My Accepted Solutions
Title | Views | Posted |
---|---|---|
126 | 01-09-2025 11:14 AM | |
748 | 01-03-2025 05:59 AM | |
408 | 12-13-2024 10:58 AM | |
443 | 12-05-2024 06:38 AM | |
367 | 11-22-2024 05:50 AM |
03-10-2017
01:18 PM
@Mehul Shah Glad to hear you are up and running If the provided answer solved your issue, please accept the answer. Thanks, Matt
... View more
03-10-2017
01:08 PM
3 Kudos
@Mehul Shah You NiFi is failing to start because your Java cannot decrypt your keystore: Caused by: java.io.IOException: exception decrypting data - java.security.InvalidKeyException: Illegal key size at org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.cryptData Java supports only 128-bit encryption by default.
128bits == 16Bytes == 16 Chars. So the cryptKey used by your keystore cannot exceed 16 characters.
If you want to exceed more than 16 character you have to install Java Cryptography Extension (JCE) Unlimited Strength. You will either need to obtain new keystore which uses a simpler password or install the JCE to your Java install. Thanks, Matt
... View more
03-09-2017
07:59 PM
1 Kudo
@Kuntesh Bharucha Are you using NiFi's embedded ZK or an external ZK? Have you configured the state-management.xml file with the connection string for your ZK nodes? In a NiFi cluster, ZK is used to maintain the cluster wide sate of some processors. Those processors will attempt to use the state manager even if it has not been setup correctly or at all. Thanks, Matt
... View more
03-09-2017
05:06 PM
1 Kudo
@Oliver Fletcher
Lets assume you have Node A, Node B, and Node C in your NiFi cluster. Now your AD user is logged into Node A and runs a provenance query. That provenance query is propagated to all other nodes (A, B, and C) by Node A. Each node runs the query which may return 0 to many results (Actually looking in the nifi-app.log of each node will show a log line that indicates the number of returned results) All those results are returned to the node A where your user is logged in for display in the provenance UI. Node A upon receiving these events will check to see which results Node A is allowed to access to. In you case your user has access to the data but your nodes do not.
The nodes must be granted the access to the data of the component(s) the provenance results belong to. Generally speaking you set data access policies at the process group level and all components and process groups contained within the process group inherit those parent access policies. For you, you will need the UUID of your root process group. Then in ranger you would add a new policy that grants all your nodes access to "/data/process-group/<uuid of root process group>" resource. After doing so, try running your query again and you should see results. You should already have an existing policy in Ranger which grants all your nodes the /proxy resource. Thanks, Matt
... View more
03-09-2017
03:11 PM
@Christophe Vico This appears to be an issue between Ranger and Solr and have nothing to do with NiFi at all. I suggest updating your tags on this post to include Solr.
... View more
03-09-2017
03:07 PM
@Christophe Vico Based on the DN pattern you provided in your question (CN=nodename, OU=some OU, DC=dc1, DC=dc2). None of the mapping you shared should have matched. Are you sure there isn't a third OU in there?
The closest mapping is nifi.security.identity.mapping.pattern.dn2=^CN=(.*?), OU=(.*?), OU=(.*?), OU=(.*?), DC=(.*?), DC=(.*?)$
nifi.security.identity.mapping.value.dn2=$1 The mapping pattern above takes the DN that starts with CN=<capture group 1>, OU=<capture group 2>, OU=<capture group 3>, OU=<capture group 4>, DC=<capture group 5>, DC=<capture group 6> each "(.*?)" creates a java capture group of everything between "=" and ",". It then returns the value of <capture group 1> only as dictated by the "$1". It is this resulting value that is passed to teh authorizer. assuming there is a third , OU= in your servers DN, this would explain exactly what you are seeing. Thanks, Matt
... View more
03-09-2017
02:58 PM
@Harshith Venkatesh Where the certificates created to secure each of these NiFi instances signed by the same CA? The authentication that is going to occur between these NiFi instances is 2-way SSL. Both servers must be able to trust the certificate being presented by the other NiFi instance. Thanks, Matt
... View more
03-09-2017
02:55 PM
@Harshith Venkatesh And what do you see in the nifi-user.log on the other NiFi instance?
... View more
03-09-2017
01:05 PM
@Harshith Venkatesh What do you see in the nifi-user.log on the target NiFi server of the RPG?
What is the full error seen in the nifi-app.log of the source NiFi server?
... View more
03-09-2017
12:50 PM
@Christophe Vico In order for users or servers to access any secured NiFi end-point a series of steps occur: 1. User/server authentication: For users this sounds like it is being done via AD which you have configured via Ambari (this sets up the login-identity-providers.xml file in NiFi). For servers this is done via server certificates that are configured for each of your NiFi nodes. If and only if user/server authentication is successful, then the process moves on to step two. Do a verbose listing of the keystore on your newly added node to verify DN structure. 2. User/server Pattern mapping: NiFi can be configured to use pattern mappings to extract a portion of the return DN or principal before passing the resulting mapped value to the configured authorizer (in your case the authorizer is Ranger). These mappings can be setup in Ambari which will update the nifi.properties file. by default, pattern mapping is not enabled. All Authenticated entities no matter how the authentication was completed are passed through every configured mapping looking for a match. If no matches are found, the full return is sent to the authorizer. Check to see if any mappings have been setup that are matching on your new server's DN. 3. User/Server Authorization: User/server authorization is check to see what NiFi resources a particular authenticated entity has been granted access to. Note: You can follow the authentication and authorization process by looking in the nifi-user.log. Thanks, Matt
... View more