Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 7537|Odpowiedź: 1

Tabela ról uprawnień MongoDB

[Skopiuj link]
Opublikowano 09.10.2016 17:04:10 | | |
MongoDB udostępnia dane i polecenia poprzez autoryzację opartą na rolach oraz zapewnia wbudowane role, które zapewniają różne poziomy dostępu powszechnie potrzebne w systemie bazodanowym. Możesz także tworzyć role zdefiniowane przez użytkownika.
Rola przyznaje uprawnienia do wykonywania zestawów działań na zdefiniowanych zasobach. Dany wpis dotyczy bazy danych, na której jest zdefiniowany, i może przyznawać dostęp aż do poziomu szczegółowości kolekcji.
Każda z wbudowanych ról MongoDB definiuje dostęp na poziomie bazy danych dla wszystkich kolekcji niesystemowych w bazie danych oraz na poziomie kolekcji dla wszystkich kolekcji systemowych.
MongoDB zapewnia wbudowane role użytkownika i administratora bazy danych w każdej bazie danych. MongoDB udostępnia wszystkie pozostałe wbudowane role wyłącznie w bazie danych administratorów.
Ta sekcja opisuje uprawnienia dla każdej wbudowanej roli. Możesz także w dowolnym momencie zobaczyć uprawnienia dla wbudowanej roli, wydając komendę rolesInfo z ustawieniami showPrivileges i showBuiltinRolesfields na true.
Role użytkowników bazy danych
Każda baza danych zawiera następujące role klienta:
przeczytaj
Umożliwia odczyt danych ze wszystkich kolekcji niesystemowych oraz z następujących kolekcji systemowych: system.indexes, system.js oraz system.namespaces. Rola zapewnia dostęp do odczytu, przyznając następujące akcje:
  • collStats
  • dbHash
  • dbStats
  • znajdź
  • killCursors
  • listIndexes
  • ListaKolekcje
readWrite
Zapewnia wszystkie uprawnienia roli odczytu oraz możliwość modyfikacji danych we wszystkich kolekcjach niesystemowych oraz kolekcji system.js. Rola ta realizuje następujące działania dotyczące tych kolekcji:
  • collStats
  • konwersjaToCappped
  • createCollection
  • dbHash
  • dbStats
  • dropCollection
  • createIndex
  • dropIndex
  • pusta czapka
  • znajdź
  • Insert
  • killCursors
  • listIndexes
  • ListaKolekcje
  • usuń
  • renameCollectionSameDB
  • Aktualizacja

Role administratora baz danych
Każda baza danych obejmuje następujące role administratora bazy danych:
dbAdmin
Zapewnia następujące działania w kolekcjach system.indexes, system.namespaces oraz system.profile bazy danych:
  • collStats
  • dbHash
  • dbStats
  • znajdź
  • killCursors
  • listIndexes
  • ListaKolekcje
  • dropCollection i createCollection tylko na system.profile
Zmieniono w wersji 2.6.4: dbAdmin dodał createCollection dla system.profilecollection. Poprzednie wersje miały tylko dropCollection w kolekcji system.profile.

Zapewnia następujące działania we wszystkich kolekcjach niesystemowych. Ta rola nie obejmuje pełnego dostępu do odczytu w kolekcjach niesystemowych:
  • bypassDocumentValidation
  • collMod
  • collStats
  • Compact
  • konwersjaToCappped
  • createCollection
  • createIndex
  • dbStats
  • dropCollection
  • dropDatabase
  • dropIndex
  • enableProfiler
  • reIndex
  • renameCollectionSameDB
  • repairDatabase
  • storageSzczegóły
  • Validate
dbOwner
Właściciel bazy danych może wykonać dowolną akcję administracyjną nad bazą danych. Ta rola łączy uprawnienia nadane przez role readWrite, dbAdmin i userAdmin.
userAdmin
Umożliwia tworzenie i modyfikowanie ról oraz użytkowników w aktualnej bazie danych. Ta rola pośrednio zapewnia także dostęp superużytkownika do bazy danych lub, jeśli jest ograniczony do bazy danych administratorów, do klastra. Rola TheuserAdmin pozwala użytkownikom przyznać dowolne uprawnienia, w tym sobie.
Rola userAdmin wyraźnie zapewnia następujące akcje:
  • changeCustomData
  • changePassword
  • createRole
  • createUser
  • dropRole
  • dropUser
  • Rola grantowa
  • revokeRole
  • viewRole
  • viewUser

