SQL Server 2008 を使用しており、Active Directory (AD) で権限を設定しています。コア テーブルの各行は、各行を表示する権限を持つユーザーのみが表示できるようにする必要があります。各行に行レベルのセキュリティを設定できます (各行には、AD グループと一致する単一のロールが含まれます) が、次の問題があります:-
- 役割は国を表すため、私は数百の役割を持っています。さらに、いくつかのロールにアクセスできるユーザーが何人かいます...そして、ユーザーがアクセスできるいくつかのロールは、一貫してグループ化されていません(つまり、重複があります):したがって、ロールとユーザーは多対多の関係です
この場合 (柔軟なモデルを有効にするため)、私の最初の本能は、国ごとに 1 つの AD グループを作成し、次にデータベース ロール内にグループを作成することです (各国をグループ化するため)。ただし、これはメンテナンスのオーバーヘッドになります。たとえば、すべてのグループにアクセスできるスタッフ メンバーが多数いるため、国がオンラインになると、新しい AD グループが作成されます。つまり、これらのユーザーをメンバーとして新しい AD グループ (および新しいグローバル ユーザーをすべてのグループに追加する必要があります) - 全体的にアクセスできるグローバル グループが必要です。
この種の問題に遭遇した人はいますか。基本的に、非常に詳細な AD グループのみがあれば、データベース ロール レベル内で多対多に対応できますが、たとえば、詳細な AD グループ (詳細なアクセス許可が必要なユーザー用) とそれらのグローバル AD グループを使用したいと考えています。すべての行にアクセスする必要があるユーザー (グローバル アクセス権を持つユーザーを追加するだけで済みます)