This is an automated email from the ASF dual-hosted git repository.

bbende pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/master by this push:
     new 35d1cac  Documentation :  ConsumerKafka_2_0 - updated configuration 
details re… (#3360)
35d1cac is described below

commit 35d1cace080a476910b007e67ce4e90661a0d299
Author: pushpavanthar <[email protected]>
AuthorDate: Wed Mar 13 20:42:00 2019 +0530

    Documentation :  ConsumerKafka_2_0 - updated configuration details re… 
(#3360)
    
    * Documentation :  ConsumerKafka_2_0 - updated configuration details 
related to SASL_PLAINTEXT - SCRAM
    
    * Updated rest of the related documents with SCRAM configurations and few 
NOTEs
    
    * incorporated review comments
    
    * incorporated review comments
---
 .../additionalDetails.html                         | 74 ++++++++++++++++++++--
 .../additionalDetails.html                         | 74 ++++++++++++++++++++--
 .../additionalDetails.html                         | 49 ++++++++++++++
 .../additionalDetails.html                         | 49 ++++++++++++++
 4 files changed, 234 insertions(+), 12 deletions(-)

diff --git 
a/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.ConsumeKafkaRecord_2_0/additionalDetails.html
 
b/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.ConsumeKafkaRecord_2_0/additionalDetails.html
index 98191b7..8f7c4e9 100644
--- 
a/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.ConsumeKafkaRecord_2_0/additionalDetails.html
+++ 
b/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.ConsumeKafkaRecord_2_0/additionalDetails.html
@@ -73,12 +73,7 @@
         </p>
         <h4>SASL_PLAINTEXT - GSSAPI</h4>
         <p>
-            If the SASL mechanism is GSSAPI, then the client must provide a 
JAAS configuration to authenticate. The
-            JAAS configuration can be provided by specifying the 
java.security.auth.login.config system property in
-            NiFi's bootstrap.conf, such as:
-        <pre>
-    
java.arg.16=-Djava.security.auth.login.config=/path/to/kafka_client_jaas.conf
-            </pre>
+            If the SASL mechanism is GSSAPI, then the client must provide a 
JAAS configuration to authenticate.
         </p>
         <p>
             An example of the JAAS config file would be the following:
@@ -95,6 +90,25 @@
         <b>NOTE:</b> The serviceName in the JAAS file must match the Kerberos 
Service Name in the processor.
         </p>
         <p>
+        The JAAS configuration can be provided by either of below ways
+        <ol type="1">
+            <li>specify the java.security.auth.login.config system property in
+                NiFi's bootstrap.conf. This limits you to use only one user 
credential across the cluster.</li>
+            <pre>
+                
java.arg.16=-Djava.security.auth.login.config=/path/to/kafka_client_jaas.conf
+            </pre>
+            <li>add user attribute 'sasl.jaas.config' in the processor 
configurations. This method allows one to have multiple consumers with 
different user credentials or gives flexibility to consume from multiple kafka 
clusters.</li>
+            <pre>
+                sasl.jaas.config : 
com.sun.security.auth.module.Krb5LoginModule required
+                                        useKeyTab=true
+                                        storeKey=true
+                                        keyTab="/path/to/nifi.keytab"
+                                        serviceName="kafka"
+                                        principal="[email protected]";
+            </pre>
+        </ol>
+        </p>
+        <p>
             Alternatively, the JAAS
             configuration when using GSSAPI can be provided by specifying the 
Kerberos Principal and Kerberos Keytab
             directly in the processor properties. This will dynamically create 
a JAAS configuration like above, and
@@ -112,16 +126,64 @@
       password="nifi-password";
     };
             </pre>
+        The JAAS configuration can be provided by either of below ways
+        <ol type="1">
+            <li>specify the java.security.auth.login.config system property in
+                NiFi's bootstrap.conf. This limits you to use only one user 
credential across the cluster.</li>
+            <pre>
+                
java.arg.16=-Djava.security.auth.login.config=/path/to/kafka_client_jaas.conf
+            </pre>
+            <li>add user attribute 'sasl.jaas.config' in the processor 
configurations. This method allows one to have multiple consumers with 
different user credentials or gives flexibility to consume from multiple kafka 
clusters.</li>
+            <pre>
+                sasl.jaas.config : 
org.apache.kafka.common.security.plain.PlainLoginModule required
+                                        username="nifi"
+                                        password="nifi-password";
+            </pre>
+            <b>NOTE:</b> The dynamic properties of this processor are not 
secured and as a result the password entered when utilizing sasl.jaas.config 
will be stored in the flow.xml.gz file in plain-text, and will be saved to NiFi 
Registry if using versioned flows.
+        </ol>
         </p>
         <p>
             <b>NOTE:</b> It is not recommended to use a SASL mechanism of 
PLAIN with SASL_PLAINTEXT, as it would transmit
             the username and password unencrypted.
         </p>
         <p>
+            <b>NOTE:</b> The Kerberos Service Name is not required for SASL 
mechanism of PLAIN. However, processor warns saying this attribute has to be 
filled with non empty string. You can choose to fill any random string, such as 
"null".
+        </p>
+        <p>
             <b>NOTE:</b> Using the PlainLoginModule will cause it be 
registered in the JVM's static list of Providers, making
             it visible to components in other NARs that may access the 
providers. There is currently a known issue
             where Kafka processors using the PlainLoginModule will cause HDFS 
processors with Keberos to no longer work.
         </p>
+        <h4>SASL_PLAINTEXT - SCRAM</h4>
+        <p>
+            If the SASL mechanism is SCRAM, then client must provide a JAAS 
configuration to authenticate, but
+            the JAAS configuration must use Kafka's ScramLoginModule. Ensure 
that you add user defined attribute 'sasl.mechanism' and assign 'SCRAM-SHA-256' 
or 'SCRAM-SHA-512' based on kafka broker configurations. An example of the JAAS 
config file would
+            be the following:
+        <pre>
+    KafkaClient {
+      org.apache.kafka.common.security.scram.ScramLoginModule required
+      username="nifi"
+      password="nifi-password";
+    };
+        </pre>
+        The JAAS configuration can be provided by either of below ways
+        <ol type="1">
+        <li>specify the java.security.auth.login.config system property in
+            NiFi's bootstrap.conf. This limits you to use only one user 
credential across the cluster.</li>
+        <pre>
+                
java.arg.16=-Djava.security.auth.login.config=/path/to/kafka_client_jaas.conf
+            </pre>
+        <li>add user attribute 'sasl.jaas.config' in the processor 
configurations. This method allows one to have multiple consumers with 
different user credentials or gives flexibility to consume from multiple kafka 
clusters.</li>
+            <pre>
+                sasl.jaas.config : 
org.apache.kafka.common.security.scram.ScramLoginModule required
+                                        username="nifi"
+                                        password="nifi-password";
+            </pre>
+            <b>NOTE:</b> The dynamic properties of this processor are not 
secured and as a result the password entered when utilizing sasl.jaas.config 
will be stored in the flow.xml.gz file in plain-text, and will be saved to NiFi 
Registry if using versioned flows.
+        </ol>
+        <p>
+        <b>NOTE:</b> The Kerberos Service Name is not required for SASL 
mechanism of SCRAM-SHA-256 or SCRAM-SHA-512. However, processor warns saying 
this attribute has to be filled with non empty string. You can choose to fill 
any random string, such as "null".
+        </p>
         <h3>SASL_SSL</h3>
         <p>
             This option uses SASL with an SSL/TLS transport layer to 
authenticate to the broker. In order to use this
diff --git 
a/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.ConsumeKafka_2_0/additionalDetails.html
 
b/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.ConsumeKafka_2_0/additionalDetails.html
index b6525cb..bd061b2 100644
--- 
a/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.ConsumeKafka_2_0/additionalDetails.html
+++ 
b/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.ConsumeKafka_2_0/additionalDetails.html
@@ -73,12 +73,7 @@
         </p>
         <h4>SASL_PLAINTEXT - GSSAPI</h4>
         <p>
-            If the SASL mechanism is GSSAPI, then the client must provide a 
JAAS configuration to authenticate. The
-            JAAS configuration can be provided by specifying the 
java.security.auth.login.config system property in
-            NiFi's bootstrap.conf, such as:
-        <pre>
-    
java.arg.16=-Djava.security.auth.login.config=/path/to/kafka_client_jaas.conf
-            </pre>
+            If the SASL mechanism is GSSAPI, then the client must provide a 
JAAS configuration to authenticate.
         </p>
         <p>
             An example of the JAAS config file would be the following:
@@ -95,6 +90,25 @@
         <b>NOTE:</b> The serviceName in the JAAS file must match the Kerberos 
Service Name in the processor.
         </p>
         <p>
+        The JAAS configuration can be provided by either of below ways
+        <ol type="1">
+            <li>specify the java.security.auth.login.config system property in
+                NiFi's bootstrap.conf. This limits you to use only one user 
credential across the cluster.</li>
+            <pre>
+                
java.arg.16=-Djava.security.auth.login.config=/path/to/kafka_client_jaas.conf
+            </pre>
+            <li>add user attribute 'sasl.jaas.config' in the processor 
configurations. This method allows one to have multiple consumers with 
different user credentials or gives flexibility to consume from multiple kafka 
clusters.</li>
+            <pre>
+                sasl.jaas.config : 
com.sun.security.auth.module.Krb5LoginModule required
+                                        useKeyTab=true
+                                        storeKey=true
+                                        keyTab="/path/to/nifi.keytab"
+                                        serviceName="kafka"
+                                        principal="[email protected]";
+            </pre>
+        </ol>
+        </p>
+        <p>
             Alternatively, the JAAS
             configuration when using GSSAPI can be provided by specifying the 
Kerberos Principal and Kerberos Keytab
             directly in the processor properties. This will dynamically create 
a JAAS configuration like above, and
@@ -112,16 +126,64 @@
       password="nifi-password";
     };
             </pre>
