Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 7537|Відповідь: 1

Таблиця ролей дозволу MongoDB

[Копіювати посилання]
Опубліковано 09.10.2016 17:04:10 | | |
MongoDB надає доступ до даних і команд через авторизацію на основі ролей і надає вбудовані ролі, які забезпечують різні рівні доступу, які зазвичай потрібні в системі баз даних. Ви також можете створювати ролі, визначені користувачами.
Роль надає права виконувати набори дій на визначених ресурсах. Певна роль застосовується до бази даних, на якій вона визначена, і може надавати доступ до рівня деталізації колекції.
Кожна з вбудованих ролей MongoDB визначає доступ на рівні бази даних для всіх несистемних колекцій у базі даних ролі та на рівні колекції для всіх системних колекцій.
MongoDB надає вбудовані ролі користувача та адміністратора баз даних у кожній базі даних. MongoDB надає всі інші вбудовані ролі лише в базі даних адміністраторів.
У цьому розділі описані привілеї для кожної вбудованої ролі. Ви також можете переглядати привілеї для вбудованої ролі в будь-який час, видавши команду rolesInfo з полями showPrivileges і showBuiltinRolesfields, які обидва встановлені у true.
Ролі користувачів бази даних
Кожна база даних включає такі клієнтські ролі:
Читати
Надає можливість читання даних про всі несистемні колекції та про такі системні колекції: system.indexes, system.js та system.namespaces. Роль забезпечує доступ до читання, надаючи такі дії:
  • collStats
  • dbHash
  • dbStats
  • Знайти
  • killКурсори
  • listІндекси
  • списокКолекції
читатиПисати
Надає всі привілеї ролі читання, а також можливість змінювати дані на всіх несистемних колекціях та колекції system.js. Роль передбачає такі дії щодо цих колекцій:
  • collStats
  • convertToCapped
  • createCollection
  • dbHash
  • dbStats
  • dropCollection
  • createIndex
  • dropIndex
  • порожня кришка
  • Знайти
  • Вставити
  • killКурсори
  • listІндекси
  • списокКолекції
  • Видалити
  • renameCollectionSameDB
  • Оновлення

Ролі адміністрування баз даних
Кожна база даних включає такі ролі адміністрування баз даних:
dbAdmin
Надає такі дії у колекціях system.indexes, просторів назв system.name та system.profile бази даних:
  • collStats
  • dbHash
  • dbStats
  • Знайти
  • killКурсори
  • listІндекси
  • списокКолекції
  • dropCollection і createCollection лише на system.profile
Зміни у версії 2.6.4: dbAdmin додав createCollection для system.profilecollection. Попередні версії мали лише dropCollection у колекції system.profile.

Забезпечує наступні дії щодо всіх несистемних колекцій. Ця роль не включає повного доступу до читання несистемних колекцій:
  • bypassDocumentValidation
  • collMod
  • collStats
  • компактний
  • convertToCapped
  • createCollection
  • createIndex
  • dbStats
  • dropCollection
  • dropDatabase
  • dropIndex
  • enableProfiler
  • reIndex
  • renameCollectionSameDB
  • repairDatabase
  • ЗберіганняДеталі
  • Валідація
dbOwner
Власник бази даних може виконувати будь-які адміністративні дії над базою даних. Ця роль поєднує привілеї, надані ролями readWrite, dbAdmin та userAdmin.
userAdmin
Надає можливість створювати та змінювати ролі та користувачів у поточній базі даних. Ця роль також опосередковано надає суперкористувачу доступ або до бази даних, або, якщо вона обмежена до адміністративної бази даних, до кластера. Роль TheuserAdmin дозволяє користувачам надавати будь-якому користувачу будь-які привілеї, включно з собою.
Роль userAdmin чітко передбачає такі дії:
  • changeCustomData
  • changePassword
  • createRole
  • createUser
  • dropRole
  • dropUser
  • grantРоль
  • скасувати роль
  • переглядРоль
  • viewUser

Ролі в адмініструванні кластерів
Адміністративна база даних включає такі ролі для адміністрування всієї системи, а не лише однієї бази даних. Ці ролі включають, але не обмежуються, адміністративними функціями набору реплік і шардованих кластерів.
clusterAdmin
Забезпечує найкращий доступ до управління кластером. Ця роль поєднує привілеї, надані ролями theclusterManager, clusterMonitor та hostManager. Крім того, ця роль забезпечує дії thedropDatabase.
clusterManager
Забезпечує управління та моніторинг у кластері. Користувач із цією роллю може отримати доступ до локальних конфігураційних баз даних, які використовуються відповідно для шардингу та реплікації.
Надає такі дії щодо кластера загалом:
  • addShard
  • applicationMessage
  • прибиранняСирота
  • flushRouterConfig
  • listShards
  • видалитиОсколок
  • replSetConfigure
  • replSetGetConfig
  • replSetGetStatus
  • replSetStateChange
  • Ресинхронізація
