# Package org.apache.cassandra.auth

Interface Summary
AuthCacheMBean
IAuthenticator
IAuthenticator.SaslNegotiator: Performs the actual SASL negotiation for a single authentication attempt.
IAuthorizer: Primary Cassandra authorization interface.
IInternodeAuthenticator
IResource: The interface at the core of Cassandra authorization.
IRoleManager: Responsible for managing roles (which also includes what used to be known as users), including creation, deletion, alteration and the granting and revoking of roles to other roles.
PasswordAuthenticator.CredentialsCacheMBean
PermissionsCacheMBean: Retained since CASSANDRA-7715 for backwards compatibility of MBean interface classes.
RolesCacheMBean: Retained since CASSANDRA-7715 for backwards compatibility of MBean interface classes.

Class Summary
AllowAllAuthenticator
AllowAllAuthorizer
AllowAllInternodeAuthenticator
AuthCache<K,V>
AuthConfig: Only purpose is to Initialize authentication/authorization via `AuthConfig.applyAuth()`.
AuthenticatedUser: Returned from IAuthenticator#authenticate(), represents an authenticated user everywhere internally.
AuthKeyspace
AuthMigrationListener: MigrationListener implementation that cleans up permissions on dropped resources.
CassandraAuthorizer: CassandraAuthorizer is an IAuthorizer implementation that keeps user permissions internally in C* using the system_auth.role_permissions table.
CassandraLoginModule: LoginModule which authenticates a user towards the Cassandra database using the internal authentication mechanism.
CassandraPrincipal: This class implements the `Principal` interface and represents a user.
CassandraRoleManager: Responsible for the creation, maintenance and deletion of roles for the purposes of authentication and authorization.
DataResource: The primary type of resource in Cassandra.
FunctionResource: IResource implementation representing functions.
JMXResource
PasswordAuthenticator: PasswordAuthenticator is an IAuthenticator implementation that keeps credentials (rolenames and bcrypt-hashed passwords) internally in C* - in system_auth.roles CQL3 table.
PermissionDetails: Sets of instances of this class are returned by IAuthorizer.listPermissions() method for LIST PERMISSIONS query.
PermissionsCache
Resources
RoleOptions
RoleResource: IResource implementation representing database roles.
Roles
RolesCache

Enum Summary
IRoleManager.Option: Supported options for CREATE ROLE/ALTER ROLE (and CREATE USER/ALTER USER, which are aliases provided for backwards compatibility).
Permission: An enum encapsulating the set of possible permissions that an authenticated user can have on a resource.