Users and roles in Yandex StoreDoc
The data in Yandex StoreDoc is handled on behalf of the cluster users. To differentiate user access permissions, the role model is used. To grant any form of access permissions for a database, issue a relevant role for this database to the user.
Database user roles
These are regular roles available to any user database.
read
Users with the read role have the read access to all non-system collections in the database and to the system.js collection.
readWrite
Users with the readWrite role have the write and read access to all non-system collections in the database and to the system.js collection.
mdbDbAdmin
Database administrator role. Grants the user the readWrite role permissions, as well as the permissions required for database administration:
collModplanCacheWriteplanCacheRead- planCacheIndexFilter allows you to use the
planCacheListFilters,planCacheClearFilters, andplanCacheSetFiltercommands. bypassDocumentValidation
Cluster administrator roles
These roles are required for cluster monitoring and administration. They are assigned for the privileged MongoDB admin database.
mdbMonitor
This role is required for collecting statistics and monitoring. It grants the following permissions to the user:
-
Working with the cluster:
connPoolStatsgetLoggetParametergetShardMaphostInfoinproglistDatabaseslistSessionslistShardsnetstatreplSetGetConfigreplSetGetStatusserverStatusshardingStatetop
-
Working with all databases in the cluster:
collStatsdbStatsgetShardVersionindexStatsuseUUID
-
Working with all
system.profilecollections in all databases:find
-
Working with the
system.indexes, andsystem.js,system.namespacescollections of thelocalandconfigdatabases:collStatsdbHashdbStatsfindkillCursorslistCollectionslistIndexesplanCacheRead
mdbShardingManager
This role is used for managing cluster sharding. It grants the following permissions to the user:
-
Working with the
admindatabase:viewRole
-
Working with any resource in the cluster:
enableShardingflushRouterConfiggetShardVersiongetShardMapshardingStatemoveChunksplitChunksplitVector
-
Working with the
configdatabase:find