4

readWriteコレクションへのアクセス権を持つ MongoDB ユーザーを作成しました。dropCollectionしかし、私はそのユーザーにアクセス権を与えたくありません。どうすればそれを実装できますか。

ありがとう。

4

2 に答える 2

2

目的に合わせてカスタム ロールを定義できます。

admin.system.roles.rolesカスタム ロールのフィールドを継承することで、既存のロールを拡張することもできます。

カスタム ロールの例を次に示します。

{
  role: "YourRole",
  db: "YourDatabase",
  privileges:
      [
          {
              resource: {db: "YourDatabase", collection: "OneOfCollections"},
              actions: ["find", "insert", "update", "remove", "createIndex" ...]
          },
          {
              resource: {db: "YourDatabase", collection: "AnotherCollection"},
              actions: ["find", "insert", "update", "remove", "createIndex" ...]
          },
          .
          .
          .
      ],
  roles:
      [
          { role: "RoleYouWantToInherit", db: "TheDatabaseRoleIsDefinedFor" },
          ...
      ]
}
于 2015-05-25T11:16:06.280 に答える
0

@n9コード

管理コレクションで次のクエリを実行すると、エラーが発生します。

db.runCommand({
    createRole:"mynew",
    priviliges : [..],
    roles: [
    { role: "read", db: "admin" }
  ],
  writeConcern: { w: "majority" , wtimeout: 5000 }
})

「エラー メッセージ: no such cmd creareRole」を表示する

于 2015-05-25T16:03:59.563 に答える