1. 创建一个管理员用户
在开始授权之前,您须要创建一个管理员用户。这个用户将有所有的数据库和凑集的访问权限,并且可以创建和管理其他用户。
要创建管理员用户,请利用 MongoDB shell 或 MongoDB Compass 进行以下操作:

a. 利用 MongoDB shell:
```
db.createUser({
user: "adminUser",
pwd: "adminPassword",
roles: [
{
role: "root",
db: "admin"
}
]
})
```
b. 利用 MongoDB Compass:
1. 打开 MongoDB Compass 并连接到您的 MongoDB 数据库。
2. 选择您的数据库并单击“Security”选项卡。
3. 单击“Add New User”按钮并输入用户名和密码。
4. 选择“Database Administrator”角色并单击“Add Role”按钮。
2. 创建其他用户
创建其他用户并付与他们所需的访问权限。这可以帮助您掌握数据库和凑集的访问,并确保数据的安全性和保密性。
要创建其他用户,请利用 MongoDB shell 或 MongoDB Compass 进行以下操作:
a. 利用 MongoDB shell:
```
db.createUser({
user: "user1",
pwd: "user1Password",
roles: [
{
role: "readWrite",
db: "myDatabase"
}
]
})
```
b. 利用 MongoDB Compass:
1. 打开 MongoDB Compass 并连接到您的 MongoDB 数据库。
2. 选择您的数据库并单击“Security”选项卡。
3. 单击“Add New User”按钮并输入用户名和密码。
4. 选择“Read Write”角色并单击“Add Role”按钮。
3. 付与特定的数据库和凑集访问权限
您可以为特定的数据库和凑集付与特定的访问权限,这可以帮助您掌握数据的访问并确保数据的安全性和保密性。
要付与特定的数据库和凑集访问权限,请利用 MongoDB shell 或 MongoDB Compass 进行以下操作:
a. 利用 MongoDB shell:
```
db.myDatabase.createUser({
user: "user1",
pwd: "user1Password",
roles: [
{
role: "readWrite",
db: "myDatabase"
}
]
})
```
b. 利用 MongoDB Compass:
1. 打开 MongoDB Compass 并连接到您的 MongoDB 数据库。
2. 选择您的数据库并单击“Security”选项卡。
3. 单击“Add New User”按钮并输入用户名和密码。
4. 选择“Read Write”角色并单击“Add Role”按钮。
5. 选择“myDatabase”数据库并单击“Add Role”按钮。
4. 限定网络访问
您可以限定网络访问并确保只有来自受信赖网络的要求才能访问您的 MongoDB 数据库。
要限定网络访问,请利用 MongoDB shell 或 MongoDB Compass 进行以下操作:
a. 利用 MongoDB shell:
```
db.adminCommand({
setParameter: 1,
net: {
bindIp: "192.168.1.100"
}
})
```
b. 利用 MongoDB Compass:
1. 打开 MongoDB Compass 并连接到您的 MongoDB 数据库。
2. 选择“Security”选项卡并单击“Network Access”选项卡。
3. 选择“Bind IP”并输入受信赖网络的 IP 地址。
5. 利用 SSL/TLS 加密
您可以利用 SSL/TLS 加密来保护数据库和凑集的数据和通信。
要利用 SSL/TLS 加密,请利用 MongoDB shell 或 MongoDB Compass 进行以下操作:
a. 利用 MongoDB shell:
```
db.adminCommand({
setParameter: 1,
security: {
authorization: "enabled",
network: {
auth: "scram-sha-1",
ssl: "required"
}
}
})
```
b. 利用 MongoDB Compass:
1. 打开 MongoDB Compass 并连接到您的 MongoDB 数据库。
2. 选择“Security”选项卡并单击“SSL/TLS”选项卡。
3. 选择“Required”并输入 SSL/TLS 证书和密钥文件的路径。
6. 利用 MongoDB 的 Auditing 功能
MongoDB 供应了 Auditing 功能,它可以帮助您追踪数据库和凑集的访问和操作。
要利用 MongoDB 的 Auditing 功能,请利用 MongoDB shell 或 MongoDB Compass 进行以下操作:
a. 利用 MongoDB shell:
```
db.enableAuditing({
database: "myDatabase",
actions: [
"insert",
"update",
"delete"
]
})
```
b. 利用 MongoDB Compass:
1. 打开 MongoDB Compass 并连接到您的 MongoDB 数据库。
2. 选择“Security”选项卡并单击“Auditing”选项卡。
3. 选择“myDatabase”数据库并单击“Add Audit Definition”按钮。
4. 选择“Insert”, “Update”, “Delete”操作并单击“Add Action”按钮。
7. 利用 MongoDB 的 Access Control List (ACL) 功能
MongoDB 供应了 Access Control List (ACL) 功能,它可以帮助您掌握数据库和凑集的访问并确保数据的安全性和保密性。
要利用 MongoDB 的 Access Control List (ACL) 功能,请利用 MongoDB shell 或 MongoDB Compass 进行以下操作:
a. 利用 MongoDB shell:
```
db.myDatabase.createACL({
resource: {
db: "myDatabase",
coll: "myCollection"
},
actions: [
"find",
"update"
],
roles: [
{
role: "readWrite",
db: "myDatabase",
users: [
{
user: "user1",
db: "myDatabase"
}
]
}
]
})
```
b. 利用 MongoDB Compass:
1. 打开 MongoDB Compass 并连接到您的 MongoDB 数据库。
2. 选择“Security”选项卡并单击“Access Control”选项卡。
3. 选择“myDatabase”数据库并单击“Add ACL”按钮。
4. 选择“myCollection”凑集并单击“Add ACL”按钮。
5. 选择“find”, “update”操作并单击“Add Action”按钮。
6. 选择“readWrite”角色并单击“Add Role”按钮。
7. 选择“user1”用户并单击“Add User”按钮。
总结:
MongoDB 授权是保护数据和系统资源的关键步骤。在本文中,我们谈论了 MongoDB 授权的七个步骤,帮助您保护数据并确保系统的安全性。这些步骤包括创建管理员用户、创建其他用户、付与特定的数据库和凑集访问权限、限定网络访问、利用 SSL/TLS 加密、利用 MongoDB 的 Auditing 功能和利用 MongoDB 的 Access Control List (ACL) 功能。通过遵照这些步骤,您可以确保数据的安全性和保密性,并帮助保护您的 MongoDB 数据库和凑集。