Class ScopeAccessRuleStore
java.lang.Object
io.confluent.security.auth.store.cache.ScopeAccessRuleStore
- All Implemented Interfaces:
AccessRuleStore
AccessRuleStore to be used only for CP RBAC. It segregates rules on scope -> resourcePattern which is more suited for
CP case.
-
Constructor Summary
ConstructorsConstructorDescriptionScopeAccessRuleStore(Map<io.confluent.security.authorizer.Scope, NavigableMap<io.confluent.security.authorizer.ResourcePattern, Set<io.confluent.security.authorizer.AccessRule>>> accessRules) -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(io.confluent.security.authorizer.Scope scope, org.apache.kafka.common.security.auth.KafkaPrincipal principal, Map<io.confluent.security.authorizer.ResourcePattern, Set<io.confluent.security.authorizer.AccessRule>> rules) voidaddMatchingRules(io.confluent.security.authorizer.provider.ResourceAuthorizeRules matchingRules, io.confluent.security.authorizer.Scope resourceScope, Set<org.apache.kafka.common.security.auth.KafkaPrincipal> principals, String host, io.confluent.security.roledefinitions.Operation operation, io.confluent.security.roledefinitions.ResourceType resourceType) io.confluent.security.authorizer.provider.AuthorizeRulefindMatchingRule(Set<org.apache.kafka.common.security.auth.KafkaPrincipal> matchingPrincipals, String host, io.confluent.security.authorizer.Action action) NavigableMap<io.confluent.security.authorizer.ResourcePattern, Set<io.confluent.security.authorizer.AccessRule>> get(io.confluent.security.authorizer.Scope scope) Set<io.confluent.security.authorizer.Scope> Set<io.confluent.security.authorizer.AccessRule> remove(io.confluent.security.authorizer.Scope scope, io.confluent.security.authorizer.ResourcePattern resourcePattern) voidremoveDeletedAccessRules(io.confluent.security.authorizer.Scope scope, org.apache.kafka.common.security.auth.KafkaPrincipal principal, Map<io.confluent.security.authorizer.ResourcePattern, Set<io.confluent.security.authorizer.AccessRule>> keepRules) longvoidupdate(io.confluent.security.authorizer.Scope scope, io.confluent.security.authorizer.ResourcePattern resourcePattern, Set<io.confluent.security.authorizer.AccessRule> newRules)
-
Constructor Details
-
ScopeAccessRuleStore
public ScopeAccessRuleStore(Map<io.confluent.security.authorizer.Scope, NavigableMap<io.confluent.security.authorizer.ResourcePattern, Set<io.confluent.security.authorizer.AccessRule>>> accessRules) -
ScopeAccessRuleStore
public ScopeAccessRuleStore()
-
-
Method Details
-
knownScopes
- Specified by:
knownScopesin interfaceAccessRuleStore
-
get
public NavigableMap<io.confluent.security.authorizer.ResourcePattern,Set<io.confluent.security.authorizer.AccessRule>> get(io.confluent.security.authorizer.Scope scope) - Specified by:
getin interfaceAccessRuleStore
-
add
public void add(io.confluent.security.authorizer.Scope scope, org.apache.kafka.common.security.auth.KafkaPrincipal principal, Map<io.confluent.security.authorizer.ResourcePattern, Set<io.confluent.security.authorizer.AccessRule>> rules) - Specified by:
addin interfaceAccessRuleStore
-
update
public void update(io.confluent.security.authorizer.Scope scope, io.confluent.security.authorizer.ResourcePattern resourcePattern, Set<io.confluent.security.authorizer.AccessRule> newRules) - Specified by:
updatein interfaceAccessRuleStore
-
remove
public Set<io.confluent.security.authorizer.AccessRule> remove(io.confluent.security.authorizer.Scope scope, io.confluent.security.authorizer.ResourcePattern resourcePattern) - Specified by:
removein interfaceAccessRuleStore
-
findMatchingRule
public io.confluent.security.authorizer.provider.AuthorizeRule findMatchingRule(Set<org.apache.kafka.common.security.auth.KafkaPrincipal> matchingPrincipals, String host, io.confluent.security.authorizer.Action action) - Specified by:
findMatchingRulein interfaceAccessRuleStore
-
addMatchingRules
public void addMatchingRules(io.confluent.security.authorizer.provider.ResourceAuthorizeRules matchingRules, io.confluent.security.authorizer.Scope resourceScope, Set<org.apache.kafka.common.security.auth.KafkaPrincipal> principals, String host, io.confluent.security.roledefinitions.Operation operation, io.confluent.security.roledefinitions.ResourceType resourceType) - Specified by:
addMatchingRulesin interfaceAccessRuleStore
-
ruleCount
public long ruleCount()- Specified by:
ruleCountin interfaceAccessRuleStore
-
removeDeletedAccessRules
public void removeDeletedAccessRules(io.confluent.security.authorizer.Scope scope, org.apache.kafka.common.security.auth.KafkaPrincipal principal, Map<io.confluent.security.authorizer.ResourcePattern, Set<io.confluent.security.authorizer.AccessRule>> keepRules) - Specified by:
removeDeletedAccessRulesin interfaceAccessRuleStore
-