MongoDB権限フィールド制御の設定方法

MongoDBでは、ロールとユーザーの設定により アクセス制御が行われます。

  1. db.ロールを作成します()
db.createRole(
   {
     role: "customRole",
     privileges: [
       { resource: { db: "myDB", collection: "myCollection" }, actions: ["find", "update"] }
     ],
     roles: []
   }
)

上の例では、`customRole` という名前のロールを作成し、`myDB` データベースの `myCollection` コレクションに対して、`find` および `update` の操作を実行する権限を与えています。

  1. ユーザーの作成とロールの指定: ユーザーを作成するとき、ユーザーに 1 つ以上のロールを指定して、それに応じた権限を与えることができます。例:
db.createUser(
   {
     user: "myUser",
     pwd: "myPassword",
     roles: [
       { role: "customRole", db: "myDB" }
     ]
   }
)

上記のコードでは、myUserという名前のユーザーを作成し、そのユーザーに対してcustomRoleというロールが与えられているが、このロールの権限はmyDBというデータベースに適用される

以上の設定によりMongoDBの権限フィールドを制御が可能となり、ロールの設定にて許可される操作や影響を受けるリソースを指定することで、データベースおよびコレクション上のフィールドに対するユーザーのアクセス権限や変更権限を制御することができる。

bannerAds