web-dev-qa-db-ja.com

SSPIを使用して、あるワークグループのサーバー上のSQL Server 2008 R2に、別のワークステーションのワークステーションからログインするにはどうすればよいですか?

SSPIを介したSQLServer(2008 R2)への接続に問題があります。

私たちのチームは最近、ドメインベースのセットアップから分散型ワークグループベースのセットアップに移行しました。各開発者はVPNにアクセスでき、VPNはSQL Server 2008R2を実行しているデータベースサーバーへのアクセスを提供します。

以前はWindows認証を使用し、ドメインに参加しているPCから_DOMAIN\user.name_ユーザー名でログインし、同じユーザー名とパスワード(ドメインではない)でリモートSQLサーバー(ワークグループ上)にアカウントを追加しました。 Windowsセキュリティグループに追加し、SQLサーバーでそのグループにアクセス許可を付与します。

ただし、ドメインから切り替えてから、SSPIを使用して接続できませんでした。

TCP/IPを介したWindows認証を使用してデータベースにアクセスしようとすると、次のエラーメッセージが表示されます。

ログインに失敗しました。ログインは信頼されていないドメインからのものであり、Windows認証では使用できません。 (Microsoft SQL Server、エラー:18452)

SQL Serverログインの指定は期待どおりに機能しますが、SSPIの使用は失敗します。 SQL Server側でイベントログを確認すると、次のことがわかります。

統合セキュリティとの接続の確立中に、SSPIハンドシェイクがエラーコード0x8009030c、状態14で失敗しました。接続が閉じられました。理由:AcceptSecurityContextが失敗しました。 Windowsのエラーコードは、失敗の原因を示しています。 [クライアント:192.168.xxx.xxx]。

マネージドホスティングプロバイダーがワークグループ名を番号に設定しました。ワークグループの名前は12345678(実際の名前はアカウント番号)のように見せかけます。ローカルワークグループを同じ番号に変更しようとしましたが、問題は解決していません。

他のユーザーによって提案されたソリューションの多くは、setspnと呼ばれるツールを参照しており、そのツールを使用して、アカウントで使用されているSPNを一覧表示して見つけます。

以下を使用して制限を回避しています。

runas /netonly /user:REMOTEPCNAME\user.name "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"

認証にこの方法を使用する必要がありますか?

2
abitgone

11年前、ワークステーションのドライブ文字をリモートマシンにマッピングし、他のマシンに資格情報を提供することで、同様の問題の問題を回避しました。あなたにとって、それは次のようになります(CMDまたはPSHシェルから):

Net Use x: \\REMOTEPCNAME\c$ /user:REMOTEPCNAME\john.doe

明らかに、それはあなたがアクセスできないかもしれない「管理共有」を使用します。私はそのボックスのAdministratorsグループのメンバーだったので、それは私にとって問題ではありませんでした。管理者アクセス権がない場合は、(十分な権限を持つ誰かが)パブリック共有を設定し、それを使用する必要があるかもしれません。これは私が信じています試していなくても動作する場合があります。

このトリックは、ドメインがまれで、ADが新しいものであった当時、かなり一般的なことでした。もう行うことはあまり一般的ではありませんが、Microsoftがこの回避策を中止または中断したと聞いたのを覚えていません。

本格的なActiveDirectoryが設定されていない状況でSPNが使用されるのを見たことがありません。 IIRC、SPNにはKerberosが必要であり、Kerberosにはドメインが必要です。 SPNのリードは赤いニシンだと思います。幸運を。

1
darin strait