自己管理型配置におけるコレクションレベルのアクセス制御
コレクション レベルのアクセス制御により、管理者は特定のコレクションにスコープが設定された権限をユーザーに付与できます。
管理者は、 ユーザー定義のロール を使用してコレクションレベルのアクセス制御を実装できます。 特定のデータベース内の特定のコレクションにスコープが設定された特権を持つロールを作成することで、管理者はコレクション レベルで特権を付与するロールをユーザーにプロビジョニングできます。
権限とスコープ
権限は、アクションと、そのアクションが許可されるリソースで構成されます。つまり、リソースはその権限のアクションのスコープを定義します。
権限のリソース ドキュメントでデータベースとコレクションの両方を指定することにより、管理者は権限アクションを特定のデータベース内の特定のコレクションのみに制限できます。ロール内の各権限アクションは、異なるコレクションにスコープ設定できます。
たとえば、ユーザー定義のロールには次の権限を含めることができます。
privileges: [ { resource: { db: "products", collection: "inventory" }, actions: [ "find", "update", "insert" ] }, { resource: { db: "products", collection: "orders" }, actions: [ "find" ] } ]
最初の権限は、そのアクションのスコープを products
データベースの inventory
コレクションに限定します。2 番目の権限は、そのアクションのスコープを products
データベースの orders
コレクションに限定します。
ベストプラクティスとして、コレクションの読み取り特権を持たないユーザーに createCollection
特権を割り当てないでください。
詳細情報
ユーザー定義のロールと MongoDB 認証モデルの詳細については、「自己管理型配置におけるロールベースのアクセス制御」を参照してください。 ユーザー定義ロールの作成に関するチュートリアルについては、「自己管理型配置でユーザーとロールの管理 」を参照してください。