• mongodb 角色总结


     
     
    数据库用户角色有:
    read
    readWrite
     
    数据库管理员角色有:
    dbAdmin
    dbOwner (包含 dbAdmin,readWrite,userAdmin)
    userAdmin
     
    群集管理员角色有:
    clusterAdmin (包含 clusterManager,clusterMonitor,hostManager)
    clusterManager
    clusterMonitor
    hostManager
     
    所有的数据库角色有:
    readAnyDatabase
    readWriterAnyDatabase
    userAdminAnyDatabase
    dbAdminAnyDatabase
     
    超级用户角色
    root(包含 readWriteAnyDatabase,dbAdminAnyDatabase,userAdminAnyDatabase,clusterAdmin)
     
    内置角色(Built-in  Roles)
     
     
    数据库角色 
    read:
    可以访问非系统级别的所有collections的数据;
    也可以读取 system.indexes     system.js    system.namespaces 集合中的数据;
    允许调用下列功能:
    collStats
    dbHash
    dbStats
    find
    killCursors
    listIndexes
    listCollections
     
    readWrite:
    可以调用读所有集合的功能,不能写系统级的集合除 system.js
    允许调用下列功能:
    collStats
    convertToCapped
    createCollection
    dbHash
    dbStats
    dropCollection
    createIndex
    dropIndex
    find
    emptycapped
    insert
    killCurrsors
    listIndexes
    listCollections
    remove
    renameCollectionSameDB
    update
     
    数据库管理员角色
    dbAdmin
    1、可以在 system.indexes, system.namespaces, system.profile 集合上的下列操作:
    collStats
    dbHash
    dbStats
    find
    killCursors
    listIndexes
    listCollections
    dropCollection and createCollection on system.profile   only
     
    2、可以在非系统级集合上调用以下操作:
    collMod
    collStats
    compact
    convertToCapped
    createCollection
    createIndex
    dbStats
    dropCollection
    dropDatabase
    dropIndex
    enableProfiler
    indexStats
    reIndex
    renameCollectionSameDB
    repairDatabase
    storageDetails
    validate
     
    3、dbAdmin角色不可全部访问系统级集合
     
    userAdmin
    该数据库管理员角色  提供 在当前数据库中 创建、修改 角色和用户账号的能力。
    拥有该角色的用户可以给其他用户授予任何权限(包括userAdmin角色),这样就会间接导致超级用户的产生;
    提供下列功能:
    changeCustomData
    changePassword
    createRole
    createUser
    dropRole
    dropUser
    grantRole
    revokeRole
    viewRole
    viewUser
     
    dbOwner
    该数据库管理员角色 具有 readWrite ,dbAdmin userAdmin 的所有角色
     
    集群(复制集)管理员角色
     
    clusterAdmin
    该角色包含:clusterManager、clusterMonitor、hostManager和 dropDatabase
     
    clusterManager
    可以访问 local 和config 数据库
    addShard
    applicationMessage
    cleanupOrphaned
    flushRouterConfig
    listShards
    removeShard
    replSetConfigure
    replSetGetStatus
    replSetStateChange
    resync
    enableSharding
    moveChunk
    splitChunk
    splitVector
    可以对 config 数据库执行
    insert
    remove
    update
    collStats
    dbHash
    find
    killCursors
     
     
     
    clusterMonitor
    db.createUser({user:"mmsUser",pwd:"mmsUser@2016",roles:["clusterMonitor"]})
     
    connPollStats
    cursorInfo
    getCmdLineOpts
    getLog
    getParameter
    getShardMap
    hostInfo
    inprog
    listDatabases
    lisstShards
    netstat
    replSetGetStatus
    serverStatus
    shardingState
    top
    collStats
    dbStats
    getShardVersion
    在sharding的config 上提供
    collStats
    dbHash
    dbStats
    find
    killCursors
     
     
     
    hostManager
    applicationMessage
    closeAllDatabases
    connPoolSync
    cpuProfiler
    diagLogging
    flushRouterConfig
    fsync
    invalidateUserCache
    killop
    logRotate
    resync
    setParameter
    showdown
    touch
    unlock
     
     
    所有数据库角色 All-Database Roles
     
    readAnyDatabase
    在集群的所有数据库上  提供与 read角色相同的权限 ,同时提供 listDatabases 命令权限
     
    readWriteAnyDatabase
    在集群的所有数据库上  提供与 readWrite 角色相同的权限 ,同时提供 listDatabases 命令权限
     
    userAdminAnyDatabase
    在集群中的所有数据库上  提供和 userAdmin角色相同的权限,除此外还提供一下权限
    authSchemaUpgrade
    invalidateUserCache
    listDatabases
    该角色还提供在  admin数据库的 system.users   and   system.roles 上下列执行权限
    collStats
    dbHash
    dbStats
    find
    killCursors
    planCacheRead
    createIndex
    dropIndex
     
    dbAdminAnyDatabase
    在集群的所有数据库上  提供与 dbAdmin角色相同的权限 ,同时提供 listDatabases 命令权限
     
     
    超级用户角色 Superuser Roles
     
    root
     
     
    可以运行 rolesInfo 命令来查询 某个角色在指定的数据库上具有的详细权限
    db.runCommand({rolesInfo:{role:"dbAdmin",db:"dbName"}.showPrivileges:true})
    亦或
    db.runCommand({rolesInfo:[{role:"roleName",db:"dbName01"},{role:"roleName02",db:"dbName02"}],showPrivileges:true})
     
    查看所有用户自定义角色和系统内置角色
    db.runCommand({rolesInfo:1,showBuiltinRoles:true})
     
    查看所有用户自定义角色
    db.runCommand(rolesInfo:1,showPrivileges:true)
     
     
     
     
     
     
     
     
  • 相关阅读:
    506. Relative Ranks
    504. Base 7
    503. Next Greater Element II
    501. Find Mode in Binary Search Tree
    500. Keyboard Row
    1268. Search Suggestions System
    原生 JavaScript 代替 jQuery【转】
    TP5 Request 请求对象【转】
    tp5中使用原生sql查询总结【转】
    成功安装mysql后,为何服务管理器里找不到MYSQL服务名【转】
  • 原文地址:https://www.cnblogs.com/zhaowenzhong/p/5667271.html
Copyright © 2020-2023  润新知