この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 7537|答える: 1

MongoDB権限役割テーブル

[リンクをコピー]
掲載地 2016/10/09 17:04:10 | | |
MongoDBはロールベースの認可を通じてデータやコマンドへのアクセスを付与し、データベースシステムで一般的に必要とされる異なるアクセスレベルを提供する組み込みの役割を提供します。 ユーザー定義の役割も作成できます。
ロールは定義されたリソースに対して一連のアクションを実行する権限を与えます。 特定の役割は、その定義されたデータベースに適用され、コレクションの細分度レベルまでアクセスを許可できます。
MongoDBの各組み込みロールは、その役割のデータベース内のすべての非システムコレクションに対してデータベースレベルで、すべてのシステムコレクションに対してコレクションレベルでアクセスを定義しています。
MongoDBは、すべてのデータベースに組み込みのデータベースユーザーおよび管理役割を提供します。 MongoDBは、その他の組み込みロールはすべて管理者データベース上のみ提供しています。
このセクションでは、各組み込みロールの権限について説明します。 また、rolesInfoコマンドを発行し、showPrivilegesとshowBuiltinRolesfieldsの両方をtrueに設定することで、いつでも組み込みロールの権限を確認できます。
データベースユーザーの役割
すべてのデータベースには以下のクライアント役割が含まれます:
読む
すべての非システムコレクションおよび以下のシステムコレクションのデータ読み取り機能を提供します:system.indexes、system.js、system.namespacesコレクション。 この役割は以下のアクションを付与することで読み取りアクセスを提供します:
  • collStats
  • dbハッシュ
  • dbStats
  • 発見
  • キルカーソル
  • リストインデックス
  • リストコレクション
readWrite
リードロールのすべての権限に加え、システム以外のすべてのコレクションおよびsystem.jsコレクションのデータを変更する機能を提供します。 この役割は、これらのコレクションに対して以下の行動を提供します:
  • collStats
  • コンバート・トゥキャップ
  • createCollection
  • dbハッシュ
  • dbStats
  • ドロップコレクション
  • createIndex(インデックス作成)
  • dropIndex(ドロップインデックス)
  • 空のキャップ
  • 発見
  • 挿入
  • キルカーソル
  • リストインデックス
  • リストコレクション
  • 削除
  • CollectionSameDBのrename(コレクションSameDB)を改名
  • アップデート

データベース管理の役割
すべてのデータベースには以下のデータベース管理役割が含まれます:
dbAdmin
データベースのsystem.indexes、system.namespaces、system.profileコレクションに対して以下の操作を提供します:
  • collStats
  • dbハッシュ
  • dbStats
  • 発見
  • キルカーソル
  • リストインデックス
  • リストコレクション
  • dropCollectionとcreateCollectionはsystem.profileのみに掲載されています
バージョン2.6.4で変更:dbAdminがsystem.profilecollection用のcreateCollectionを追加しました。 以前のバージョンでは、system.profileコレクションにはdropCollectionのみがありました。

すべての非システムコレクションに対して以下のアクションを提供します。 この役割には、システム以外のコレクションに対する完全な読み取りアクセスは含まれません:
  • バイパスドキュメント検証
  • collMod
  • collStats
  • コンパクト
  • コンバート・トゥキャップ
  • createCollection
  • createIndex(インデックス作成)
  • dbStats
  • ドロップコレクション
  • ドロップデータベース
  • dropIndex(ドロップインデックス)
  • enableProfiler
  • reIndex
  • CollectionSameDBのrename(コレクションSameDB)を改名
  • 修理データベース
  • 保管詳細
  • 検証
