public class RbacProvider
extends java.lang.Object
implements io.confluent.security.authorizer.provider.AccessRuleProvider, io.confluent.security.authorizer.provider.GroupProvider, io.confluent.security.authorizer.provider.MetadataProvider, org.apache.kafka.common.ClusterResourceListener
Constructor and Description |
---|
RbacProvider() |
Modifier and Type | Method and Description |
---|---|
java.util.Set<io.confluent.security.authorizer.AccessRule> |
accessRules(org.apache.kafka.common.security.auth.KafkaPrincipal sessionPrincipal,
java.util.Set<org.apache.kafka.common.security.auth.KafkaPrincipal> groupPrincipals,
io.confluent.security.authorizer.Scope scope,
io.confluent.security.authorizer.ResourcePattern resource) |
AuthStore |
authStore() |
void |
close() |
void |
configure(java.util.Map<java.lang.String,?> configs) |
protected AuthStore |
createAuthStore(io.confluent.security.authorizer.Scope scope,
java.util.Map<java.lang.String,?> configs) |
java.util.Set<org.apache.kafka.common.security.auth.KafkaPrincipal> |
groups(org.apache.kafka.common.security.auth.KafkaPrincipal sessionPrincipal) |
boolean |
isSuperUser(org.apache.kafka.common.security.auth.KafkaPrincipal sessionPrincipal,
java.util.Set<org.apache.kafka.common.security.auth.KafkaPrincipal> groupPrincipals,
io.confluent.security.authorizer.Scope scope) |
boolean |
mayDeny() |
MetadataServer |
metadataServer() |
void |
onUpdate(org.apache.kafka.common.ClusterResource clusterResource) |
boolean |
providerConfigured(java.util.Map<java.lang.String,?> configs)
Brokers running RBAC should be either:
- in the metadata cluster, running MDS.
|
java.lang.String |
providerName() |
java.util.concurrent.CompletionStage<java.lang.Void> |
start(java.util.Map<java.lang.String,?> interBrokerListenerConfigs)
Starts the RBAC provider.
|
boolean |
usesMetadataFromThisKafkaCluster() |
public void onUpdate(org.apache.kafka.common.ClusterResource clusterResource)
onUpdate
in interface org.apache.kafka.common.ClusterResourceListener
public void configure(java.util.Map<java.lang.String,?> configs)
configure
in interface org.apache.kafka.common.Configurable
public java.lang.String providerName()
providerName
in interface io.confluent.security.authorizer.provider.Provider
public boolean providerConfigured(java.util.Map<java.lang.String,?> configs)
providerConfigured
in interface io.confluent.security.authorizer.provider.GroupProvider
providerConfigured
in interface io.confluent.security.authorizer.provider.MetadataProvider
public java.util.concurrent.CompletionStage<java.lang.Void> start(java.util.Map<java.lang.String,?> interBrokerListenerConfigs)
On brokers running metadata service, the start up sequence is:
start
in interface io.confluent.security.authorizer.provider.Provider
public boolean mayDeny()
mayDeny
in interface io.confluent.security.authorizer.provider.AccessRuleProvider
public boolean usesMetadataFromThisKafkaCluster()
usesMetadataFromThisKafkaCluster
in interface io.confluent.security.authorizer.provider.Provider
public boolean isSuperUser(org.apache.kafka.common.security.auth.KafkaPrincipal sessionPrincipal, java.util.Set<org.apache.kafka.common.security.auth.KafkaPrincipal> groupPrincipals, io.confluent.security.authorizer.Scope scope)
isSuperUser
in interface io.confluent.security.authorizer.provider.AccessRuleProvider
public java.util.Set<io.confluent.security.authorizer.AccessRule> accessRules(org.apache.kafka.common.security.auth.KafkaPrincipal sessionPrincipal, java.util.Set<org.apache.kafka.common.security.auth.KafkaPrincipal> groupPrincipals, io.confluent.security.authorizer.Scope scope, io.confluent.security.authorizer.ResourcePattern resource)
accessRules
in interface io.confluent.security.authorizer.provider.AccessRuleProvider
public java.util.Set<org.apache.kafka.common.security.auth.KafkaPrincipal> groups(org.apache.kafka.common.security.auth.KafkaPrincipal sessionPrincipal)
groups
in interface io.confluent.security.authorizer.provider.GroupProvider
public void close()
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
public AuthStore authStore()
public MetadataServer metadataServer()
protected AuthStore createAuthStore(io.confluent.security.authorizer.Scope scope, java.util.Map<java.lang.String,?> configs)