cassandra中的权限问题

und*_*ble 0 cassandra datastax-enterprise

对于 cassandra 中的用户,我使用以下命令获得了权限:

PRICINGUSR@cqlsh:system> LIST ALL PERMISSIONS OF PRICINGUSR;

 username   | resource           | permission
------------+--------------------+------------
 PRICINGUSR | <keyspace pricing> |     CREATE
 PRICINGUSR | <keyspace pricing> |      ALTER
 PRICINGUSR | <keyspace pricing> |       DROP
 PRICINGUSR | <keyspace pricing> |     SELECT
 PRICINGUSR | <keyspace pricing> |     MODIFY
 PRICINGUSR | <keyspace pricing> |  AUTHORIZE
Run Code Online (Sandbox Code Playgroud)

注意:系统密钥空间没有权限。

但是,当我查询系统键空间表中的某些表时,我得到了响应,而另一些则没有。

PRICINGUSR@cqlsh:system> Select * from system.schema_keyspaces limit 1;

 keyspace_name | durable_writes | strategy_class                                       | strategy_options
---------------+----------------+------------------------------------------------------+------------------
        ccw_pd |           True | org.apache.cassandra.locator.NetworkTopologyStrategy |      {"DC1":"3"}

(1 rows)
PRICINGUSR@cqlsh:system> Select * from system.size_estimates limit 1;
Unauthorized: code=2100 [Unauthorized] message="User PRICINGUSR has no SELECT permission on <table system.size_estimates> or any of its parents"
PRICINGUSR@cqlsh:system> Select * from system.schema_usertypes limit 1;

 keyspace_name | type_name | field_names | field_types
---------------+-----------+-------------+-------------

(0 rows)
PRICINGUSR@cqlsh:system>
Run Code Online (Sandbox Code Playgroud)

我正在使用 DSE 4.8.1

mik*_*kea 5

Cassandra 维护了一组READABLE_SYSTEM_RESOURCES无论权限如何都可以读取的数据。这是允许 Cassandra 管理用户资源而不必向每个用户授予权限所必需的。此列表中包含的表是:

  • 系统本地
  • 系统对等点
  • 系统.schema_keyspaces
  • 系统.schema_columnfamilies
  • 系统.schema_columns
  • 系统.schema_triggers
  • 系统.schema_usertypes

以上列表适用于仅在 DSE 4.8 中使用的 Cassandra 2.1