dbOwner
データベースの所有者は、データベースに対してあらゆる管理操作を行うことができます。 この役割はreadWrite、dbAdmin、userAdminの役割から付与される権限を組み合わせたものです。
ユーザー管理者
現在のデータベース上でロールやユーザーを作成・修正する機能を提供します。 この役割は間接的に、データベースまたは管理者データベースにスコープが割り当てられている場合はクラスターへのスーパーユーザーアクセスを提供します。 TheuserAdminの役割は、ユーザーが自分自身を含む任意のユーザーに権限を付与できるようにします。
userAdminの役割は明示的に以下の操作を提供します:
  • changeCustomData
  • changePassword
  • createRole
  • createUser
  • dropRole
  • dropUser
  • grant役割
  • リヴォーク役割
  • ビュー役割
  • viewUser

クラスター管理の役割
管理データベースには、単一データベースだけでなくシステム全体を管理する役割が含まれます。 これらの役割には、レプリカセットやシャードクラスタ管理機能が含まれますが、これらに限定されません。
clusterAdmin
最高のクラスタ管理アクセスを提供します。 この役割は、theclusterManager、clusterMonitor、hostManagerの役割から与えられる権限を組み合わせたものです。 さらに、この役割はthedropDatabaseアクションを提供します。
clusterManager
クラスタの管理および監視作業を提供します。 この役割を持つユーザーは、それぞれシャーディングとレプリケーションで使用されるconfigおよびローカルデータベースにアクセスできます。
クラスタ全体に対して以下のアクションを提供します:
  • addShard
  • applicationMessage
  • クリーンアップオーファンド
  • flushRouterConfig
  • リストシャード
  • removeShard
  • replSetConfigure
  • replSetGetConfig
  • replSetGetStatus
  • replSetStateChange
  • 再同期
クラスタ内のすべてのデータベースに対して以下のアクションを提供します:
  • enableSharding
  • moveチャンク
  • スプリットチャンク
  • スプリットベクター
設定データベースでは、設定コレクションに対して以下の操作を提供します:
  • 挿入
  • 削除
  • アップデート
設定データベース上で、すべての構成コレクションおよびthesystem.indexes、system.js、system.namespacesのコレクションに対して以下の操作を提供します:
  • collStats
  • dbハッシュ
  • dbStats
  • 発見
  • キルカーソル
ローカルデータベースでは、replsetコレクションに対して以下の操作を提供します:
  • collStats
  • dbハッシュ
  • dbStats
  • 発見
  • キルカーソル
clusterMonitor
MongoDB Cloud ManagerやOps Managerの監視エージェントなどの監視ツールへの読み取り専用アクセスを提供します。
クラスタ全体に対して以下のアクションを提供します:
  • connPoolStats
  • カーソルインフォ
  • getCmdLineOpts
  • ゲットログ
  • getParameter
  • getShardMap
  • ホスト情報
  • インプログ
  • リストデータベース
  • リストシャード
  • ネットスタット
  • replSetGetStatus
  • replSetGetConfig
  • サーバーステータス
  • シャーディングステート
  • ページのトップへ
クラスタ内のすべてのデータベースに対して以下のアクションを提供します:
  • collStats
  • dbStats
  • getShardVersion
  • インデックス統計
クラスタ内のすべてのsystem.profileコレクションに対してfindアクションを提供します。
構成データベースの構成コレクションおよびsystem.indexes、system.js、system.namespacesコレクションに対して以下の操作を提供します。
  • collStats
  • dbハッシュ
  • dbStats
  • 発見
  • キルカーソル
hostManager
サーバーの監視と管理機能を提供します。
クラスタ全体に対して以下のアクションを提供します:
  • applicationMessage
  • closeAllDatabases
  • connPoolSync
  • cpuProfiler
  • diagLoging(診断ログ)
  • flushRouterConfig
  • fsync(fsync)
  • invalidUserCache
  • キロップ
  • logRotate
  • 再同期
  • setParameter
  • 閉鎖
  • 接触
  • アンロック
クラスタ内のすべてのデータベースに対して以下のアクションを提供します:
  • キルカーソル
  • 修理データベース