+        The JAAS configuration can be provided by either of below ways
+        <ol type="1">
+            <li>specify the java.security.auth.login.config system property in
+                NiFi's bootstrap.conf. This limits you to use only one user 
credential across the cluster.</li>
+            <pre>
+                
java.arg.16=-Djava.security.auth.login.config=/path/to/kafka_client_jaas.conf
+            </pre>
+            <li>add user attribute 'sasl.jaas.config' in the processor 
configurations. This method allows one to have multiple consumers with 
different user credentials or gives flexibility to consume from multiple kafka 
clusters.</li>
+            <pre>
+                sasl.jaas.config : 
org.apache.kafka.common.security.plain.PlainLoginModule required
+                                        username="nifi"
+                                        password="nifi-password";
+            </pre>
+            <b>NOTE:</b> The dynamic properties of this processor are not 
secured and as a result the password entered when utilizing sasl.jaas.config 
will be stored in the flow.xml.gz file in plain-text, and will be saved to NiFi 
Registry if using versioned flows.
+        </ol>
         </p>
         <p>
             <b>NOTE:</b> It is not recommended to use a SASL mechanism of 
PLAIN with SASL_PLAINTEXT, as it would transmit
             the username and password unencrypted.
         </p>
         <p>
+            <b>NOTE:</b> The Kerberos Service Name is not required for SASL 
mechanism of PLAIN. However, processor warns saying this attribute has to be 
filled with non empty string. You can choose to fill any random string, such as 
"null".
+        </p>
+        <p>
             <b>NOTE:</b> Using the PlainLoginModule will cause it be 
