2013-03-11 201 views
5

有什麼方法可以限制訪問Cassandra? 在mysql中,用戶需要用戶名和密碼才能獲得訪問權限,其中包括諸如工作臺之類的工具。有沒有這樣的系統,或者CLI和cqlsh工具是否可以訪問Cassandra?Cassandra訪問控制

回答

4

您正在使用哪個版本的Cassandra?

1-更改cassandra.yaml認證器設置爲 PasswordAuthenticator:

authenticator: org.apache.cassandra.auth.PasswordAuthenticator

爲1.2.2和以後,可以作爲文檔( http://www.datastax.com/docs/1.2/security/native_authentication)所述驗證使用PasswordAuthenticator和CassandraAuthorizer

你也想給auhorizer設置爲CassandraAuthorizer:

authorizer: com.datastax.bdp.cassandra.auth.CassandraAuthorizer

2- Configure the replication factor for the system_auth keyspace

3重新啓動Cassandra。

您用來啓動受支持客戶端的默認超級用戶名和密碼(cassandra)存儲在Cassandra中。例如,爲了 開始cqlsh:

./cqlsh -u cassandra -p cassandra

現在,您可以設置用戶帳戶和授權 用戶通過CQL授予對這些對象 他們的權限來訪問數據庫對象。

當然,您需要閱讀關於如何更改超級用戶密碼的信息(在上面的鏈接中)。

一旦你做到了這一點,卡桑德拉-CLI可以調用cqlsh如何在上面的例子:

./cassandra-cli -u username -pw password 

有關概述,您也應該檢查出的文檔:A Quick Tour of Internal Authentication and Authorization Security in DataStax Enterprise and Apache Cassandra

2

這是only resource我發現,是關係到身份驗證:

隨着1.2.2版本中,我們已經完成內部身份驗證和 授權,您可以在其中管理登錄ID和密碼 Cassandra,以及誰可以在 授權(即,權限)角度。

繞來繞去,這花了我:DataStax企業3.0文檔Security management節上http://www.datastax.com/docs

DataStax企業版3.0包括用於固定 數據的多項功能。該安全框架爲企業級數據庫提供高級數據保護。您可以使用這些功能保護DataStax社區或DataStax Enterprise羣集。

使用SSL數據從客戶端去卡桑德拉集羣

DataStax企業提供了額外的安全性使用的登錄賬號和密碼基礎上,GRANT 對象權限管理

內部認證/ REVOKE範式 客戶端節點加密,不包括在 DataStax社區中,用於企業關鍵任務數據:

Kerberos身份驗證:一種網絡身份驗證協議,允許節點通過非安全網絡進行通信,以在安全性證明中證明其身份使用門票的方式。您還可以設置Kerberos以使用LDAP進行身份驗證。

透明數據加密:從系統內存中的memtable刷新到磁盤上的SSTable(靜止數據)的數據編碼爲 對於未經授權的用戶是不可讀的。在沒有用戶干預的情況下發生加密和解密 。

數據審計:管理員創建集羣活動的詳細審計跟蹤的功能。

順便說一句,DataStax Community – Comparative of DataStax Enterprise Edition and DataStax Community Edition說:

DataStax社區版:包含了最新版本的 卡桑德拉數據庫的實時數據管理,加上DataStax的OpsCenter的自由 版本。不支持生產系統。

包括對DataStax社區版:

安全功能一般安全功能

反而比DataStax企業即提到:

安全功能根兒人與先進的安全功能

總之,看一看,因爲1.2.2版本的安全能力得以實施,也許你還沒有在所有支付根據的,你是需要安全的部分。

其他參考: Apache Cassandra 1.2 Documentation - Security section包含有關資源: