Class MultiTenantAuthorizer
java.lang.Object
io.confluent.security.authorizer.EmbeddedAuthorizer
io.confluent.kafka.security.authorizer.ConfluentServerAuthorizer
io.confluent.kafka.multitenant.authorizer.MultiTenantAuthorizer
- All Implemented Interfaces:
io.confluent.security.authorizer.Authorizer,Closeable,AutoCloseable,org.apache.kafka.common.Configurable,org.apache.kafka.common.Reconfigurable,org.apache.kafka.metadata.authorizer.ClusterMetadataAuthorizer,org.apache.kafka.server.authorizer.Authorizer,org.apache.kafka.server.authorizer.ProviderGetter
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class io.confluent.security.authorizer.EmbeddedAuthorizer
io.confluent.security.authorizer.EmbeddedAuthorizer.AuthorizerMetrics -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionIterable<org.apache.kafka.common.acl.AclBinding> acls(org.apache.kafka.common.acl.AclBindingFilter filter) Iterable<org.apache.kafka.common.acl.AclBinding> acls(org.apache.kafka.common.acl.AclBindingFilter filter, org.apache.kafka.common.acl.AclState aclState) voidapplyAclChanges(Map<org.apache.kafka.common.Uuid, Optional<org.apache.kafka.metadata.authorizer.ConfluentStandardAcl>> aclChanges) List<org.apache.kafka.server.authorizer.AuthorizationResult> authorize(org.apache.kafka.server.authorizer.AuthorizableRequestContext requestContext, List<org.apache.kafka.server.authorizer.Action> actions) io.confluent.security.authorizer.ActionbuildAction(org.apache.kafka.server.authorizer.Action kafkaAction, org.apache.kafka.common.resource.ResourcePattern resourcePattern, org.apache.kafka.common.security.auth.KafkaPrincipal sessionPrincipal, io.confluent.security.authorizer.Scope scope) Optional<org.apache.kafka.server.authorizer.AuthorizerConfig> config()voidvoidconfigureAccessRuleProviders(Map<String, Object> configs) voidconfigureServerInfo(org.apache.kafka.server.authorizer.internals.ConfluentAuthorizerServerInfo serverInfo) List<? extends CompletionStage<org.apache.kafka.server.authorizer.AclCreateResult>> createAcls(org.apache.kafka.server.authorizer.AuthorizableRequestContext requestContext, List<org.apache.kafka.common.acl.AclBinding> aclBindings) List<? extends CompletionStage<org.apache.kafka.server.authorizer.AclCreateResult>> createAcls(org.apache.kafka.server.authorizer.AuthorizableRequestContext requestContext, List<org.apache.kafka.common.acl.AclBinding> aclBindings, Optional<String> clusterId) List<? extends CompletionStage<org.apache.kafka.server.authorizer.AclDeleteResult>> deleteAcls(org.apache.kafka.server.authorizer.AuthorizableRequestContext requestContext, List<org.apache.kafka.common.acl.AclBindingFilter> aclBindingFilters) List<? extends CompletionStage<org.apache.kafka.server.authorizer.AclDeleteResult>> deleteAcls(org.apache.kafka.server.authorizer.AuthorizableRequestContext requestContext, List<org.apache.kafka.common.acl.AclBindingFilter> aclBindingFilters, Optional<String> clusterId, org.apache.kafka.common.acl.AclState aclState) booleanstatic booleanisSuperUser(io.confluent.kafka.multitenant.MultiTenantPrincipal tenantPrincipal, io.confluent.security.authorizer.Action action, boolean authorizationDisabled, boolean enableDataplaneRbacForPKC, boolean oauthSuperUserDisable) voidloadAclSnapshot(Map<org.apache.kafka.common.Uuid, org.apache.kafka.metadata.authorizer.ConfluentStandardAcl> acls) voidreconfigure(Map<String, ?> configs) Methods inherited from class io.confluent.kafka.security.authorizer.ConfluentServerAuthorizer
aclCount, aclMutatorOrException, authorizeByResourceType, completeInitialLoad, completeInitialLoad, setAclMutator, start, validateReconfigurationMethods inherited from class io.confluent.security.authorizer.EmbeddedAuthorizer
accessRuleProvider, accessRuleProviders, auditLogProvider, authorize, clearAuthorizerProvidersMap, close, getRbacGroupProvider, groupProvider, metadataProvider, removeFromAuthorizerProvidersMap, startMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.confluent.security.authorizer.Authorizer
authorize, authorize, authorizeMethods inherited from interface org.apache.kafka.server.authorizer.Authorizer
registerAclUpdateListenerMethods inherited from interface org.apache.kafka.metadata.authorizer.ClusterMetadataAuthorizer
createAcls, createInactiveAcls, hardDeleteAcls, validateCreateAclState, validateDeleteAclState
-
Field Details
-
MAX_ACLS_PER_TENANT_PROP
- See Also:
-
RESOURCE_ID
- See Also:
-
INTEGER_ID
- See Also:
-
-
Constructor Details
-
MultiTenantAuthorizer
public MultiTenantAuthorizer()
-
-
Method Details
-
configureAccessRuleProviders
-
configureServerInfo
public void configureServerInfo(org.apache.kafka.server.authorizer.internals.ConfluentAuthorizerServerInfo serverInfo) - Overrides:
configureServerInfoin classConfluentServerAuthorizer
-
configure
- Specified by:
configurein interfaceorg.apache.kafka.common.Configurable- Overrides:
configurein classConfluentServerAuthorizer
-
reconfigurableConfigs
- Specified by:
reconfigurableConfigsin interfaceorg.apache.kafka.common.Reconfigurable- Overrides:
reconfigurableConfigsin classConfluentServerAuthorizer
-
reconfigure
- Specified by:
reconfigurein interfaceorg.apache.kafka.common.Reconfigurable- Overrides:
reconfigurein classConfluentServerAuthorizer
-
authorize
public List<org.apache.kafka.server.authorizer.AuthorizationResult> authorize(org.apache.kafka.server.authorizer.AuthorizableRequestContext requestContext, List<org.apache.kafka.server.authorizer.Action> actions) - Specified by:
authorizein interfaceorg.apache.kafka.server.authorizer.Authorizer- Overrides:
authorizein classConfluentServerAuthorizer
-
isSuperUser
public static boolean isSuperUser(io.confluent.kafka.multitenant.MultiTenantPrincipal tenantPrincipal, io.confluent.security.authorizer.Action action, boolean authorizationDisabled, boolean enableDataplaneRbacForPKC, boolean oauthSuperUserDisable) -
buildAction
public io.confluent.security.authorizer.Action buildAction(org.apache.kafka.server.authorizer.Action kafkaAction, org.apache.kafka.common.resource.ResourcePattern resourcePattern, org.apache.kafka.common.security.auth.KafkaPrincipal sessionPrincipal, io.confluent.security.authorizer.Scope scope) - Overrides:
buildActionin classConfluentServerAuthorizer
-
createAcls
public List<? extends CompletionStage<org.apache.kafka.server.authorizer.AclCreateResult>> createAcls(org.apache.kafka.server.authorizer.AuthorizableRequestContext requestContext, List<org.apache.kafka.common.acl.AclBinding> aclBindings) - Specified by:
createAclsin interfaceorg.apache.kafka.server.authorizer.Authorizer- Specified by:
createAclsin interfaceorg.apache.kafka.metadata.authorizer.ClusterMetadataAuthorizer- Overrides:
createAclsin classConfluentServerAuthorizer
-
createAcls
public List<? extends CompletionStage<org.apache.kafka.server.authorizer.AclCreateResult>> createAcls(org.apache.kafka.server.authorizer.AuthorizableRequestContext requestContext, List<org.apache.kafka.common.acl.AclBinding> aclBindings, Optional<String> clusterId) - Specified by:
createAclsin interfaceorg.apache.kafka.server.authorizer.Authorizer- Overrides:
createAclsin classConfluentServerAuthorizer
-
deleteAcls
public List<? extends CompletionStage<org.apache.kafka.server.authorizer.AclDeleteResult>> deleteAcls(org.apache.kafka.server.authorizer.AuthorizableRequestContext requestContext, List<org.apache.kafka.common.acl.AclBindingFilter> aclBindingFilters, Optional<String> clusterId, org.apache.kafka.common.acl.AclState aclState) - Specified by:
deleteAclsin interfaceorg.apache.kafka.server.authorizer.Authorizer- Specified by:
deleteAclsin interfaceorg.apache.kafka.metadata.authorizer.ClusterMetadataAuthorizer- Overrides:
deleteAclsin classConfluentServerAuthorizer
-
deleteAcls
public List<? extends CompletionStage<org.apache.kafka.server.authorizer.AclDeleteResult>> deleteAcls(org.apache.kafka.server.authorizer.AuthorizableRequestContext requestContext, List<org.apache.kafka.common.acl.AclBindingFilter> aclBindingFilters) - Specified by:
deleteAclsin interfaceorg.apache.kafka.server.authorizer.Authorizer- Specified by:
deleteAclsin interfaceorg.apache.kafka.metadata.authorizer.ClusterMetadataAuthorizer- Overrides:
deleteAclsin classConfluentServerAuthorizer
-
acls
public Iterable<org.apache.kafka.common.acl.AclBinding> acls(org.apache.kafka.common.acl.AclBindingFilter filter) - Specified by:
aclsin interfaceorg.apache.kafka.server.authorizer.Authorizer- Overrides:
aclsin classConfluentServerAuthorizer
-
acls
public Iterable<org.apache.kafka.common.acl.AclBinding> acls(org.apache.kafka.common.acl.AclBindingFilter filter, org.apache.kafka.common.acl.AclState aclState) - Specified by:
aclsin interfaceorg.apache.kafka.server.authorizer.Authorizer- Overrides:
aclsin classConfluentServerAuthorizer
-
config
-
loadAclSnapshot
public void loadAclSnapshot(Map<org.apache.kafka.common.Uuid, org.apache.kafka.metadata.authorizer.ConfluentStandardAcl> acls) - Specified by:
loadAclSnapshotin interfaceorg.apache.kafka.metadata.authorizer.ClusterMetadataAuthorizer- Overrides:
loadAclSnapshotin classConfluentServerAuthorizer
-
applyAclChanges
public void applyAclChanges(Map<org.apache.kafka.common.Uuid, Optional<org.apache.kafka.metadata.authorizer.ConfluentStandardAcl>> aclChanges) - Specified by:
applyAclChangesin interfaceorg.apache.kafka.metadata.authorizer.ClusterMetadataAuthorizer- Overrides:
applyAclChangesin classConfluentServerAuthorizer
-
isAuditLogEnabled
public boolean isAuditLogEnabled()
-