# Package org.apache.cassandra.auth

Interface Summary
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.
PermissionsCacheMBean
RolesCacheMBean

Class Summary
AllowAllAuthenticator
AllowAllAuthorizer
AllowAllInternodeAuthenticator
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.
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.
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.