Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,8 @@
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import org.apache.commons.lang3.StringUtils;
import org.apache.pulsar.broker.ServiceConfiguration;
import org.apache.pulsar.broker.authentication.AuthenticationDataSource;
import org.apache.pulsar.broker.cache.ConfigurationCacheService;
import org.apache.pulsar.broker.resources.PulsarResources;
import org.apache.pulsar.common.naming.NamespaceName;
import org.apache.pulsar.common.naming.TopicName;
Expand Down Expand Up @@ -86,23 +84,6 @@ default CompletableFuture<Boolean> isTenantAdmin(String tenant, String role, Ten
&& tenantInfo.getAdminRoles().contains(role));
}

/**
* Perform initialization for the authorization provider.
*
* @param conf
* broker config object
* @param configCache
* pulsar zk configuration cache service
* @throws IOException
* if the initialization fails
*
* @deprecated ConfigurationCacheService is not supported anymore as a way to get access to metadata.
* @see #initialize(ServiceConfiguration, PulsarResources)
*/
@Deprecated
default void initialize(ServiceConfiguration conf, ConfigurationCacheService configCache) throws IOException {
}

/**
* Perform initialization for the authorization provider.
*
Expand All @@ -114,8 +95,6 @@ default void initialize(ServiceConfiguration conf, ConfigurationCacheService con
* if the initialization fails
*/
default void initialize(ServiceConfiguration conf, PulsarResources pulsarResources) throws IOException {
// For compatibility, call the old deprecated initialize
initialize(conf, (ConfigurationCacheService) null);
}

/**
Expand Down Expand Up @@ -246,39 +225,6 @@ CompletableFuture<Void> revokeSubscriptionPermissionAsync(NamespaceName namespac
CompletableFuture<Void> grantPermissionAsync(TopicName topicName, Set<AuthAction> actions, String role,
String authDataJson);

/**
* Grant authorization-action permission on a tenant to the given client.
* @param tenantName
* @param originalRole role not overriden by proxy role if request do pass through proxy
* @param role originalRole | proxyRole if the request didn't pass through proxy
* @param operation
* @param authData
* @return CompletableFuture<Boolean>
*/
@Deprecated
default CompletableFuture<Boolean> allowTenantOperationAsync(String tenantName, String originalRole, String role,
TenantOperation operation,
AuthenticationDataSource authData) {
return allowTenantOperationAsync(
tenantName,
StringUtils.isBlank(originalRole) ? role : originalRole,
operation,
authData
);
}

@Deprecated
default Boolean allowTenantOperation(String tenantName, String originalRole, String role, TenantOperation operation,
AuthenticationDataSource authData) {
try {
return allowTenantOperationAsync(tenantName, originalRole, role, operation, authData).get();
} catch (InterruptedException e) {
throw new RestException(e);
} catch (ExecutionException e) {
throw new RestException(e.getCause());
}
}

/**
* Check if a given <tt>role</tt> is allowed to execute a given <tt>operation</tt> on the tenant.
*
Expand Down Expand Up @@ -339,44 +285,6 @@ default Boolean allowNamespaceOperation(NamespaceName namespaceName,
}
}

/**
* Grant authorization-action permission on a namespace to the given client.
*
* @param namespaceName
* @param role
* @param operation
* @param authData
* @return CompletableFuture<Boolean>
*/
@Deprecated
default CompletableFuture<Boolean> allowNamespaceOperationAsync(NamespaceName namespaceName,
String originalRole,
String role,
NamespaceOperation operation,
AuthenticationDataSource authData) {
return allowNamespaceOperationAsync(
namespaceName,
StringUtils.isBlank(originalRole) ? role : originalRole,
operation,
authData
);
}

@Deprecated
default Boolean allowNamespaceOperation(NamespaceName namespaceName,
String originalRole,
String role,
NamespaceOperation operation,
AuthenticationDataSource authData) {
try {
return allowNamespaceOperationAsync(namespaceName, originalRole, role, operation, authData).get();
} catch (InterruptedException e) {
throw new RestException(e);
} catch (ExecutionException e) {
throw new RestException(e.getCause());
}
}

/**
* Check if a given <tt>role</tt> is allowed to execute a given policy <tt>operation</tt> on the namespace.
*
Expand Down Expand Up @@ -411,48 +319,6 @@ default Boolean allowNamespacePolicyOperation(NamespaceName namespaceName,
}
}

/**
* Grant authorization-action permission on a namespace to the given client.
* @param namespaceName
* @param originalRole role not overriden by proxy role if request do pass through proxy
* @param role originalRole | proxyRole if the request didn't pass through proxy
* @param operation
* @param authData
* @return CompletableFuture<Boolean>
*/
@Deprecated
default CompletableFuture<Boolean> allowNamespacePolicyOperationAsync(NamespaceName namespaceName,
PolicyName policy,
PolicyOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) {
return allowNamespacePolicyOperationAsync(
namespaceName,
policy,
operation,
StringUtils.isBlank(originalRole) ? role : originalRole,
authData
);
}

@Deprecated
default Boolean allowNamespacePolicyOperation(NamespaceName namespaceName,
PolicyName policy,
PolicyOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) {
try {
return allowNamespacePolicyOperationAsync(
namespaceName, policy, operation, originalRole, role, authData).get();
} catch (InterruptedException e) {
throw new RestException(e);
} catch (ExecutionException e) {
throw new RestException(e.getCause());
}
}