registered in the JVM's static list of Providers, making
             it visible to components in other NARs that may access the 
providers. There is currently a known issue
             where Kafka processors using the PlainLoginModule will cause HDFS 
processors with Keberos to no longer work.
         </p>
+        <h4>SASL_PLAINTEXT - SCRAM</h4>
+        <p>
+            If the SASL mechanism is SCRAM, then client must provide a JAAS 
configuration to authenticate, but
+            the JAAS configuration must use Kafka's ScramLoginModule. Ensure 
that you add user defined attribute 'sasl.mechanism' and assign 'SCRAM-SHA-256' 
or 'SCRAM-SHA-512' based on kafka broker configurations. An example of the JAAS 
config file would
+            be the following:
+        <pre>
+    KafkaClient {
+      org.apache.kafka.common.security.scram.ScramLoginModule required
+      username="nifi"
+      password="nifi-password";
+    };
+        </pre>
+        The JAAS configuration can be provided by either of below ways
+        <ol type="1">
+        <li>specify the java.security.auth.login.config system property in
+            NiFi's bootstrap.conf. This limits you to use only one user 
credential across the cluster.</li>
+        <pre>
+                
java.arg.16=-Djava.security.auth.login.config=/path/to/kafka_client_jaas.conf
+            </pre>
+        <li>add user attribute 'sasl.jaas.config' in the processor 
configurations. This method allows one to have multiple consumers with 
different user credentials or gives flexibility to consume from multiple kafka 
clusters.</li>
+            <pre>
+                sasl.jaas.config : 
org.apache.kafka.common.security.scram.ScramLoginModule required
+                                        username="nifi"
+                                        password="nifi-password";
+            </pre>
+            <b>NOTE:</b> The dynamic properties of this processor are not 
secured and as a result the password entered when utilizing sasl.jaas.config 
will be stored in the flow.xml.gz file in plain-text, and will be saved to NiFi 
Registry if using versioned flows.
+        </ol>
+        <p>
+        <b>NOTE:</b> The Kerberos Service Name is not required for SASL 
mechanism of SCRAM-SHA-256 or SCRAM-SHA-512. However, processor warns saying 
this attribute has to be filled with non empty string. You can choose to fill 
any random string, such as "null".
+        </p>
         <h3>SASL_SSL</h3>
         <p>
             This option uses SASL with an SSL/TLS transport layer to 