Role administracji klastrami
Baza danych administratorów obejmuje następujące role administrowania całym systemem, a nie tylko jedną bazą danych. Role te obejmują, ale nie ograniczają się do, funkcji administracyjnych zestawów replik i fragmentów klastrów.
clusterAdmin
Zapewnia najlepszy dostęp do zarządzania klastrami. Ta rola łączy uprawnienia przyznane przez role theclusterManager, clusterMonitor oraz hostManager. Dodatkowo rola ta oferuje działanie thedropDatabase.
clusterManager
Zapewnia działania zarządzania i monitorowania klastra. Użytkownik pełniący tę rolę może uzyskać dostęp do baz danych konfiguracyjnych i lokalnych, które są wykorzystywane odpowiednio do shardingu i replikacji.
Zapewnia następujące działania dotyczące całego klastra:
  • addShard
  • applicationMessage
  • sprzątanie Sierota
  • flushRouterConfig
  • listShardy
  • usuń odłamek
  • replSetConfigure
  • replSetGetConfig
  • replSetGetStatus
  • replSetZmiana Stanu
  • resync
Zapewnia następujące działania we wszystkich bazach danych w klastrze:
  • enableSharding
  • moveChunk
  • splitChunk
  • splitVector
W bazie danych konfiguracyjnej oferuje następujące działania w kolekcji ustawień:
  • Insert
  • usuń
  • Aktualizacja
W bazie danych konfiguracyjnej oferuje następujące działania we wszystkich kolekcjach konfiguracyjnych oraz w kolekcjach thesystem.indexes, system.js i system.namespaces:
  • collStats
  • dbHash
  • dbStats
  • znajdź
  • killCursors
W lokalnej bazie danych oferuje następujące działania na kolekcji replset:
  • collStats
  • dbHash
  • dbStats
  • znajdź
  • killCursors
clusterMonitor
Zapewnia dostęp tylko do odczytu narzędzi monitorujących, takich jak MongoDB Cloud Manager oraz agent monitorujący Ops Manager.
Zapewnia następujące działania dotyczące całego klastra:
  • connPoolStats
  • cursorInfo
  • getCmdLineOpts
  • getLog
  • getParameter
  • getShardMap
  • hostInfo
  • inprog
  • listBazy danych
  • listShardy
  • netstat
  • replSetGetStatus
  • replSetGetConfig
  • serwerStatus
  • shardingState
  • Do góry
Zapewnia następujące działania we wszystkich bazach danych w klastrze:
  • collStats
  • dbStats
  • getShardVersion
  • indexStats
Zapewnia akcję wyszukiwania we wszystkich kolekcjach system.profile w klastrze.
Zapewnia następujące działania w kolekcjach konfiguracyjnych bazy danych oraz kolekcjach system.indexes, system.js i system.namespaces:
  • collStats
  • dbHash
  • dbStats
  • znajdź
  • killCursors
hostManager
Zapewnia możliwość monitorowania i zarządzania serwerami.
Zapewnia następujące działania dotyczące całego klastra:
  • applicationMessage
  • closeAllDatabases
  • connPoolSync
  • cpuProfiler
  • DiagLogging
  • flushRouterConfig
  • fsync
  • invalidateUserCache
  • killop
  • logRotate
  • resync
  • setParameter
  • Wyłączenie
  • Dotyk
  • Odblokuj
Zapewnia następujące działania we wszystkich bazach danych w klastrze:
  • killCursors
  • repairDatabase

