アクセスの程度を制限するn ユーザー ロールがあります。
- リーダー (読み取り専用)
- 作成者 (選択、挿入、更新、削除)
- メンテナー (例: 組織単位の新しいテーブルまたはビューを作成する)
各国の営業部門など、m 個の組織単位(部門)ごとに
- アメリカ合衆国
- 日本
- イギリス
- ドイツ
これにより、テーブルとデータ行の可視性が制限されます (行レベルのセキュリティ)。
質問: アクセス制御要件を満たすために最適な設定は何ですか?
- あまりにも多くのログイン、DB ユーザー、または DB ロールを作成せずに (たとえば、n * m の完全なマトリックスを作成することはオプションではありません。n + m は完璧です)。
- ユーザーがテーブルを表示して、標準のクエリ/レポート ツールを使用できるようにします (ビューは許容されます)。
- ユーザーの変更に必要な DB の変更を最小限に抑えるため (私は Active Directory を使用しています)
- メンテナー ユーザー ロールによる新しいテーブルの作成を、たとえば、ユーザーがアクセスできる (国?) スキーマに制限するには?
Windows AD グループに基づいてデータベース ロールを使用することを考えましたが、ロールの n * m 爆発を回避する方法がわかりません (したがって、AD グループを参照するための DB ログイン)。
注: 同様の質問を見ましたが、組織単位を (重複する) 階層にグループ化することに関連しています (ただし、ユーザーの役割は区別されませんでした)。
Microsoft SQL Server 2012 を使用しており、ユーザーとグループは Active Directory で管理されています...
SQL Server 2012の行レベル セキュリティのホワイト ペーパーで説明されているようなソリューションは、私にとっては複雑すぎるようです (それが唯一のオプションになるまでは ;-)