Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Operability
-
Low Hanging Fruit
-
All
-
None
-
Description
The implementation of custom authentication / authorization can be achieved by implementing IAuthenticator, IAuthorizer, IRoleManager, and other interfaces and configured in cassandra.yaml.
IAuthenticator implementations, for instance, can additionally read extra configuration parameters via a map of strings defined in cassandra.yaml.
Examples of valid configurations are:
authenticator: com.example.auth.CustomAuthenticator
or
authenticator: class_name : com.example.auth.CustomAuthenticator parameters : param1 : value1 param2 : value2
This enables a C* admin to conveniently define and parameterize it's own custom Authenticator directly in cassandra.yaml.
This parameterization is currently enabled for Authenticator and CIDRAuthorizer implementations only and is missing for Authorizer, RoleManager, and NetworkAuthorizer.
To enable a C* admin to set and parameterize custom authentication/authorization implementations we should enable parametrization of all Authorizer, RoleManager, and NetworkAuthorizer implementations. This can be achieved by instantiating all auth-related implementations via ParameterizedClass.
From an user point of view, configuring existent authenticators/authorizators will have no visible changes.
Attachments
Attachments
Issue Links
- is related to
-
CASSANDRA-20002 Add latest test config for dynamic_remote batchlog_endpoint_strategy and new auth parameterizedClass maps
- Resolved
- links to