0

少し問題が発生しましたが、残念ながら、私の問題に対する具体的な答えを見つけることができませんでした. 問題を説明するために最善を尽くします。私はそれが理にかなっていることを願っています...

SQL Server と Windows 認証の動作に問題があります。複雑なので、わかりやすくするために最善を尽くします。

このシナリオでは、次の図を描きます。

  • 1 つの SQL Server 2008 インスタンス、
  • そのサーバーでは、 と呼ばれる 1 つのデータベースApplications
  • データベースには、とApplicationsという 2 つのスキーマがあります。app1app2
  • 各スキーマには、同じ名前のアプリケーションのすべてのテーブルが含まれています。

  • app1_RWおよびという名前の 2 つの Windows AD グループ (アプリケーションごとに 1 つずつapp2_RW)

  • 任意の数のユーザーが、これらの AD グループの一方または両方に属することができます。
  • 2 つの .NET アプリケーション (どちらも Windows 認証モードを使用してデータベースに接続)

    Data Source=DATABASEINSTANCENAME;Initial Catalog=APPLICATIONS;Integrated Security=True
    

application1ユーザーがまたはを開くapplication2と、アプリケーションは次のことを (この順序で) 実行します。

  1. 現在の Windows ユーザーが、そのアプリケーションのセキュリティを制御する関連する Windows AD グループのメンバーであることを確認してください。

  2. 彼らがその AD グループのメンバーである場合は、アプリケーションの続行を許可し、

  3. Windows 認証を使用してデータベースにログオンします。

問題:

ユーザーが と の両方のメンバーである場合、app1_RWどのapp2_RWグループを強制的にログオンさせることができないようです。ユーザーが にログオンするとapplication1、Windows 認証が を使用してデータベースにログインする場所が表示されますapp2_RWapp2_RWしたがって、実行に必要なスキーマ/権限にアクセスできないため、アプリケーションは失敗しますapplication1

どの Windows AD グループにログインするかを接続文字列として指定するだけの簡単な答えになることを願っていましたが、私が知る限り、接続文字列の "User Id" を指定することはできませんIntegrated Security=True

誰でも助けを提供できますか?アプリケーションの管理に引き続き Windows AD グループを使用したいと考えています。情報が不足している場合、または明確にすることができる場合は、お知らせください。

どうぞよろしくお願いいたします。

4

1 に答える 1

0

2 つの AD グループが相互に排他的でない限り、アプリケーション内でどのグループがスーパーセットであるかに関するルールを設定し、そのグループをログオンとして使用できます。2 つのグループが相互に排他的である場合は、最小限の権限を与えるルールを設定します。それが役立つことを願っています。

于 2013-11-26T16:36:43.663 に答える