Role Backupu i Renowacji
Baza danych administracyjnych obejmuje następujące role do tworzenia kopii zapasowych i przywracania danych:
Zapas
Zapewnia minimalne uprawnienia potrzebne do tworzenia kopii zapasowych danych. Ta rola zapewnia wystarczające uprawnienia do korzystania z agenta backupu MongoDB Cloud Manager, agenta operacyjnego menedżera lub do użycia mongodump do wykonania kopii zapasowej całej instancji mongod.
Zapewnia działania wstawienia i aktualizacji w kolekcji mms.backup w bazie danych administratorów oraz w kolekcji ustawień w bazie konfiguracyjnej.
Zapewnia działanie listDatabases na całym klastrze.
Zapewnia akcję listCollections we wszystkich bazach danych.
Zapewnia akcję listIndexes dla wszystkich kolekcji.
Zapewnia akcję bypassDocumentValidation dla kolekcji posiadających walidację dokumentów.
Zapewnia akcję wyszukiwania w następujących kwestiach:
  • wszystkie kolekcje niesystemowe w klastrze
  • wszystkie następujące kolekcje systemowe w klastrze: system.indexes, system.namespaces oraz system.js
  • kolekcje admin.system.users oraz admin.system.roles
  • kolekcja config.settings
  • kolekcje starszych system.users z wersji MongoDB sprzed 2.6
Zmieniono w wersji 3.2.1: Rola kopii zapasowej zapewnia dodatkowe uprawnienia do tworzenia kopii zapasowych kolekcji thesystem.profile, które istnieją podczas uruchamiania profilowania bazy danych. Wcześniej użytkownicy potrzebowali dodatkowego dostępu do odczytu tej kolekcji.

Przywróć
Zapewnia uprawnienia niezbędne do przywrócenia danych z kopii zapasowych, które nie zawierają danych system.profilecollection. Ta rola jest wystarczająca przy przywracaniu danych za pomocą mongorestore bez opcji --oplogReplay.
  • Jeśli dane kopii zapasowej zawierają dane zbiorcze system.profile, a docelowa baza nie zawiera kolekcji system.profile, mongorestore próbuje utworzyć tę kolekcję, mimo że Program nie przywraca faktycznie dokumentów system.profile. W związku z tym użytkownik wymaga dodatkowych uprawnień, aby wykonać działania createCollection i convertToCapped w kolekcji system.profile dla bazy danych.
    Wbudowane role dbAdmin i dbAdminAnyDatabase zapewniają dodatkowe uprawnienia.
  • Jeśli uruchamiasz mongorestore z --oplogReplay, rola restore nie jest wystarczająca, by odtworzyć oplog. Aby powtórzyć oplog, stwórz rolę zdefiniowaną przez użytkownika, która ma dowolną Akcję na dowolnym Zasobu i przydziel ją tylko użytkownikom, którzy muszą uruchomić mongorestore z --oplogReplay.

Zapewnia następujące działania dla wszystkich kolekcji niesystemowych oraz system.js kolekcji w klastrze; na kolekcjach admin.system.users i admin.system.roles w bazie danych administratorów; oraz na starszych kolekcjach system.users z wersji MongoDB sprzed 2.6:
  • collMod
  • createCollection
  • createIndex
  • dropCollection
  • Insert
Zapewnia akcję listCollections we wszystkich bazach danych.
Zapewnia następujące dodatkowe działania na admin.system.users oraz starszych system.userscollections:
  • znajdź
  • usuń
  • Aktualizacja
Zapewnia akcję wyszukiwania we wszystkich kolekcjach system.namespaces w klastrze.
Chociaż przywracanie obejmuje możliwość modyfikowania dokumentów w admin.system.userscollection za pomocą normalnych operacji modyfikacji, modyfikuj te dane tylko za pomocą zarządzania użytkownikami metodami.

Role w całej bazie danych
Baza danych administracyjnych zapewnia następujące role, które dotyczą wszystkich baz danych w instancji mongoda i są w przybliżeniu równoważne ich odpowiednikom w pojedynczej bazie danych:
readAnyDatabase
Zapewnia takie same uprawnienia tylko do odczytu jak do odczytu, z tą różnicą, że dotyczy wszystkich baz danych w klastrze. Rola ta zapewnia również działania listDatabases na całym klastrze.
readWriteAnyDatabase
Zapewnia takie same uprawnienia do odczytu i zapisu jak readWrite, z tą różnicą, że dotyczy wszystkich baz danych w klastrze. Rola ta zapewnia również działania listDatabases na całym klastrze.
userAdminAnyDatabase
Zapewnia taki sam dostęp do operacji administracyjnych użytkownika jak userAdmin, z tą różnicą, że dotyczy wszystkich baz danych w klastrze. Rola ta oferuje również następujące działania dotyczące całego klastra:
  • authSchemaUpgrade
  • invalidateUserCache
  • listBazy danych
