@ -1080,9 +1080,14 @@ sasl.mechanism.inter.broker.protocol=GSSAPI (or one of the other enabled mechani
@@ -1080,9 +1080,14 @@ sasl.mechanism.inter.broker.protocol=GSSAPI (or one of the other enabled mechani
<p>Tokens can be created by using Admin APIs or using <tt>kafka-delegation-tokens.sh</tt> script.
Delegation token requests (create/renew/expire/describe) should be issued only on SASL or SSL authenticated channels.
Tokens can not be requests if the initial authentication is done through delegation token.
A token can be created by the user for that user or others as well by specifying the <tt>--owner-principal</tt> parameter.
Owner/Renewers can renew or expire tokens. Owner/renewers can always describe their own tokens.
To describe other tokens, a DESCRIBE_TOKEN permission needs to be added on the User resource representing the owner of the token.
<tt>kafka-delegation-tokens.sh</tt> script examples are given below.</p>
@ -1126,13 +1131,6 @@ sasl.mechanism.inter.broker.protocol=GSSAPI (or one of the other enabled mechani
@@ -1126,13 +1131,6 @@ sasl.mechanism.inter.broker.protocol=GSSAPI (or one of the other enabled mechani
</ol>
<p>We intend to automate this in a future Kafka release.</p>
</li>
<li><h5class="anchor-heading"><aid="security_token_notes"class="anchor-link"></a><ahref="#security_token_notes">Notes on Delegation Tokens</a></h5>
<ul>
<li>Currently, we only allow a user to create delegation token for that user only. Owner/Renewers can renew or expire tokens.
Owner/renewers can always describe their own tokens. To describe others tokens, we need to add DESCRIBE permission on Token Resource.</li>
<td>A user resource to which ACLs should be added or removed. This is currently supported in relation with delegation tokens.
A value of * indicates ACL should apply to all users.</td>
<td></td>
<td>ResourcePattern</td>
</tr>
<tr>
<td>--resource-pattern-type [pattern-type]</td>
<td>Indicates to the script the type of resource pattern, (for --add), or resource pattern filter, (for --list and --remove), the user wishes to use.<br>
Users having Alter permission on ClusterResource can use Admin API for ACL management. kafka-acls.sh script supports AdminClient API to manage ACLs without interacting with zookeeper/authorizer directly.
All the above examples can be executed by using <b>--bootstrap-server</b> option. For example:
and the related upstream documentation at <ahref="#security_delegation_token">Authentication using Delegation Tokens</a>.</li>
<li><b>User:</b> CreateToken and DescribeToken operations can be granted to User resources to allow creating and describing
tokens for other users. More info can be found in <ahref="https://cwiki.apache.org/confluence/display/KAFKA/KIP-373%3A+Allow+users+to+create+delegation+tokens+for+other+users">KIP-373</a>.</li>
</ul>
<h5class="anchor-heading"><aid="operations_resources_and_protocols"class="anchor-link"></a><ahref="#operations_resources_and_protocols">Operations and Resources on Protocols</a></h5>
<p>In the below table we'll list the valid operations on resources that are executed by the Kafka API protocols.</p>