Cassandra 卡桑德拉(CQL)角色管理器禁用

Cassandra 卡桑德拉(CQL)角色管理器禁用,cassandra,roles,Cassandra,Roles,我目前正在为Cassandra使用以下配置: authenticator: PasswordAuthenticator authorizer: org.apache.cassandra.auth.CassandraAuthorizer 我的问题是:如何禁用角色管理以使用正常的CQL system.permissions 整体禁用角色的原因是,在roleManagement处于活动状态时,我无法使用“创建新用户”: user@cqlsh> create user testuser w

我目前正在为Cassandra使用以下配置:

 authenticator: PasswordAuthenticator
 authorizer: org.apache.cassandra.auth.CassandraAuthorizer
我的问题是:如何禁用角色管理以使用正常的CQL system.permissions

整体禁用角色的原因是,在roleManagement处于活动状态时,我无法使用“创建新用户”:

 user@cqlsh> create user testuser with password '123';
 InvalidRequest: code=2200 [Invalid query] message="org.apache.cassandra.auth.CassandraRoleManager doesn't support PASSWORD"

我也遇到了同样的问题。我修改了
cassandra.yaml
文件如下:

authenticator: org.apache.cassandra.auth.PasswordAuthenticator
authorizer: org.apache.cassandra.auth.CassandraAuthorizer
然后重新启动节点。这对我有用


您还可以检查

您使用的是哪个验证器?从文档中可以看出,iAuthenticator不支持使用密码,但PasswordAuthenticator应(无论使用RoleManager如何)“替代iAuthenticator实现可与CassandraRoleManager结合使用,但在CREATE/ALTER ROLE语句中不支持PASSWORD='PASSWORD'目前我在配置中使用PasswordAuthenticator和CassandraAuthorizer。而在一台服务器上,关于创建用户的一切都很正常。有问题的服务器使用其他角色表,如system_auth.roles。而我的另一台服务器没有(完全相同的yaml配置文件),并且没有任何问题,例如使用密码创建用户。对不起,missed肯定错过了问题中有关身份验证器的部分。查看要添加角色的JIRA,--看起来CREATE USER是CREATE ROLE命令的别名。您可以尝试使用命令“createroletestuser with PASSWORD'123'NOSUPERUSER LOGIN”。看看是否会出现同样的错误。谢谢你的回复。我试过:user@cqlsh>创建密码为“123”且超级用户为true的角色testuser;InvalidRequest:code=2200[Invalid query]message=“org.apache.cassandra.auth.CassandraRoleManager不支持密码”它几乎给人一种锁定的感觉。恐怕不能创建用户,超级管理员不能在不创建新超级用户的情况下删除自己的角色。我甚至手动删除了磁盘上的所有角色表,但没有用。