authenticate to the broker. In order to use this
diff --git 
a/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_0/additionalDetails.html
 
b/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_0/additionalDetails.html
index dd89164..fc9a6e8 100644
--- 
a/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_0/additionalDetails.html
+++ 
b/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.PublishKafkaRecord_2_0/additionalDetails.html
@@ -114,16 +114,65 @@
       password="nifi-password";
     };
             </pre>
+        The JAAS configuration can be provided by either of below ways
+        <ol type="1">
+            <li>specify the java.security.auth.login.config system property in
+                NiFi's bootstrap.conf. This limits you to use only one user 
credential across the cluster.</li>
+            <pre>
+                
java.arg.16=-Djava.security.auth.login.config=/path/to/kafka_client_jaas.conf
+            </pre>
+            <li>add user attribute 'sasl.jaas.config' in the processor 
configurations. This method allows one to have multiple consumers with 
different user credentials or gives flexibility to consume from multiple kafka 
clusters.</li>
+            <pre>
+                sasl.jaas.config : 
org.apache.kafka.common.security.plain.PlainLoginModule required
+                                        username="nifi"
+                                        password="nifi-password";
+            </pre>
+            <b>NOTE:</b> The dynamic properties of this processor are not 
secured and as a result the password entered when utilizing sasl.jaas.config 
will be stored in the flow.xml.gz file in plain-text, and will be saved to NiFi 
Registry if using versioned flows.
+        </ol>
         </p>
         <p>
             <b>NOTE:</b> It is not recommended to use a SASL mechanism of 
PLAIN with SASL_PLAINTEXT, as it would transmit
             the username and password unencrypted.
         </p>
         <p>
+            <b>NOTE:</b> The Kerberos Service Name is not required for SASL 
mechanism of PLAIN. However, processor warns saying this attribute has to be 
filled with non empty string. You can choose to fill any random string, such as 
"null".
+        </p>
+        <p>
             <b>NOTE:</b> Using the PlainLoginModule will cause it be 
registered in the JVM's static list of Providers, making
             it visible to components in other NARs that may access the 
providers. There is currently a known issue
             where Kafka processors using the PlainLoginModule will cause HDFS 
processors with Keberos to no longer work.
         </p>
+
+        <h4>SASL_PLAINTEXT - SCRAM</h4>
+        <p>
+            If the SASL mechanism is SSL, then client must provide a JAAS 
configuration to authenticate, but
+            the JAAS configuration must use Kafka's ScramLoginModule. Ensure 
that you add user defined attribute 'sasl.mechanism' and assign 'SCRAM-SHA-256' 
or 'SCRAM-SHA-512' based on kafka broker configurations. An example of the JAAS 
config file would
+            be the following:
+        <pre>
+    KafkaClient {
+      org.apache.kafka.common.security.scram.ScramLoginModule
+      username="nifi"
+      password="nifi-password";
+    };
+            </pre>
+
+        The JAAS configuration can be provided by either of below ways
+        <ol type="1">
+            <li>specify the java.security.auth.login.config system property in
+                NiFi's bootstrap.conf. This limits you to use only one user 
credential across the cluster.</li>
+            <pre>
+                
java.arg.16=-Djava.security.auth.login.config=/path/to/kafka_client_jaas.conf
+            </pre>
+            <li>add user attribute 'sasl.jaas.config' in the processor 
configurations. This method allows one to have multiple consumers with 
different user credentials or gives flexibility to consume from multiple kafka 
clusters.</li>
+            <pre>
+                sasl.jaas.config : 
org.apache.kafka.common.security.scram.ScramLoginModule required
+                                        username="nifi"
+                                        password="nifi-password";
+            </pre>
+            <b>NOTE:</b> The dynamic properties of this processor are not 
secured and as a result the password entered when utilizing sasl.jaas.config 
will be stored in the flow.xml.gz file in plain-text, and will be saved to NiFi 
Registry if using versioned flows.
+        </ol>
+        <b>NOTE:</b> The Kerberos Service Name is not required for SASL 
mechanism of SCRAM-SHA-256 or SCRAM-SHA-512. However, processor warns saying 
this attribute has to be filled with non empty string. You can choose to fill 
any random string, such as "null".
+        </p>
         <h3>SASL_SSL</h3>
         <p>
             This option uses SASL with an SSL/TLS transport layer to 
