SQL Server認証からWindows認証に切替える
SQL Server認証を使用した、ASPや、ASP.NETアプリケーションをWindows認証に切替える場合のメモ。
DBの設定はDB管理者がやってくれるということで、アプリ側の変更点を考えると、
- SQL Serverへの要求を、特定のWindowsアカウントを偽装/使用して行うよう変更
- DBへの接続文字列の変更
の二点。
今回僕が対象にした組み合わせだと、
- SQL Serverへの要求を、特定のWindowsアカウントを偽装/使用して行うよう変更
- DBへの接続文字列の変更
- UDL -> 接続 > Windows NT の統合セキュリティを使用する(W)
- Web.config等のConnectionString -> User IDとPasswordを削除、Trusted_Connection=Yes(YesはTrueと同じだって!!)を追加
って感じだった。もっと別の良いやり方がある可能性は大いにある。参考。
- patterns & practice : How To: ASP.NET 2.0 で Windows 認証を使用する方法
- patterns & practice : How To: ASP.NET 2.0 アプリケーション用のサービス アカウントを作成する方法
パスワードを変更しなくちゃいけなくなった場合に、影響する箇所を減らしたい、という意味だと、IIS 5.0 + ASP.NETのケースでWeb.configでのユーザ偽装はほとんど意味がない感じはする。machine.configだったら、サーバ一台につき一箇所だから、意味あるかなぁ。
どうも、標準的なやり方がよくわからない。IIS 6.0 + ASP.NETだったらアプリケーションプール別にSQL ServerのDBに対する権限を管理するのが良い感じだと思うけど、アプリケーションプールってもっと別の要件で分けたりするし(落ちたときに巻き添えにされないように、とか……)、DB接続のコネクションプール絡みの話もあるみたいでよくわからないな。よくわからんといってちゃ駄目だが……。