michaeljmarshall commented on code in PR #18718:
URL: https://github.com/apache/pulsar/pull/18718#discussion_r1038612092


##########
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/authorization/PulsarAuthorizationProvider.java:
##########
@@ -161,6 +162,9 @@ public CompletableFuture<Boolean> canConsumeAsync(TopicName 
topicName, String ro
     @Override
     public CompletableFuture<Boolean> canLookupAsync(TopicName topicName, 
String role,
             AuthenticationDataSource authenticationData) {
+        if (SystemTopicNames.isTransactionCoordinatorAssign(topicName)) {
+            return CompletableFuture.completedFuture(true);
+        }

Review Comment:
   I am concerned that this design change could lead to other system topics 
getting this kind of special treatment. Ultimately, the fact that the 
transaction coordinator topic is needed for all tenants seems like an 
anti-pattern in our multi-tenant system. I would prefer to add a new auth 
action for lookup so that operators can choose to expose this to individual 
tenants.
   
   Additionally, it seems odd to me that we would need to grant a role 
permission to lookup a topic without the need to produce or consume from that 
topic.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to