4

私はこれを使用していませんが、興味深い質問です。Windows 認証を使用するように IIS で Web アプリケーションを設定し、認証されたユーザーと ConnectionString を SQLServer データベースに偽装するIntegrated Security=true;場合、データベースに接続しようとすると、アプリケーションはアプリケーションによって認証されたユーザーを使用しますか?

はいの場合、これは良いことですか?(データベースには LDAP/AD の「ドメイン ユーザー」権限があります。各ユーザーのアクションが記録される監査可能なデータベースを検討してください。)

4

4 に答える 4

3

EK の回答は、kerberos 認証が使用されている状況でのみ正しいと思います。あなたが説明していることは、「ダブルホップ」として知られています。基本的に、ユーザーが「Server-A」に対して認証を行うと、「Server-A」で実行されているコードは方向転換できず、それらの資格情報を使用して「Server-B」の SQL Server などの他のネットワーク リソースにアクセスできません。これはかなり詳細ですが、ここに直接リンクがあります: ブログ記事

Kerberos アーキテクチャのネットワークで実行している場合は、サーバーを信頼できる委任サーバーとしてマークできます。しかし、ほとんどの人にとって、これは当てはまりません。この方法について詳しく知りたい場合は、このリンクを参照してください。

于 2013-11-01T20:40:50.200 に答える
2

はい、SQL Server への接続はこれらのユーザーの下にあります。

一般的に、それは良くありません。しかし、それは状況によって異なります。考慮すべき主な要因は次のとおりです。

  1. 各ユーザーには独自の接続が必要です。接続プールが使用されている場合でも、異なるユーザーからの接続を再利用することはできません。接続の作成は、比較的コストのかかる操作です。そして、各接続には少しのメモリが必要です
  2. 各ユーザーはログインする必要があります (または、少なくともユーザーがメンバーである Windows グループにログインする必要があります)。これは、ログインなどを作成するための追加のメンテナンスになる可能性があります。一方、そのような各ログインは、異なる方法で保護できます。重要なのは、単一のアカウントを使用して SQL Server に接続する場合でも、さまざまなユーザーのオブジェクトを保護できることです。
于 2013-11-01T20:15:50.300 に答える
0

もう 1 つの方法は、サービス アカウント (データベースに完全にアクセスできる非対話型 Windows ドメイン アカウント) を使用することです。

これにより、接続プーリングが可能になります。たとえば、選択したユーザーが一連のデータに対して削除を実行できるようにするために、複雑な権限モデルが排除されます。

ただし、これは、アプリケーションのデータ層とデータベースにアクセスするストアド プロシージャに監査ロジックを追加して、呼び出し元のユーザーがデータベース アクセスの一部としてログに記録されるようにする必要があることを意味します。そうしないと、サービス アカウントが唯一のアカウントになります。監査テーブル。

于 2013-11-08T02:11:09.653 に答える