public class AuthorizationService extends Object
| Constructor and Description |
|---|
AuthorizationService(ServiceConfiguration conf,
ConfigurationCacheService configCache) |
| Modifier and Type | Method and Description |
|---|---|
CompletableFuture<Boolean> |
allowFunctionOpsAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName,
String role,
AuthenticationDataSource authenticationData) |
boolean |
allowNamespaceOperation(org.apache.pulsar.common.naming.NamespaceName namespaceName,
org.apache.pulsar.common.policies.data.NamespaceOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) |
CompletableFuture<Boolean> |
allowNamespaceOperationAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName,
org.apache.pulsar.common.policies.data.NamespaceOperation operation,
String role,
AuthenticationDataSource authData)
Grant authorization-action permission on a namespace to the given client
|
CompletableFuture<Boolean> |
allowNamespaceOperationAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName,
org.apache.pulsar.common.policies.data.NamespaceOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) |
boolean |
allowNamespacePolicyOperation(org.apache.pulsar.common.naming.NamespaceName namespaceName,
org.apache.pulsar.common.policies.data.PolicyName policy,
org.apache.pulsar.common.policies.data.PolicyOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) |
CompletableFuture<Boolean> |
allowNamespacePolicyOperationAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName,
org.apache.pulsar.common.policies.data.PolicyName policy,
org.apache.pulsar.common.policies.data.PolicyOperation operation,
String role,
AuthenticationDataSource authData)
Grant authorization-action permission on a namespace to the given client
|
CompletableFuture<Boolean> |
allowNamespacePolicyOperationAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName,
org.apache.pulsar.common.policies.data.PolicyName policy,
org.apache.pulsar.common.policies.data.PolicyOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) |
CompletableFuture<Boolean> |
allowSinkOpsAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName,
String role,
AuthenticationDataSource authenticationData) |
CompletableFuture<Boolean> |
allowSourceOpsAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName,
String role,
AuthenticationDataSource authenticationData) |
boolean |
allowTenantOperation(String tenantName,
org.apache.pulsar.common.policies.data.TenantOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) |
CompletableFuture<Boolean> |
allowTenantOperationAsync(String tenantName,
org.apache.pulsar.common.policies.data.TenantOperation operation,
String role,
AuthenticationDataSource authData)
Grant authorization-action permission on a tenant to the given client
|
CompletableFuture<Boolean> |
allowTenantOperationAsync(String tenantName,
org.apache.pulsar.common.policies.data.TenantOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) |
Boolean |
allowTopicOperation(org.apache.pulsar.common.naming.TopicName topicName,
org.apache.pulsar.common.policies.data.TopicOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) |
CompletableFuture<Boolean> |
allowTopicOperationAsync(org.apache.pulsar.common.naming.TopicName topicName,
org.apache.pulsar.common.policies.data.TopicOperation operation,
String role,
AuthenticationDataSource authData)
Grant authorization-action permission on a topic to the given client
|
CompletableFuture<Boolean> |
allowTopicOperationAsync(org.apache.pulsar.common.naming.TopicName topicName,
org.apache.pulsar.common.policies.data.TopicOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) |
Boolean |
allowTopicPolicyOperation(org.apache.pulsar.common.naming.TopicName topicName,
org.apache.pulsar.common.policies.data.PolicyName policy,
org.apache.pulsar.common.policies.data.PolicyOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) |
CompletableFuture<Boolean> |
allowTopicPolicyOperationAsync(org.apache.pulsar.common.naming.TopicName topicName,
org.apache.pulsar.common.policies.data.PolicyName policy,
org.apache.pulsar.common.policies.data.PolicyOperation operation,
String role,
AuthenticationDataSource authData)
Grant authorization-action permission on a topic to the given client
|
CompletableFuture<Boolean> |
allowTopicPolicyOperationAsync(org.apache.pulsar.common.naming.TopicName topicName,
org.apache.pulsar.common.policies.data.PolicyName policy,
org.apache.pulsar.common.policies.data.PolicyOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData) |
boolean |
canConsume(org.apache.pulsar.common.naming.TopicName topicName,
String role,
AuthenticationDataSource authenticationData,
String subscription) |
CompletableFuture<Boolean> |
canConsumeAsync(org.apache.pulsar.common.naming.TopicName topicName,
String role,
AuthenticationDataSource authenticationData,
String subscription)
Check if the specified role has permission to receive messages from the specified fully qualified topic name.
|
boolean |
canLookup(org.apache.pulsar.common.naming.TopicName topicName,
String role,
AuthenticationDataSource authenticationData)
Check whether the specified role can perform a lookup for the specified topic.
|
CompletableFuture<Boolean> |
canLookupAsync(org.apache.pulsar.common.naming.TopicName topicName,
String role,
AuthenticationDataSource authenticationData)
Check whether the specified role can perform a lookup for the specified topic.
|
boolean |
canProduce(org.apache.pulsar.common.naming.TopicName topicName,
String role,
AuthenticationDataSource authenticationData) |
CompletableFuture<Boolean> |
canProduceAsync(org.apache.pulsar.common.naming.TopicName topicName,
String role,
AuthenticationDataSource authenticationData)
Check if the specified role has permission to send messages to the specified fully qualified topic name.
|
CompletableFuture<Void> |
grantPermissionAsync(org.apache.pulsar.common.naming.NamespaceName namespace,
Set<org.apache.pulsar.common.policies.data.AuthAction> actions,
String role,
String authDataJson)
Grant authorization-action permission on a namespace to the given client
|
CompletableFuture<Void> |
grantPermissionAsync(org.apache.pulsar.common.naming.TopicName topicname,
Set<org.apache.pulsar.common.policies.data.AuthAction> actions,
String role,
String authDataJson)
Grant authorization-action permission on a topic to the given client
|
CompletableFuture<Void> |
grantSubscriptionPermissionAsync(org.apache.pulsar.common.naming.NamespaceName namespace,
String subscriptionName,
Set<String> roles,
String authDataJson)
Grant permission to roles that can access subscription-admin api
|
CompletableFuture<Boolean> |
isSuperUser(String user,
AuthenticationDataSource authenticationData) |
CompletableFuture<Boolean> |
isTenantAdmin(String tenant,
String role,
org.apache.pulsar.common.policies.data.TenantInfo tenantInfo,
AuthenticationDataSource authenticationData) |
CompletableFuture<Void> |
revokeSubscriptionPermissionAsync(org.apache.pulsar.common.naming.NamespaceName namespace,
String subscriptionName,
String role,
String authDataJson)
Revoke subscription admin-api access for a role
|
public AuthorizationService(ServiceConfiguration conf, ConfigurationCacheService configCache) throws PulsarServerException
PulsarServerExceptionpublic CompletableFuture<Boolean> isSuperUser(String user, AuthenticationDataSource authenticationData)
public CompletableFuture<Boolean> isTenantAdmin(String tenant, String role, org.apache.pulsar.common.policies.data.TenantInfo tenantInfo, AuthenticationDataSource authenticationData)
public CompletableFuture<Void> grantPermissionAsync(org.apache.pulsar.common.naming.NamespaceName namespace, Set<org.apache.pulsar.common.policies.data.AuthAction> actions, String role, String authDataJson)
namespace - actions - role - authDataJson - additional authdata in json for targeted authorization providerIllegalArgumentException - when namespace not foundIllegalStateException - when failed to grant permissionpublic CompletableFuture<Void> grantSubscriptionPermissionAsync(org.apache.pulsar.common.naming.NamespaceName namespace, String subscriptionName, Set<String> roles, String authDataJson)
namespace - subscriptionName - roles - authDataJson - additional authdata in json for targeted authorization providerpublic CompletableFuture<Void> revokeSubscriptionPermissionAsync(org.apache.pulsar.common.naming.NamespaceName namespace, String subscriptionName, String role, String authDataJson)
namespace - subscriptionName - role - public CompletableFuture<Void> grantPermissionAsync(org.apache.pulsar.common.naming.TopicName topicname, Set<org.apache.pulsar.common.policies.data.AuthAction> actions, String role, String authDataJson)
topicname - role - authDataJson - additional authdata in json for targeted authorization providerIllegalStateException - when failed to grant permissionpublic CompletableFuture<Boolean> canProduceAsync(org.apache.pulsar.common.naming.TopicName topicName, String role, AuthenticationDataSource authenticationData)
topicName - the fully qualified topic name associated with the topic.role - the app id used to send messages to the topic.public CompletableFuture<Boolean> canConsumeAsync(org.apache.pulsar.common.naming.TopicName topicName, String role, AuthenticationDataSource authenticationData, String subscription)
topicName - the fully qualified topic name associated with the topic.role - the app id used to receive messages from the topic.subscription - the subscription name defined by the clientpublic boolean canProduce(org.apache.pulsar.common.naming.TopicName topicName,
String role,
AuthenticationDataSource authenticationData)
throws Exception
Exceptionpublic boolean canConsume(org.apache.pulsar.common.naming.TopicName topicName,
String role,
AuthenticationDataSource authenticationData,
String subscription)
throws Exception
Exceptionpublic boolean canLookup(org.apache.pulsar.common.naming.TopicName topicName,
String role,
AuthenticationDataSource authenticationData)
throws Exception
topicName - role - Exceptionpublic CompletableFuture<Boolean> canLookupAsync(org.apache.pulsar.common.naming.TopicName topicName, String role, AuthenticationDataSource authenticationData)
topicName - role - Exceptionpublic CompletableFuture<Boolean> allowFunctionOpsAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName, String role, AuthenticationDataSource authenticationData)
public CompletableFuture<Boolean> allowSourceOpsAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName, String role, AuthenticationDataSource authenticationData)
public CompletableFuture<Boolean> allowSinkOpsAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName, String role, AuthenticationDataSource authenticationData)
public CompletableFuture<Boolean> allowTenantOperationAsync(String tenantName, org.apache.pulsar.common.policies.data.TenantOperation operation, String role, AuthenticationDataSource authData)
tenantName - tenant nameoperation - tenant operationrole - role nameauthData - additional authdata in json for targeted authorization providerIllegalStateException - when failed to grant permissionpublic CompletableFuture<Boolean> allowTenantOperationAsync(String tenantName, org.apache.pulsar.common.policies.data.TenantOperation operation, String originalRole, String role, AuthenticationDataSource authData)
public boolean allowTenantOperation(String tenantName, org.apache.pulsar.common.policies.data.TenantOperation operation, String originalRole, String role, AuthenticationDataSource authData)
public CompletableFuture<Boolean> allowNamespaceOperationAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName, org.apache.pulsar.common.policies.data.NamespaceOperation operation, String role, AuthenticationDataSource authData)
namespaceName - operation - role - authData - additional authdata in json for targeted authorization providerIllegalStateException - when failed to grant permissionpublic CompletableFuture<Boolean> allowNamespaceOperationAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName, org.apache.pulsar.common.policies.data.NamespaceOperation operation, String originalRole, String role, AuthenticationDataSource authData)
public boolean allowNamespaceOperation(org.apache.pulsar.common.naming.NamespaceName namespaceName,
org.apache.pulsar.common.policies.data.NamespaceOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData)
public CompletableFuture<Boolean> allowNamespacePolicyOperationAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName, org.apache.pulsar.common.policies.data.PolicyName policy, org.apache.pulsar.common.policies.data.PolicyOperation operation, String role, AuthenticationDataSource authData)
namespaceName - operation - role - authData - additional authdata in json for targeted authorization providerIllegalStateException - when failed to grant permissionpublic CompletableFuture<Boolean> allowNamespacePolicyOperationAsync(org.apache.pulsar.common.naming.NamespaceName namespaceName, org.apache.pulsar.common.policies.data.PolicyName policy, org.apache.pulsar.common.policies.data.PolicyOperation operation, String originalRole, String role, AuthenticationDataSource authData)
public boolean allowNamespacePolicyOperation(org.apache.pulsar.common.naming.NamespaceName namespaceName,
org.apache.pulsar.common.policies.data.PolicyName policy,
org.apache.pulsar.common.policies.data.PolicyOperation operation,
String originalRole,
String role,
AuthenticationDataSource authData)
public CompletableFuture<Boolean> allowTopicPolicyOperationAsync(org.apache.pulsar.common.naming.TopicName topicName, org.apache.pulsar.common.policies.data.PolicyName policy, org.apache.pulsar.common.policies.data.PolicyOperation operation, String role, AuthenticationDataSource authData)
topicName - policy - operation - role - authData - additional authdata in json for targeted authorization providerIllegalStateException - when failed to grant permissionpublic CompletableFuture<Boolean> allowTopicPolicyOperationAsync(org.apache.pulsar.common.naming.TopicName topicName, org.apache.pulsar.common.policies.data.PolicyName policy, org.apache.pulsar.common.policies.data.PolicyOperation operation, String originalRole, String role, AuthenticationDataSource authData)
public Boolean allowTopicPolicyOperation(org.apache.pulsar.common.naming.TopicName topicName, org.apache.pulsar.common.policies.data.PolicyName policy, org.apache.pulsar.common.policies.data.PolicyOperation operation, String originalRole, String role, AuthenticationDataSource authData)
public CompletableFuture<Boolean> allowTopicOperationAsync(org.apache.pulsar.common.naming.TopicName topicName, org.apache.pulsar.common.policies.data.TopicOperation operation, String role, AuthenticationDataSource authData)
topicName - operation - role - authData - additional authdata in json for targeted authorization providerIllegalStateException - when failed to grant permissionpublic CompletableFuture<Boolean> allowTopicOperationAsync(org.apache.pulsar.common.naming.TopicName topicName, org.apache.pulsar.common.policies.data.TopicOperation operation, String originalRole, String role, AuthenticationDataSource authData)
public Boolean allowTopicOperation(org.apache.pulsar.common.naming.TopicName topicName, org.apache.pulsar.common.policies.data.TopicOperation operation, String originalRole, String role, AuthenticationDataSource authData)
Copyright © 2017–2021 Apache Software Foundation. All rights reserved.