SQL Server と Kerberos 認証の併用
SQL Server と Kerberos 認証を併用するには、次の両方の条件が満たされる必要があります。
クライアント コンピュータとサーバー コンピュータが、同じ Windows ドメインまたは信頼関係のあるドメインの一部であることが必要です。
SPN (サービス プリンシパル名) は、Windows ドメインのキー配布センターの役割を担う Active Directory に登録されることが必要です。SPN は、登録後に、SQL Server インスタンス サービスを起動した Windows アカウントに対してマップされます。SPN 登録がまだ実行されていないか失敗した場合、Windows セキュリティ レイヤは、SPN に関連するアカウントを決定することができず、Kerberos 認証は使用されません。
注 サーバーが SPN を自動的に登録できない場合、SPN を手動で登録する必要があります。
Kerberos を使用して接続しているかどうかを確認するには、sys.dm_exec_connections 動的管理ビューに対してクエリを実行します。次のクエリを実行して auth_scheme 列の値を確認します。Kerberos が有効な場合、この値は "KERBEROS" になります。
SELECT auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@spid ;
SELECT auth_scheme FROM sys.dm_exec_connections WHERE session_id = @@spid ;
認証での SPN の役割
アプリケーションが接続されて Windows 認証を使用すると、SQL Server Native Client が、SQL Server サーバー名、インスタンス名、およびオプションで SPN を渡します。接続の際に SPN が渡される場合、変更せずに使用されます。
接続の際に SPN が渡されない場合、使用されたプロトコル、サーバー名、およびインスタンス名に基づいて既定の SPN が構築されます。
前の両方のシナリオでは、SPN はキー配布センターに送信され、接続認証のためのセキュリティ トークンを取得します。セキュリティ トークンを取得できない場合、NTLM 認証が使用されます。