Kerberos (委任) のみを使用して、WinRM サービスの「2 番目のホップ」で偽装することは可能ですか?
CredSSP は、ユーザー パスワードを要求できないため、私にとっては解決策ではありません。Windows 2008 R2、C#、.NET 4.0 を使用しています ...
シナリオ: クライアント/サーバー アプリケーションがあります (クライアントは ODBC ドライバーを使用してサーバーと通信します)。クライアントは現在のユーザーの Windows 資格情報を取得し、サーバーに渡します。サーバーはスレッドを作成し、呼び出し元を偽装します。このなりすましスレッドから、Kerberos 認証を使用してリモート WinRM サービス (PowerShell) を呼び出そうとしていますが、常に失敗します:
System.Management.Automation.Remoting.PSRemotingTransportException: リモート サーバーからのデータの処理に失敗し、次のエラー メッセージが表示されました: アクセスが拒否されました。詳細については、about_Remote_Troubleshooting ヘルプ トピックを参照してください。
したがって、呼び出し元に許可がないようです..
デバッグすると、違いは現在のプリンシパルの ImpersonationLevel プロパティ (None と Delegation) にあります。
- コンソールアプリケーションから同じコードを実行すると動作します
- 現在、クライアントとサーバーは同じマシン上にあります
アドバイスをありがとう