/**
* Check if a given <tt>role</tt> is allowed to execute a given topic <tt>operation</tt> on the topic.
*
Expand Down Expand Up @@ -484,44 +350,6 @@ default Boolean allowTopicOperation(TopicName topicName,
}
}

/**
* Grant authorization-action permission on a topic to the given client.
* @param topic
* @param originalRole role not overriden by proxy role if request do pass through proxy
* @param role originalRole | proxyRole if the request didn't pass through proxy
* @param operation
* @param authData
* @return CompletableFuture<Boolean>
*/
@Deprecated
default CompletableFuture<Boolean> allowTopicOperationAsync(TopicName topic,
String originalRole,
String role,
TopicOperation operation,
AuthenticationDataSource authData) {
return allowTopicOperationAsync(
topic,
StringUtils.isBlank(originalRole) ? role : originalRole,
operation,
authData
);
}

@Deprecated
default Boolean allowTopicOperation(TopicName topicName,
String originalRole,
String role,
TopicOperation operation,
AuthenticationDataSource authData) {
try {
return allowTopicOperationAsync(topicName, originalRole, role, operation, authData).get();
} catch (InterruptedException e) {
throw new RestException(e);
} catch (ExecutionException e) {
throw new RestException(e.getCause());
}
}

/**
* Check if a given <tt>role</tt> is allowed to execute a given topic <tt>operation</tt> on topic's <tt>policy</tt>.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
import org.apache.pulsar.broker.PulsarServerException;
import org.apache.pulsar.broker.ServiceConfiguration;
import org.apache.pulsar.broker.authentication.AuthenticationDataSource;
import org.apache.pulsar.broker.cache.ConfigurationCacheService;
import org.apache.pulsar.broker.resources.PulsarResources;
import org.apache.pulsar.common.naming.NamespaceName;
import org.apache.pulsar.common.naming.TopicName;
Expand Down Expand Up @@ -72,9 +71,6 @@ public void initialize(ServiceConfiguration conf, PulsarResources pulsarResource
requireNonNull(pulsarResources, "PulsarResources can't be null");
this.conf = conf;
this.pulsarResources = pulsarResources;

// For compatibility, call the old deprecated initialize
initialize(conf, (ConfigurationCacheService) null);
}

/**
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -121,19 +121,6 @@ public CompletableFuture<Void> grantPermissionAsync(TopicName topicName, Set<Aut
return CompletableFuture.completedFuture(null);
}

@Override
public CompletableFuture<Boolean> allowTenantOperationAsync(String tenantName, String originalRole, String role,
TenantOperation operation,
AuthenticationDataSource authData) {
return roleAuthorizedAsync(role);
}

@Override
public Boolean allowTenantOperation(String tenantName, String originalRole, String role, TenantOperation operation,
AuthenticationDataSource authData) {
return roleAuthorized(role);
}

@Override
public CompletableFuture<Boolean> allowTenantOperationAsync(String tenantName, String role,
TenantOperation operation,
Expand Down Expand Up @@ -164,47 +151,10 @@ public Boolean allowNamespaceOperation(NamespaceName namespaceName,
}


@Override
public CompletableFuture<Boolean> allowNamespaceOperationAsync(NamespaceName namespaceName,
String originalRole,
String role,
NamespaceOperation operation,
AuthenticationDataSource authData) {
return roleAuthorizedAsync(role);
}

@Override
public Boolean allowNamespaceOperation(NamespaceName namespaceName,
String originalRole,
String role,
NamespaceOperation operation,
AuthenticationDataSource authData) {
return roleAuthorized(role);
}

@Override
public CompletableFuture<Boolean> allowNamespacePolicyOperationAsync(NamespaceName namespaceName,
PolicyName policy,
PolicyOperation operation,
String role,
AuthenticationDataSource authData) {
return roleAuthorizedAsync(role);
}

@Override
public Boolean allowNamespacePolicyOperation(NamespaceName namespaceName,
PolicyName policy,
PolicyOperation operation,
String role,
AuthenticationDataSource authData) {
return roleAuthorized(role);
}

@Override
public CompletableFuture<Boolean> allowNamespacePolicyOperationAsync(NamespaceName namespaceName,
PolicyName policy,
PolicyOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) {
return roleAuthorizedAsync(role);
Expand All @@ -214,7 +164,6 @@ public CompletableFuture<Boolean> allowNamespacePolicyOperationAsync(NamespaceNa
public Boolean allowNamespacePolicyOperation(NamespaceName namespaceName,
PolicyName policy,
PolicyOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) {
return roleAuthorized(role);
Expand All @@ -236,24 +185,6 @@ public Boolean allowTopicOperation(TopicName topicName,
return roleAuthorized(role);
}

@Override
public CompletableFuture<Boolean> allowTopicOperationAsync(TopicName topic,
String originalRole,
String role,
TopicOperation operation,
AuthenticationDataSource authData) {
return roleAuthorizedAsync(role);
}

@Override
public Boolean allowTopicOperation(TopicName topicName,
String originalRole,
String role,
TopicOperation operation,
AuthenticationDataSource authData) {
return roleAuthorized(role);
}

CompletableFuture<Boolean> roleAuthorizedAsync(String role) {
CompletableFuture<Boolean> promise = new CompletableFuture<>();
try {
Expand Down
Loading