Rola ta oferuje także następujące działania w kolekcjach admin.system.users i admin.system.roles w bazie danych administratorów oraz na starszych system.userscollections z wersji MongoDB przed wersją 2.6:
  • collStats
  • dbHash
  • dbStats
  • znajdź
  • killCursors
  • planCacheRead
Zmieniono w wersji 2.6.4: userAdminAnyDatabase dodał następujące uprawnienia do kolekcji theadmin.system.users oraz admin.system.roles:
  • createIndex
  • dropIndex

Rola userAdminAnyDatabase nie ogranicza uprawnień, które użytkownik może przyznać. W rezultacie użytkownicy userAdminAnyDatabase mogą przyznawać sobie uprawnienia przekraczające obecne uprawnienia, a nawet przyznawać sobie wszystkie uprawnienia, nawet jeśli rola tego nie robi Wyraźnie autoryzować uprawnienia wykraczające poza administrację użytkownika. Ta rola jest w praktyce superużytkownikiem systemu MongoDB.
dbAdminAnyDatabase
Zapewnia taki sam dostęp do operacji administracji baz danych jak dbAdmin, z tą różnicą, że dotyczy wszystkich baz danych w klastrze. Rola ta zapewnia również działania listDatabases na całym klastrze.

Role superużytkownika
Kilka ról zapewnia pośredni lub bezpośredni dostęp superużytkownika w całym systemie.
Poniższe role umożliwiają przypisanie dowolnych uprawnień dowolnym użytkownikom w dowolnej bazie danych, co oznacza, że użytkownicy z jedną z tych ról mogą przypisać sobie dowolne uprawnienia w dowolnej bazie danych:
  • dbOwner, gdy jest przypisany do bazy danych administratorów
  • rola userAdmin, gdy jest przypisana do bazy danych administratorów
  • rola userAdminAnyDatabase
Następująca rola zapewnia pełne uprawnienia do wszystkich zasobów:
korzeń
Zapewnia dostęp do operacji i wszystkich zasobów rol readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase, clusterAdmin, restore łącznie.
Zmienione w wersji 3.0.7: Root ma akcję walidacji na systemie. Kolekcje. Wcześniej root nie obejmował dostępu do kolekcji rozpoczynających się od systemu. prefiks inny niż system.indexes i system.namespaces.
Rola główna obejmuje uprawnienia z roli przywracania.


Rola wewnętrzna__system
MongoDB przypisuje tę rolę obiektom użytkownika reprezentującym członków klastra, takim jak repliki zestawu oraz instancje mongos. Rola ta uprawnia jej posiadacza do podjęcia dowolnych działań przeciwko dowolnemu obiektowi w bazie danych.
Nie przypisuj tej roli obiektom użytkownika reprezentującym aplikacje lub administratorów ludzkich, chyba że w wyjątkowych okolicznościach.
Jeśli potrzebujesz dostępu do wszystkich akcji na wszystkich zasobach, na przykład do uruchamiania poleceń applyOps, nie przypisuj tej roli. Zamiast tego stwórz rolę zdefiniowaną przez użytkownika, która przyznaje dowolną Operację na dowolnym Zasobu i zapewnij, że tylko użytkownicy potrzebujący dostępu do tych operacji mają ten dostęp.
Oryginał: https://docs.mongodb.com/manual/reference/built-in-roles/#built-in-roles






Poprzedni:Odbicie C# otrzymuje nazwę wyświetlania właściwości obiektu
Następny:Utwórz konto i hasło, aby zalogować się do MongoDb
 Ziemianin| Opublikowano 09.10.2016 17:33:26 |
Utwórz konto i hasło, aby zalogować się do MongoDb
http://www.itsvse.com/thread-3221-1-1.html
(Źródło: Code Agriculture Network)
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com