authenticate to the broker. In order to use this
diff --git 
a/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.PublishKafka_2_0/additionalDetails.html
 
b/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.PublishKafka_2_0/additionalDetails.html
index 1d26464..5618529 100644
--- 
a/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.PublishKafka_2_0/additionalDetails.html
+++ 
b/nifi-nar-bundles/nifi-kafka-bundle/nifi-kafka-2-0-processors/src/main/resources/docs/org.apache.nifi.processors.kafka.pubsub.PublishKafka_2_0/additionalDetails.html
@@ -126,16 +126,65 @@
       password="nifi-password";
     };
             </pre>
+        The JAAS configuration can be provided by either of below ways
+        <ol type="1">
+            <li>specify the java.security.auth.login.config system property in
+                NiFi's bootstrap.conf. This limits you to use only one user 
credential across the cluster.</li>
+            <pre>
+                
java.arg.16=-Djava.security.auth.login.config=/path/to/kafka_client_jaas.conf
+            </pre>
+            <li>add user attribute 'sasl.jaas.config' in the processor 
configurations. This method allows one to have multiple consumers with 
different user credentials or gives flexibility to consume from multiple kafka 
clusters.</li>
+            <pre>
+                sasl.jaas.config : 
org.apache.kafka.common.security.plain.PlainLoginModule required
+                                        username="nifi"
+                                        password="nifi-password";
+            </pre>
+            <b>NOTE:</b> The dynamic properties of this processor are not 
secured and as a result the password entered when utilizing sasl.jaas.config 
will be stored in the flow.xml.gz file in plain-text, and will be saved to NiFi 
Registry if using versioned flows.
+        </ol>
         </p>
         <p>
             <b>NOTE:</b> It is not recommended to use a SASL mechanism of 
PLAIN with SASL_PLAINTEXT, as it would transmit
             the username and password unencrypted.
         </p>
         <p>
+            <b>NOTE:</b> The Kerberos Service Name is not required for SASL 
mechanism of PLAIN. However, processor warns saying this attribute has to be 
filled with non empty string. You can choose to fill any random string, such as 
"null".
+        </p>
+        <p>
             <b>NOTE:</b> Using the PlainLoginModule will cause it be 
registered in the JVM's static list of Providers, making
             it visible to components in other NARs that may access the 
providers. There is currently a known issue
             where Kafka processors using the PlainLoginModule will cause HDFS 
processors with Keberos to no longer work.
         </p>
+
+        <h4>SASL_PLAINTEXT - SCRAM</h4>
+        <p>
+            If the SASL mechanism is SSL, then client must provide a JAAS 
configuration to authenticate, but
+            the JAAS configuration must use Kafka's ScramLoginModule. Ensure 
that you add user defined attribute 'sasl.mechanism' and assign 'SCRAM-SHA-256' 
or 'SCRAM-SHA-512' based on kafka broker configurations. An example of the JAAS 
config file would
+            be the following:
+        <pre>
+    KafkaClient {
+      org.apache.kafka.common.security.scram.ScramLoginModule
+      username="nifi"
+      password="nifi-password";
+    };
+            </pre>
+
+        The JAAS configuration can be provided by either of below ways
+        <ol type="1">
+            <li>specify the java.security.auth.login.config system property in
+                NiFi's bootstrap.conf. This limits you to use only one user 
credential across the cluster.</li>
+            <pre>
+                
java.arg.16=-Djava.security.auth.login.config=/path/to/kafka_client_jaas.conf
+            </pre>
+            <li>add user attribute 'sasl.jaas.config' in the processor 
configurations. This method allows one to have multiple consumers with 
different user credentials or gives flexibility to consume from multiple kafka 
clusters.</li>
+            <pre>
+                sasl.jaas.config : 
org.apache.kafka.common.security.scram.ScramLoginModule required
+                                        username="nifi"
+                                        password="nifi-password";
+            </pre>
+            <b>NOTE:</b> The dynamic properties of this processor are not 
secured and as a result the password entered when utilizing sasl.jaas.config 
will be stored in the flow.xml.gz file in plain-text, and will be saved to NiFi 
Registry if using versioned flows.
+        </ol>
+        <b>NOTE:</b> The Kerberos Service Name is not required for SASL 
mechanism of SCRAM-SHA-256 or SCRAM-SHA-512. However, processor warns saying 
this attribute has to be filled with non empty string. You can choose to fill 
any random string, such as "null".
+        </p>
         <h3>SASL_SSL</h3>
         <p>
             This option uses SASL with an SSL/TLS transport layer to 
authenticate to the broker. In order to use this

Reply via email to