1. 创建管理员用户
db.createUser({ user: "admin", pwd: "123456", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })
这条命令在admin数据库中创建了一个名为admin,密码为123456的用户,并赋予userAdminAnyDatabase角色,使其成为管理员用户。
2. 启用验证
db.adminCommand({ setParameter: 1, authenticationMechanisms: "MONGODB-CR", enableLocalhostAuthBypass: false })
这条命令启用了MONGODB-CR验证机制,并禁用了localhost身份验证绕过,使其需要进行身份验证。
3. 创建只读用户
db.createUser({ user: "readonly", pwd: "123456", roles: [ { role: "read", db: "Report" } ] })
这条命令在Report数据库中创建了一个只读用户readonly,密码为123456。
4. 启用访问控制
use Report db.createRole({ role: "readOnly", privileges: [ { resource: { db: "Report", collection: "" }, actions: [ "find" ] } ], roles: [] })
这条命令创建了一个只读角色readOnly,并授予在Report数据库中进行查询的权限。
5. 为用户分配角色
db.grantRolesToUser("readonly", [{ role: "readOnly", db: "Report" }])
这条命令将readOnly角色分配给readonly用户,使其只能查询Report数据库。
6. 查看用户权限
show users show roles db.getUser("readonly")
这几条命令可以查看创建的用户、角色列表和某个用户的详细权限信息。
以上6个命令可以完成MongoDB主要的安全设置,包括创建管理员用户与只读用户,启用验证与访问控制,创建只读角色并赋予用户,以及查看用户与权限相关信息。
使用这些命令可以最大限度地保障MongoDB数据库的安全性。
© 版权声明
本文刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等部门来源于互联网,版权均归原作者所有!本网站提供的内容服务于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。
联系信息:邮箱aoxolcom@163.com或见网站底部。
联系信息:邮箱aoxolcom@163.com或见网站底部。
THE END
请登录后发表评论
注册
社交帐号登录