Забезпечує наступні дії щодо всіх баз даних кластеру:
  • enableSharding
  • moveChunk
  • splitChunk
  • splitVector
У конфігураційній базі даних надає такі дії у колекції налаштувань:
  • Вставити
  • Видалити
  • Оновлення
У конфігураційній базі даних надає такі дії для всіх колекцій конфігурацій, а також у колекціях thesystem.indexes, system.js та system.namespaces:
  • collStats
  • dbHash
  • dbStats
  • Знайти
  • killКурсори
У локальній базі даних надає такі дії щодо колекції replset:
  • collStats
  • dbHash
  • dbStats
  • Знайти
  • killКурсори
clusterMonitor
Надає доступ лише для читання до інструментів моніторингу, таких як MongoDB Cloud Manager та агент моніторингу Ops Manager.
Надає такі дії щодо кластера загалом:
  • connPoolStats
  • cursorInfo
  • getCmdLineOpts
  • getLog
  • getParameter
  • getShardMap
  • hostInfo
  • inprog
  • listБази даних
  • listShards
  • netstat
  • replSetGetStatus
  • replSetGetConfig
  • serverСтатус
  • shardingState
  • Верх
Забезпечує наступні дії щодо всіх баз даних кластеру:
  • collStats
  • dbStats
  • getShardVersion
  • indexСтатистика
Забезпечує дію пошуку для всіх колекцій system.profile у кластері.
Надає такі дії у колекціях конфігурацій бази даних конфігурації та колекції system.indexes, system.js та system.namespaces:
  • collStats
  • dbHash
  • dbStats
  • Знайти
  • killКурсори
hostManager
Надає можливість моніторингу та управління серверами.
Надає такі дії щодо кластера загалом:
  • applicationMessage
  • closeAllDatabases
  • connPoolSync
  • cpuProfiler
  • diagLogging
  • flushRouterConfig
  • fsync
  • invalidateUserCache
  • killop
  • logRotate
  • Ресинхронізація
  • setParameter
  • закриття
  • Дотик
  • Розблокування
Забезпечує наступні дії щодо всіх баз даних кластеру:
  • killКурсори
  • repairDatabase

Резервні та реставраційні ролі
Адміністративна база даних включає такі ролі для резервного копіювання та відновлення даних:
Резервне копіювання
Забезпечує мінімальні привілеї, необхідні для резервного копіювання даних. Ця роль надає достатні привілеї для використання агента резервного копію MongoDB Cloud Manager, агента резервного копіювання Ops Manager або для використання mongodump для резервного копіювання цілого екземпляра mongod.
Забезпечує дії вставки та оновлення у колекції mms.backup у базі адміністратора та на колекції налаштувань у конфігураційній базі даних.
Забезпечує дію listDatabases для кластера загалом.
Забезпечує дію listCollections для всіх баз даних.
Надає дію listIndexes для всіх колекцій.
Забезпечує дію bypassDocumentValidation для колекцій, які мають валідацію документів.
Забезпечує дії пошуку за наступними:
  • усі несистемні колекції кластера
  • Усі наступні системні колекції кластера: system.indexes, system.namespaces та system.js
  • колекції admin.system.users та admin.system.roles
  • колекція config.settings
  • спадкові колекції system.users з версій MongoDB до версії 2.6
Змінено у версії 3.2.1: Роль резервного копіювання надає додаткові права для резервного копіювання колекцій thesystem.profile, які існують при запуску з профілюванням баз даних. Раніше користувачам потрібен був додатковий доступ до цієї колекції.

Відновлення
Надає привілеї, необхідні для відновлення даних із резервних копій, які не містять даних system.profilecollection. Ця роль достатня при відновленні даних за допомогою mongorestore без опції --oplogReplay.
  • Якщо резервні дані містять дані збору system.profile, а цільова база даних не містить колекцію system.profile, mongorestore намагається створити колекцію, хоча Програма фактично не відновлює документи system.profile. Відповідно, користувачу потрібні додаткові права для виконання дій createCollection та convertToCapped у колекції system.profile для бази даних.
    Вбудовані ролі dbAdmin та dbAdminAnyDatabase надають додаткові привілеї.
  • Якщо запускати mongorestore з --oplogReplay, роль відновлення недостатня для повторного відтворення оплогу. Щоб повторити oplog, створіть роль, визначену користувачем, яка має anyAction на anyResource і надасть лише користувачам, які повинні запускати mongorestore з --oplogReplay.

