mongo資料庫使用者許可權(二)

2021-08-11 12:25:23 字數 1341 閱讀 2688

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

db.createrole(

, actions: [ "addshard"] },

, actions: [ "find", "update", "insert", "remove"] },

, actions: [ "update", "insert", "remove"] },

, actions: [ "find"] }

],roles: []},

)

在roles陣列中,指定被繼承的role,即,新建的new_role從roles陣列中繼承許可權:

4,自定義角色管理函式

三,管理使用者和許可權

1,建立使用者

use db_name

db.createuser(

, ,

"readwrite"] }

)

為新建的user,授予乙個或多個角色,通過roles陣列來實現:

2,許可權認證(authenticate)

mongo連線到mongod,有兩種許可權認證的方式:

use db_name

db.auth("user_name", "user_pwd" )

3,使用者管理函式

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...