Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

自己管理型配置に関するリソース ドキュメント

項目一覧

  • データベースおよび/またはコレクション リソース
  • クラスター リソース
  • anyResource

リソース ドキュメントでは、権限により actionsが許可されるリソースを指定します。

データベースやコレクションを指定するには、次の構文を使用します。

{ db: <database>, collection: <collection> }

リソースdb collectionドキュメントで、 フィールドと フィールドの両方が空でない文字列として指定されている場合、リソースは指定されたデータベース内の指定されたコレクションです。たとえば、次のドキュメントでは、 productsデータベース内のinventoryコレクションのリソースを指定しています。

{ db: "products", collection: "inventory" }

admin以外のデータベースをスコープとするユーザー定義ロールの場合、その権限のリソース仕様でロールと同じデータベースを指定する必要があります。 adminデータベースをスコープとするユーザー定義のロールは、他のデータベースを指定できます。

collection フィールドのみが空のstring ("")の場合、リソースは指定されたデータベースで、システム コレクションを除きます。 たとえば、次のリソース ドキュメントでは、システム コレクションを除くtestデータベースのリソースを指定します。

{ db: "test", collection: "" }

admin以外のデータベースをスコープとするユーザー定義ロールの場合、その権限のリソース仕様でロールと同じデータベースを指定する必要があります。 adminデータベースをスコープとするユーザー定義のロールは、他のデータベースを指定できます。

注意

リソースとしてデータベースを指定すると、次のように名前を明示的に指定しない限り、システム コレクションは除外されます。

{ db: "test", collection: "system.js" }

システム コレクションには以下が含まれますが、これらに限定されません。

db フィールドのみが空のstring ("")の場合、リソースはすべてのデータベースにわたる指定された名前を持つすべてのコレクションです。 たとえば、次のドキュメントでは、すべてのデータベースにわたるすべてのaccountsコレクションのリソースを指定します。

{ db: "", collection: "accounts" }

ユーザー定義ロールの場合、 adminデータベースにスコープが設定されたロールのみが、特権のこのリソース仕様を持つことができます。

dbフィールドとcollectionフィールドの両方が空の文字列( "" )の場合、リソースはすべてのデータベース内のすべてのコレクション(システム コレクションを除く)です。

{ db: "", collection: "" }

ユーザー定義ロールの場合、 adminデータベースにスコープが設定されたロールのみが、特権のこのリソース仕様を持つことができます。

クラスターをリソースとして指定するには、次の構文を使用します。

{ cluster : true }

特定のデータベースセットやコレクションに対して実行されるのではなく、システムの状態に影響を与えるアクションには、 clusterリソースを使用します。 このようなアクションの例には、 shutdownreplSetReconfigaddShardなどがあります。 たとえば、次のドキュメントでは、 clusterでアクションshutdownが付与されます。

{ resource: { cluster : true }, actions: [ "shutdown" ] }

ユーザー定義ロールの場合、 adminデータベースにスコープが設定されたロールのみが、特権のこのリソース仕様を持つことができます。

内部リソースanyResourceはシステム内のすべてのリソースへのアクセスを許可し、内部での使用を目的としています。 Do not use this resource, other than in exceptional circumstances. このリソースの構文は{ anyResource: true }です。

戻る

system.users コレクション