バックアップおよび修復の役割
管理データベースには、データのバックアップおよび復元のための以下の役割が含まれます:
バックアップ
データのバックアップに必要な最小限の権限を提供します。 この役割は、MongoDB Cloud Managerのバックアップエージェント、Ops Managerのバックアップエージェント、またはmongodumpを使ってmongodインスタンス全体をバックアップするための十分な権限を提供します。
管理者データベースのmms.backupコレクションおよび設定データベースの設定コレクションに対する挿入および更新操作を提供します。
クラスタ全体に対してlistDatabasesアクションを提供します。
すべてのデータベースに対してlistCollectionsアクションを提供します。
すべてのコレクションに対してlistIndexesアクションを提供します。
文書検証があるコレクションに対してバイパスDocumentValidationアクションを提供します。
以下の事項で検索アクションを提供します:
  • クラスタ内のすべての非システムコレクション
  • クラスタ内の以下のシステムコレクション:System.indexes、system.namespaces、およびsystem.js
  • admin.system.usersおよびadmin.system.rolesのコレクション
  • config.settings コレクション
  • 2.6以前のMongoDBバージョンからのレガシーSystem.usersコレクション
バージョン3.2.1で変更:バックアップロールは、データベースプロファイリングで動作する際に存在するthesystem.profileコレクションをバックアップするための追加権限を提供します。 以前は、このコレクションに対して追加の閲覧アクセスが必要でした。

リストア
system.profilecollectionデータを含まないバックアップからデータを復元するために必要な権限を提供します。 この役割は、--oplogReplayオプションなしでmongorestoreでデータを復元する場合に十分です。
  • バックアップデータにsystem.profileコレクションデータが含まれていて、ターゲットデータベースにsystem.profileコレクションが含まれていない場合、mongostoredはコレクションの作成を試みます。 このプログラムは実際にはsystem.profileドキュメントを復元しません。 そのため、ユーザーはデータベースのsystem.profileコレクションに対してcreateCollectionおよびconvertToCappedアクションを実行するために追加の権限を必要とします。
    組み込みの役割dbAdminとdbAdminAnyDatabaseは追加の権限を提供します。
  • --oplogReplayでmongorestoreを実行する場合、復元ロールだけではoplogを再生するには不十分です。 oplogを再生するには、anyResourceにanyActionを持つユーザー定義ロールを作成し、mongorestoreを--oplogReplayで実行しなければならないユーザーにのみ付与します。

クラスタ内のすべての非システムコレクションおよびsystem.jsコレクションに対して以下のアクションを提供します。 管理者データベース内のAdmin.System.usersおよびAdmin.System.Rolesコレクションに、 および2.6以前のMongoDBバージョンからのレガシーsystem.usersコレクション:
  • collMod
  • createCollection
  • createIndex(インデックス作成)
  • ドロップコレクション
  • 挿入
すべてのデータベースに対してlistCollectionsアクションを提供します。
admin.system.usersおよびレガシーのsystem.userscollectionsに対して、以下の追加アクションを提供します:
  • 発見
  • 削除
  • アップデート
クラスタ内のすべてのsystem.namespacesコレクションに対してfindアクションを提供します。
復元にはadmin.system.userscollection内の文書を通常の修正操作で変更する機能が含まれていますが、これらのデータはユーザー管理でのみ変更可能です 方法。

オールデータベースの役割
管理者データベースは、mongodインスタンス内のすべてのデータベースに適用される以下の役割を提供し、単一データベースの同等物とほぼ同等です。
readAnyDatabase
読み取りと同じ読み取り専用権限を提供しますが、クラスタ内のすべてのデータベースに適用されます。 この役割はクラスタ全体に対してlistDatabasesアクションも提供します。
readWriteAnyDatabase
readWriteと同じ読み書き権限を提供しますが、クラスタ内のすべてのデータベースに適用されます。 この役割はクラスタ全体に対してlistDatabasesアクションも提供します。
userAdminAnyDatabase
userAdminと同じユーザー管理操作へのアクセスを提供しますが、クラスタ内のすべてのデータベースに適用されます。 この役割はクラスタ全体に対して以下のアクションも提供します:
  • authSchemaUpgrade
  • invalidUserCache
  • リストデータベース
