mongodb-manual-3.0.1 6.1-6.2
2015-05-25 14:43
309 查看
6.1
6.1.1认证
在访问系统之前,所有客户端都需要被认证。这样才能确保在没有被明确允许的情况下,客户端不能访问mongodb中的数据。
mongodb主要支持两种认证机制:1.基于用户名密码的认证机制。2.X.509(SSL)认证。企业版额外支持两种认证:1.LDAP 2.KERBEROS
6.1.2基于角色的访问控制
访问控制例如 授权,决定了一个用户所能访问的资源和所能执行的操作。mongodb默认不打开授权功能。如果打开的话,它将对所有用户起作用。
6.2
6.2.1
当你要添加一个用户时,必须在指定的数据库中创建这个用户。这个数据库将唯一的验证这个用户名。按照上面所说,如果两个用户有同样的名字但是被分别创建在两个数据库中的,那么这其实是两个不同的用户。所以当你登陆时必须指定一个数据库。
mongodb提供了db.createUser()和其它一些函数来添加和管理用户信息。
mongodb把所有用户的信息例如:用户名,密码,用户所对应的数据库,都存放在了admin库的system.users Collection中。(重要)
在mongodb 3.0版本之后 使用scram-sha-1作为默认的安全认证机制。 这里就不介绍 scram-sha-1了 大家如果需要的话自己去看吧~~
localhost Exception(本地例外情况)
本地例外情况允许你首先打开授权功能,然后再创建第一个用户。但是这是有条件的,条件就是在mongodb的实例中没有用户。
当你打算使用localhost Exception在一个新的mongodb实例中时,你必须在admin数据库中创建第一个用户,而且还要给这个用户赋于创建其他用户的权力。
6.2.2
mongodb使用基于角色的访问控制方法来管理对mongodb的访问。一个用户可以被赋于一个或多个角色,这些角色就决定了用户对数据库中资源的访问和对相应资源的操作。
mongodb提供了许多内建角色,这些内建角色都可以被用于一些特定的场景。
管理员也可以创建新的角色和权限来满足操作的需要。管理员可以分配collection粒度的权限。
一个用户可以被授于多个角色,他最后得到的权限是这个几个角色权限的和(并集)。
一个角色的权限被应用于包含它的数据库(在哪个数据库创建这个角色,这个角色的权限就适用于这个数据库),如果在admin库中创建一个角色的话,那么这个角色将适用于所有database 和cluster.
一个用户可以同时被赋于不同数据库的不同角色。
通过在一个特定数据库中指定一个特定的collection,来实现collection级别的权限控制。
mongodb把用户的证书保存在admin.system.users中。
Role Assignment To Users
mongodb把一个用户的作用域限制在创建他的database中。而把所有用户的定义都存放在admin database中的system.users.collection中。不建议直接访问这个collection,而是使用管理命令来进行访问。
第一个被创建的用户应该被赋于userAdmin或者userAdminAnyDatabase权限。这个用户可以创建所有用户。
Protect the User and Role Collections;
Mongodb保存所有角色信息和用户信息在admin.system.roles和admin.system.users collection中,这个两个collection只能使用user mangement 进行访问(不知道是否进行了硬性控制)
如果关闭了访问控制功能,最好还要使用普通的insert()和update()函数进行修改。
6.3.3
mongodb实现了collection级别的访问控制。
如下例子,给用户定义一个角色并包含一些权限:
privileges:[{resource:{db:"products",collection:"inventory"},actions:["find","update","insert"]},
{resource:{db:"products",collection:"orders"},actions:["find"]}]
Enable Authentication after Creating the User Administrator
打开mongodb的认证功能过程中,你首先要创建第一个用户,这个用户可以必须是一个管理员用户,然后打开认证功能(应该是首先创建一个管理员用户,然后再打开认证功能)。这个过程需要重新启动数据库实例,如果不想重启,则可以首先打开访问控制功能,然后创建管理用户。
步骤1:打开数据库
mongod ---port 27017 --dbpath /data/db1
步骤2:创建数据库管理员,这个管理员的权限只能是userAdminAnyDatabase.
use admin
db.createUser(
{
user:"siteUserAdmin",
pwd:"password",
roles:[{role:"userAdminAnyDatabase",db:"admin"}]
}
)
步骤3:以打开认证的方式 重启mongodb实例
mongod --auth --config /etc/mongodb/mongodb.conf
步骤4:创建其它用户
6.1.1认证
在访问系统之前,所有客户端都需要被认证。这样才能确保在没有被明确允许的情况下,客户端不能访问mongodb中的数据。
mongodb主要支持两种认证机制:1.基于用户名密码的认证机制。2.X.509(SSL)认证。企业版额外支持两种认证:1.LDAP 2.KERBEROS
6.1.2基于角色的访问控制
访问控制例如 授权,决定了一个用户所能访问的资源和所能执行的操作。mongodb默认不打开授权功能。如果打开的话,它将对所有用户起作用。
6.2
6.2.1
当你要添加一个用户时,必须在指定的数据库中创建这个用户。这个数据库将唯一的验证这个用户名。按照上面所说,如果两个用户有同样的名字但是被分别创建在两个数据库中的,那么这其实是两个不同的用户。所以当你登陆时必须指定一个数据库。
mongodb提供了db.createUser()和其它一些函数来添加和管理用户信息。
mongodb把所有用户的信息例如:用户名,密码,用户所对应的数据库,都存放在了admin库的system.users Collection中。(重要)
在mongodb 3.0版本之后 使用scram-sha-1作为默认的安全认证机制。 这里就不介绍 scram-sha-1了 大家如果需要的话自己去看吧~~
localhost Exception(本地例外情况)
本地例外情况允许你首先打开授权功能,然后再创建第一个用户。但是这是有条件的,条件就是在mongodb的实例中没有用户。
当你打算使用localhost Exception在一个新的mongodb实例中时,你必须在admin数据库中创建第一个用户,而且还要给这个用户赋于创建其他用户的权力。
6.2.2
mongodb使用基于角色的访问控制方法来管理对mongodb的访问。一个用户可以被赋于一个或多个角色,这些角色就决定了用户对数据库中资源的访问和对相应资源的操作。
mongodb提供了许多内建角色,这些内建角色都可以被用于一些特定的场景。
管理员也可以创建新的角色和权限来满足操作的需要。管理员可以分配collection粒度的权限。
一个用户可以被授于多个角色,他最后得到的权限是这个几个角色权限的和(并集)。
一个角色的权限被应用于包含它的数据库(在哪个数据库创建这个角色,这个角色的权限就适用于这个数据库),如果在admin库中创建一个角色的话,那么这个角色将适用于所有database 和cluster.
一个用户可以同时被赋于不同数据库的不同角色。
通过在一个特定数据库中指定一个特定的collection,来实现collection级别的权限控制。
mongodb把用户的证书保存在admin.system.users中。
Role Assignment To Users
mongodb把一个用户的作用域限制在创建他的database中。而把所有用户的定义都存放在admin database中的system.users.collection中。不建议直接访问这个collection,而是使用管理命令来进行访问。
第一个被创建的用户应该被赋于userAdmin或者userAdminAnyDatabase权限。这个用户可以创建所有用户。
Protect the User and Role Collections;
Mongodb保存所有角色信息和用户信息在admin.system.roles和admin.system.users collection中,这个两个collection只能使用user mangement 进行访问(不知道是否进行了硬性控制)
如果关闭了访问控制功能,最好还要使用普通的insert()和update()函数进行修改。
6.3.3
mongodb实现了collection级别的访问控制。
如下例子,给用户定义一个角色并包含一些权限:
privileges:[{resource:{db:"products",collection:"inventory"},actions:["find","update","insert"]},
{resource:{db:"products",collection:"orders"},actions:["find"]}]
Enable Authentication after Creating the User Administrator
打开mongodb的认证功能过程中,你首先要创建第一个用户,这个用户可以必须是一个管理员用户,然后打开认证功能(应该是首先创建一个管理员用户,然后再打开认证功能)。这个过程需要重新启动数据库实例,如果不想重启,则可以首先打开访问控制功能,然后创建管理用户。
步骤1:打开数据库
mongod ---port 27017 --dbpath /data/db1
步骤2:创建数据库管理员,这个管理员的权限只能是userAdminAnyDatabase.
use admin
db.createUser(
{
user:"siteUserAdmin",
pwd:"password",
roles:[{role:"userAdminAnyDatabase",db:"admin"}]
}
)
步骤3:以打开认证的方式 重启mongodb实例
mongod --auth --config /etc/mongodb/mongodb.conf
步骤4:创建其它用户
相关文章推荐
- mongodb-manual-3.0.1 Indexes
- https://docs.mongodb.org/manual/reference/operator/aggregation/unwind/#examples
- MongoDB-Manual-Master 读书笔记-CRUD操作
- 6.2/6.1/6.0 DELL引导光盘安装2003指南
- 【系统应用】Rhel6.1/6.2 去除无效或者缺失授权证书
- mongodb-manual-3.0.0 indexes2
- 从CentOS 6.0/6.1/6.2/6.3/6.4 升级到CentOS 6.5
- win8安装oracle 11g 报错 要求的结果: 5.0,5.1,5.2,6.0 6.1 之一 实际结果: 6.2 .
- 红帽子Red Hat Enterprise Linux 6.1/6.2/6.3/6.4问题集锦
- 回顾大一·C语言编程6.1(2)+6.2(1)(2)(3)
- Win8.1安装Oracle 10g 控制台报错:要求的结果: 5.0,5.1,5.2,6.0,6.1 实际结果6.2 和 安装haiy提示“程序异常终止”的解决方案
- 6.1-6.2
- centos6.6下安装MongoDB3.0.1
- MongoDB(3.0.2)在centos6.2(64位)下安装
- sonarQube6.1 升级至6.2
- [转]用IDA 6.2导出的idc增强IDA 6.1的分析
- Mongodb --- Manual sharding
- CentOS6.2 下载安装配置 Mongodb3.0.4
- 6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 xz压缩工具
- 18.3.8(2)第六周 抽象与接口 6.1抽象+6.2数据与表现分离:细胞自动机