【问题标题】:DSE 5.1 CASSANDRA 5.11 NOT ABLE TO CREATE roles for internal modeDSE 5.1 CASSANDRA 5.11 不能为内部模式创建角色
【发布时间】:2018-01-09 18:02:02
【问题描述】:

我有 1 个节点 cassandra 集群。我需要的是创建一个用户并为其添加一些角色。我已经完成了以下 datastax 示例:

CREATE KEYSPACE warehouse WITH REPLICATION = {'class':'SimpleStrategy', 
'replication_factor':1};

USE warehouse;

CREATE TABLE addresses (
customer_id bigint,
address_id int,
address text,
PRIMARY KEY (customer_id, address_id)
);

CREATE ROLE supervisor;
GRANT SELECT ON warehouse.addresses TO supervisor;
CREATE ROLE pam WITH PASSWORD = 'password' AND LOGIN = true;
GRANT supervisor TO pam;

所以用户 Pam 只能从仓库地址中读取。但是,当我使用 pam 登录并从不同于warehouse.addresses 的 keyspace1.table 中选择数据时,会提供数据:

cqlsh xxx.x.xx.xx -u pam -p password
pam@cqlsh> select from keyspace1.table 1 where id= 1

Pam 能够在每个键空间中做任何事情,她是超级用户,我不明白为什么。当我列出 pam 的所有角色和权限时,一切都是正确的,超级用户是错误的。

我在 dse.yaml 中改变的是:

authentication_options:
   enabled: true
   default_scheme: internal
   allow_digest_with_kerberos: false
   plain_text_without_ssl: warn
   transitional_mode: disabled
   other_schemes:
   scheme_permissions: false

role_management_options:
   mode: internal

authorization_options:
   enabled: true
   transitional_mode: normal
   allow_row_level_security: true

cassandra.yaml:

authenticator: com.datastax.bdp.cassandra.auth.DseAuthenticator
authorizer: com.datastax.bdp.cassandra.auth.DseAuthorizer
role_manager: com.datastax.bdp.cassandra.auth.DseRoleManager

【问题讨论】:

    标签: authentication cassandra role


    【解决方案1】:

    更新 yaml 文件后,是否重启了 DSE?

    【讨论】:

    • 是的。首先我更新了 yaml 文件,然后重新启动 dse 服务,然后创建角色
    【解决方案2】:

    在 dse.yaml 中的 authentication_options 和 authentication_options 中将 transitional_mode 配置为 'strict' 并重新启动您的节点

    【讨论】:

      猜你喜欢
      • 2018-04-03
      • 2019-03-01
      • 2022-01-06
      • 2017-05-16
      • 2019-06-26
      • 2019-06-08
      • 1970-01-01
      • 2016-08-24
      • 2016-02-26
      相关资源
      最近更新 更多