mongo資料庫中存在兩種角色,一種是內建角色,另一種是使用者自定義的角色。
1:內建角色
有資料庫上讀寫資料的許可權
集群管理角色(cluster administration roles):
2,使用者自定義的角色(user-defined roles)
內建角色只能控制user在db級別上執行的操作,管理員可以建立自定義角色,控制使用者在集合級別(collection-level)上執行的操作,即,控制user在當前db的特定集合上執行特定的操作。
在建立角色時,必須明確role的四個特性:
2.1 角色作用的範圍(scope)
在admin 資料庫中建立的角色,scope是全域性的,能夠在admin,其他db和集群中使用,並且能夠繼承其他db的role;而在非admin中建立的角色,scope是當前資料庫,只能在當前db中使用,只能繼承當前資料庫的角色。
2.2 許可權的操作(privilege actions)
mongodb的許可權包由:資源(resource)和操作(action)兩部分組成,privilege actions 定義user能夠在資源上執行的操作,例如:mongodb在文件級別(document-level)上執行的讀寫操作(query and write actions)列表是:
3,建立角色
使用db.createrole()在當前db中建立角色,建立的語法示例如下:
use admin在roles陣列中,指定被繼承的role,即,新建的new_role從roles陣列中繼承許可權:db.createrole(
, actions: [ "addshard"] },
, actions: [ "find", "update", "insert", "remove"] },
, actions: [ "update", "insert", "remove"] },
, actions: [ "find"] }
],roles: []},
)
4,自定義角色管理函式
三,管理使用者和許可權
1,建立使用者
use db_name為新建的user,授予乙個或多個角色,通過roles陣列來實現:db.createuser(
, ,
"readwrite"] }
)
2,許可權認證(authenticate)
mongo連線到mongod,有兩種許可權認證的方式:
use db_name3,使用者管理函式db.auth("user_name", "user_pwd" )
mongo使用者許可權,限制訪問
感覺mongo許可權這塊很亂,配置起來很麻煩 在安裝完成後,沒有使用auth啟動,在配置檔案中有bind ip 這個時候bind ip是不起作用的,別的機器依然能遠端訪問 不能使用kill 9 殺掉mongodb程序要使用kill 2 在使用replica set的模式的時候,配置檔案中不要有aut...
使用者 角色 許可權資料庫設計
分類 linux 許可權管理 許可權管理,主要是人員和許可權之間的關係,但是如果讓人員直接和許可權打交道,那麼許可權的賦值 許可權的撤銷以及許可權的變動會非常的麻煩,這樣引入了,角色,給角色賦許可權,然後給使用者分配角色。這個設計主要涉及6張表,使用者表,用於儲存使用者的所有資訊 許可權表,用於儲存...
資料庫建立使用者及許可權
1 在新使用者中建立資料庫 a 新建使用者 進入root賬戶 mysql uroot p 建立新使用者方法有二 第一種 mysql grant all privileges on to username identified by 1234 mysql grant all privileges on...