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

showuon pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new ff3d42a18c KAFKA-13852: Kafka Acl documentation bug for wildcard '*' 
(#12090)
ff3d42a18c is described below

commit ff3d42a18cc8dd91427411e6d0c71a3af8414764
Author: Hongten <[email protected]>
AuthorDate: Sun Apr 24 16:50:44 2022 +0800

    KAFKA-13852: Kafka Acl documentation bug for wildcard '*' (#12090)
    
    The wildcard * in command without wrapped by single quote will be replaced 
into the file name under the current folder by bash. So we need to wrap with 
single quote. Update the doc and command option description.
    
    Reviewers: dengziming <[email protected]>, Luke Chen 
<[email protected]>
---
 core/src/main/scala/kafka/admin/AclCommand.scala | 16 ++++++++--------
 docs/security.html                               |  4 ++--
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/core/src/main/scala/kafka/admin/AclCommand.scala 
b/core/src/main/scala/kafka/admin/AclCommand.scala
index 116ca24f7b..cca997d408 100644
--- a/core/src/main/scala/kafka/admin/AclCommand.scala
+++ b/core/src/main/scala/kafka/admin/AclCommand.scala
@@ -518,20 +518,20 @@ object AclCommand extends Logging {
       .ofType(classOf[String])
 
     val topicOpt = parser.accepts("topic", "topic to which ACLs should be 
added or removed. " +
-      "A value of * indicates ACL should apply to all topics.")
+      "A value of '*' indicates ACL should apply to all topics.")
       .withRequiredArg
       .describedAs("topic")
       .ofType(classOf[String])
 
     val clusterOpt = parser.accepts("cluster", "Add/Remove cluster ACLs.")
     val groupOpt = parser.accepts("group", "Consumer Group to which the ACLs 
should be added or removed. " +
-      "A value of * indicates the ACLs should apply to all groups.")
+      "A value of '*' indicates the ACLs should apply to all groups.")
       .withRequiredArg
       .describedAs("group")
       .ofType(classOf[String])
 
     val transactionalIdOpt = parser.accepts("transactional-id", "The 
transactionalId to which ACLs should " +
-      "be added or removed. A value of * indicates the ACLs should apply to 
all transactionalIds.")
+      "be added or removed. A value of '*' indicates the ACLs should apply to 
all transactionalIds.")
       .withRequiredArg
       .describedAs("transactional-id")
       .ofType(classOf[String])
@@ -541,7 +541,7 @@ object AclCommand extends Logging {
       "the producer is authorized to a particular transactional-id.")
 
     val delegationTokenOpt = parser.accepts("delegation-token", "Delegation 
token to which ACLs should be added or removed. " +
-      "A value of * indicates ACL should apply to all tokens.")
+      "A value of '*' indicates ACL should apply to all tokens.")
       .withRequiredArg
       .describedAs("delegation-token")
       .ofType(classOf[String])
@@ -569,7 +569,7 @@ object AclCommand extends Logging {
 
     val allowPrincipalsOpt = parser.accepts("allow-principal", "principal is 
in principalType:name format." +
       " Note that principalType must be supported by the Authorizer being 
used." +
-      " For example, User:* is the wild card indicating all users.")
+      " For example, User:'*' is the wild card indicating all users.")
       .withRequiredArg
       .describedAs("allow-principal")
       .ofType(classOf[String])
@@ -579,7 +579,7 @@ object AclCommand extends Logging {
       "You only need to use this option as negation to already allowed set. " +
       "Note that principalType must be supported by the Authorizer being used. 
" +
       "For example if you wanted to allow access to all users in the system 
but not test-user you can define an ACL that " +
-      "allows access to User:* and specify 
--deny-principal=User:[email protected]. " +
+      "allows access to User:'*' and specify 
--deny-principal=User:[email protected]. " +
       "AND PLEASE REMEMBER DENY RULES TAKES PRECEDENCE OVER ALLOW RULES.")
       .withRequiredArg
       .describedAs("deny-principal")
@@ -592,13 +592,13 @@ object AclCommand extends Logging {
       .ofType(classOf[String])
 
     val allowHostsOpt = parser.accepts("allow-host", "Host from which 
principals listed in --allow-principal will have access. " +
-      "If you have specified --allow-principal then the default for this 
option will be set to * which allows access from all hosts.")
+      "If you have specified --allow-principal then the default for this 
option will be set to '*' which allows access from all hosts.")
       .withRequiredArg
       .describedAs("allow-host")
       .ofType(classOf[String])
 
     val denyHostsOpt = parser.accepts("deny-host", "Host from which principals 
listed in --deny-principal will be denied access. " +
-      "If you have specified --deny-principal then the default for this option 
will be set to * which denies access from all hosts.")
+      "If you have specified --deny-principal then the default for this option 
will be set to '*' which denies access from all hosts.")
       .withRequiredArg
       .describedAs("deny-host")
       .ofType(classOf[String])
diff --git a/docs/security.html b/docs/security.html
index 2a31942662..846ce5f20b 100644
--- a/docs/security.html
+++ b/docs/security.html
@@ -1383,7 +1383,7 @@ 
RULE:[n:string](regexp)s/pattern/replacement/g/U</code></pre>
             Above examples add acls to a topic by specifying --topic 
[topic-name] as the resource pattern option. Similarly user can add acls to 
cluster by specifying --cluster and to a consumer group by specifying --group 
[group-name].
             You can add acls on any resource of a certain type, e.g. suppose 
you wanted to add an acl "Principal User:Peter is allowed to produce to any 
Topic from IP 198.51.200.0"
             You can do that by using the wildcard resource '*', e.g. by 
executing the CLI with following options:
-            <pre class="line-numbers"><code class="language-bash">&gt; 
bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 
--add --allow-principal User:Peter --allow-host 198.51.200.1 --producer --topic 
*</code></pre>
+            <pre class="line-numbers"><code class="language-bash">&gt; 
bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 
--add --allow-principal User:Peter --allow-host 198.51.200.1 --producer --topic 
'*'</code></pre>
             You can add acls on prefixed resource patterns, e.g. suppose you 
want to add an acl "Principal User:Jane is allowed to produce to any Topic 
whose name starts with 'Test-' from any host".
             You can do that by executing the CLI with following options:
             <pre class="line-numbers"><code class="language-bash">&gt; 
bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 
--add --allow-principal User:Jane --producer --topic Test- 
--resource-pattern-type prefixed</code></pre>
@@ -1400,7 +1400,7 @@ 
RULE:[n:string](regexp)s/pattern/replacement/g/U</code></pre>
             <pre class="line-numbers"><code class="language-bash">&gt; 
bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 
--list --topic Test-topic</code></pre>
             However, this will only return the acls that have been added to 
this exact resource pattern. Other acls can exist that affect access to the 
topic,
             e.g. any acls on the topic wildcard '*', or any acls on prefixed 
resource patterns. Acls on the wildcard resource pattern can be queried 
explicitly:
-            <pre class="line-numbers"><code class="language-bash">&gt; 
bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 
--list --topic *</code></pre>
+            <pre class="line-numbers"><code class="language-bash">&gt; 
bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 
--list --topic '*'</code></pre>
             However, it is not necessarily possible to explicitly query for 
acls on prefixed resource patterns that match Test-topic as the name of such 
patterns may not be known.
             We can list <i>all</i> acls affecting Test-topic by using 
'--resource-pattern-type match', e.g.
             <pre class="line-numbers"><code class="language-bash">&gt; 
bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 
--list --topic Test-topic --resource-pattern-type match</code></pre>

Reply via email to