Забезпечує такі дії щодо всіх несистемних колекцій та system.js колекцій у кластері; у колекціях admin.system.users та admin.system.roles у базі даних адмінів; а також у колекціях застарілих system.users з версій MongoDB до версії 2.6:
  • collMod
  • createCollection
  • createIndex
  • dropCollection
  • Вставити
Забезпечує дію listCollections для всіх баз даних.
Надає такі додаткові дії на admin.system.users та legacy system.userscollections:
  • Знайти
  • Видалити
  • Оновлення
Забезпечує дію пошуку для всіх колекцій system.namespaces у кластері.
Хоча відновлення включає можливість змінювати документи в admin.system.userscollection за допомогою звичайних операцій модифікації, змінювати ці дані лише за допомогою керування користувачем методи.

Ролі, пов'язані з базами даних
Адміністративна база даних надає такі ролі, які застосовуються до всіх баз даних у інстанції mongod і приблизно еквівалентні їхнім аналогам з однією базою даних:
readAnyDatabase
Надає ті ж права лише для читання, що й для читання, але застосовується до всіх баз даних кластеру. Роль також забезпечує дію listDatabases для кластера загалом.
readWriteAnyDatabase
Надає ті ж права на читання та запис, що й readWrite, але застосовується до всіх баз даних кластеру. Роль також забезпечує дію listDatabases для кластера загалом.
userAdminAnyDatabase
Надає той самий доступ до операцій адміністрування користувачів, що й userAdmin, але застосовується до всіх баз даних кластеру. Роль також передбачає такі дії щодо кластера загалом:
  • authSchemaUpgrade
  • invalidateUserCache
  • listБази даних
Роль також забезпечує такі дії у колекціях admin.system.users та admin.system.roles у базі даних адміністратора, а також у застарілих system.userscollections з версій MongoDB до версії 2.6:
  • collStats
  • dbHash
  • dbStats
  • Знайти
  • killКурсори
  • planCacheRead
Змінилося у версії 2.6.4: userAdminAnyDatabase додав такі права на колекції theadmin.system.users та admin.system.roles:
  • createIndex
  • dropIndex

Роль userAdminAnyDatabase не обмежує дозволи, які користувач може надати. Відповідно, користувачі userAdminAnyDatabase можуть надавати собі привілеї, що перевищують їхні поточні, і навіть надавати всі привілеї, навіть якщо ця роль цього не робить явно авторизуйте привілеї, що виходять за межі адміністрування користувачів. Ця роль фактично є суперкористувачем системи MongoDB.
dbAdminAnyDatabase
Надає той самий доступ до операцій адміністрування баз даних, що й dbAdmin, але стосується всіх баз даних кластеру. Роль також забезпечує дію listDatabases для кластера загалом.

Ролі суперкористувачів
Декілька ролей забезпечують як непрямий, так і прямий доступ суперкористувача на всій системі.
Наступні ролі дають можливість присвоювати будь-якому користувачу будь-які привілеї на будь-якій базі даних, що означає, що користувачі з однією з цих ролей можуть призначати собі будь-які привілеї на будь-якій базі даних:
  • роль dbOwner, коли область дії до бази даних адміністратора
  • роль userAdmin, коли сфера даних базу даних адміністратора
  • роль userAdminAnyDatabase
Наступна роль надає повні привілеї на всі ресурси:
корінь
Надає доступ до операцій та всіх ресурсів ролей readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase, clusterAdmin Admin ролей, відновлення разом узяті.
Змінено у версії 3.0.7: Root має validate action on system. колекції. Раніше root не включав доступу до колекцій, які починаються з системи. префікс, окрім system.indexes та system.namespace.
Основна роль включає привілеї з ролі відновлення.


Внутрішня роль__system
MongoDB призначає цю роль об'єктам користувача, які представляють членів кластеру, таким як члени набору реплік і екземпляри mongos. Ця роль надає власнику право вживати будь-яких дій проти будь-якого об'єкта в базі даних.
Не призначайте цю роль об'єктам користувача, що представляють додатки або людських адміністраторів, окрім виняткових випадків.
Якщо вам потрібен доступ до всіх дій на всіх ресурсах, наприклад, для виконання команд applyOps, не призначайте цю роль. Натомість створіть роль, визначену користувачем, яка надає anyAction на anyResource і переконайтеся, що доступ мають лише користувачі, яким потрібен доступ до цих операцій.
Оригінал: https://docs.mongodb.com/manual/reference/built-in-roles/#built-in-roles






Попередній:Відображення C# отримує ім'я відображення властивості об'єкта
Наступний:Створіть обліковий запис і пароль для входу в MongoDb
 Орендодавець| Опубліковано 09.10.2016 17:33:26 |
Створіть обліковий запис і пароль для входу в MongoDb
http://www.itsvse.com/thread-3221-1-1.html
(Джерело: Мережа сільського господарства кодів)
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com