2

SQL Server 2008 を使用しており、Active Directory (AD) で権限を設定しています。コア テーブルの各行は、各行を表示する権限を持つユーザーのみが表示できるようにする必要があります。各行に行レベルのセキュリティを設定できます (各行には、AD グループと一致する単一のロールが含まれます) が、次の問題があります:-

  • 役割は国を表すため、私は数百の役割を持っています。さらに、いくつかのロールにアクセスできるユーザーが何人かいます...そして、ユーザーがアクセスできるいくつかのロールは、一貫してグループ化されていません(つまり、重複があります):したがって、ロールとユーザーは多対多の関係です

この場合 (柔軟なモデルを有効にするため)、私の最初の本能は、国ごとに 1 つの AD グループを作成し、次にデータベース ロール内にグループを作成することです (各国をグループ化するため)。ただし、これはメンテナンスのオーバーヘッドになります。たとえば、すべてのグループにアクセスできるスタッフ メンバーが多数いるため、国がオンラインになると、新しい AD グループが作成されます。つまり、これらのユーザーをメンバーとして新しい AD グループ (および新しいグローバル ユーザーをすべてのグループに追加する必要があります) - 全体的にアクセスできるグローバル グループが必要です。

この種の問題に遭遇した人はいますか。基本的に、非常に詳細な AD グループのみがあれば、データベース ロール レベル内で多対多に対応できますが、たとえば、詳細な AD グループ (詳細なアクセス許可が必要なユーザー用) とそれらのグローバル AD グループを使用したいと考えています。すべての行にアクセスする必要があるユーザー (グローバル アクセス権を持つユーザーを追加するだけで済みます)

4

2 に答える 2

2

あなたが説明したことに基づいて、管理するユーザーが多数いる場合、これはサードパーティの管理ツールを作成するか、ID 管理ツールを使用して AD グループと対応する SQL 行レベルのセキュリティを管理するのに適した状況です。

ADグループに関しては、あなたが考えたことは私もやろうとしていることです。

  • 国に基づく100の役割
  • すべての国に 1 つのロール => 他のすべての AD 国グループを含む

ツールを作成します (適切な場所にある場合は、ID 管理ツールが理想的です)。

  • ツールを使用すると、ユーザーを国に手動で割り当てることができます
  • ツールは国を対応する AD グループにマップします (Identity Management はこれをすぐに使用できます)。
  • ツールは、国を対応する SQL 行セキュリティにマップします。
  • ツールは定期的に AD グループと SQL セキュリティに対して国を同期します (これは、システム管理者が手動でユーザー グループをユーザーに割り当てるのを防ぐためです。これも、Identity Management ですぐに使用できます)。
于 2013-02-04T12:42:10.747 に答える