この役割はまた、管理者データベースのadmin.system.usersおよびadmin.system.rolesコレクション、ならびに以下のバージョンのレガシーsystem.userscollectionsに対して以下のアクションを提供します 2.6以前のMongoDB:
  • collStats
  • dbハッシュ
  • dbStats
  • 発見
  • キルカーソル
  • planCacheRead
バージョン2.6.4で変更:userAdminAnyDatabaseがtheadmin.system.usersおよびadmin.system.rolesコレクションに以下の権限を追加しました:
  • createIndex(インデックス作成)
  • dropIndex(ドロップインデックス)

userAdminAnyDatabaseの役割は、ユーザーが付与できる権限を制限しません。 その結果、userAdminAnyDatabaseユーザーは現在の権限を超える権限を自分に付与でき、役割自体がそうでなくてもすべての権限を自分に付与することもあります ユーザー管理以外の権限を明示的に許可します。 この役割は実質的にMongoDBシステムのスーパーユーザーです。
dbAdminAnyDatabase
dbAdminと同じデータベース管理操作へのアクセスを提供しますが、クラスタ内のすべてのデータベースに適用されます。 この役割はクラスタ全体に対してlistDatabasesアクションも提供します。

スーパーユーザーの役割
いくつかの役割は、間接的または直接的なシステム全体のスーパーユーザーアクセスを提供します。
以下の役割は、任意のデータベースに対して任意の権限を割り当てる機能を提供しており、これらの役割を持つユーザーは任意のデータベースに対して任意の権限を割り当てることができます。
  • 管理者データベースにスコープが割り当てられた場合のdbOwner役割
  • userAdminロール、管理者データベースにスコープが割り当てられた場合
  • userAdminAnyDatabase role
以下の役割はすべてのリソースに対して完全な権限を提供します:
readWriteAnyDatabase、dbAdminAnyDatabase、userAdminAnyDatabase、clusterAdmin、Restore ロールの操作およびすべてのリソースへのアクセスを提供します。
バージョン3.0.7で変更:ルートにシステムに対する検証アクションがあります。 コレクション。 以前は、rootはシステムで始まるコレクションへのアクセスを含みませんでした。 system.indexesやsystem.namespaces以外の接頭辞。
ルートロールには復元ロールの権限が含まれます。


内部の役割__system
MongoDBは、レプリカセットメンバーやMongosインスタンスなど、クラスタメンバーを表すユーザーオブジェクトにこの役割を割り当てます。 この役割は、その保持者がデータベース内の任意のオブジェクトに対してあらゆる行動を取る権利を与えます。
この役割は、例外的な状況を除き、アプリケーションや人間管理者を表すユーザーオブジェクトに割り当てないでください。
すべてのリソースのアクションにアクセスする必要がある場合、例えばapplyOpsコマンドを実行する場合など、この役割を割り当てないでください。 代わりに、anyResourceに対してanyActionを付与するユーザー定義ロールを作成し、これらの操作へのアクセスを必要とするユーザーだけがこのアクセス権を持てるようにしてください。
オリジナル:https://docs.mongodb.com/manual/reference/built-in-roles/#built-in-roles






先の:C#の反射はオブジェクトプロパティのディスプレイ名を得ます
次に:MongoDbにログインするにはアカウントとパスワードを作成してください
 地主| 掲載地 2016/10/09 17:33:26 |
MongoDbにログインするにはアカウントとパスワードを作成してください
http://www.itsvse.com/thread-3221-1-1.html
(出典:コード農業ネットワーク)
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com