[
https://issues.apache.org/jira/browse/CASSANDRA-21546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18101859#comment-18101859
]
Francisco Guerrero commented on CASSANDRA-21546:
------------------------------------------------
{{IRoleManager}} is an interface and one of the implementations is
{{RoleManager}}. If any other implementation needs to perform some sort of role
initialization, they can do it by using the configured instance of
{{IDefaultRoleInitializer}}.
I do think that we should probably not couple {{IRoleManager}} to
{{IDefaultRoleInitializer}} as they are independent. Some implementations of
{{IRoleManager}} might not need to do any role-initialization at all.
{{RoleManager}} does have a requirement to initialize the default username /
password today. And after the patch you can initialize a default role in a
different way (either role/password with custom role name and password, or mTLS
role).
I've pushed another commit based on this.
> Support pluggable default role initialization (avoid hardcoded superuser
> password)
> ----------------------------------------------------------------------------------
>
> Key: CASSANDRA-21546
> URL: https://issues.apache.org/jira/browse/CASSANDRA-21546
> Project: Apache Cassandra
> Issue Type: Bug
> Reporter: Aparna Naik
> Assignee: Aparna Naik
> Priority: Normal
>
> Cassandra's first-boot bootstrap hardcodes the creation of a cassandra
> superuser role with a default password (cassandra). Every new cluster starts
> with this guessable credential exposed until an operator manually rotates or
> drops it, and deployments that already use mutual TLS have no way to
> bootstrap a superuser identity without also creating this password-based one.
> This ticket will make the default role bootstrap pluggable via a new
> IDefaultRoleInitializer interface and default_role_initializer config option.
> The existing password-based behavior will be the default implementation for
> backward compatibility, and it will add a MutualTlsDefaultRoleInitializer
> that instead maps a client certificate identity to the superuser role, so no
> password credential needs to exist at all.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]