Kerberos/Negotiate プロトコルを介して、ユーザーに代わってプロキシで認証を行いたいと考えています。ユーザーはサーバーとのフォームログインで認証され、サーバーはユーザーが誰であるかを認識し、サーバーはkerberosを使用してユーザーに代わってバックエンドサーバーに認証する必要があります.
サンプル コードを教えていただくか、参考文献を教えてください。
前もって感謝します
-csr
Kerberos/Negotiate プロトコルを介して、ユーザーに代わってプロキシで認証を行いたいと考えています。ユーザーはサーバーとのフォームログインで認証され、サーバーはユーザーが誰であるかを認識し、サーバーはkerberosを使用してユーザーに代わってバックエンドサーバーに認証する必要があります.
サンプル コードを教えていただくか、参考文献を教えてください。
前もって感謝します
-csr
Michael: OP は、あなたが参照している標準の委任 (TGT 転送) ではなく、MS が "制約付き委任" と呼んでいるもの、つまり彼らが発明した S4U Kerberos 拡張機能について尋ねています。
CSR: 最初に: ユーザーは「ログインフォーム」で Kerberos パスワードを提供していますか? その場合、S4U を使用する必要はありません。パスワードでkinitして、資格情報を直接取得できます。
そうでない場合、これは実際に S4U が意図されているユースケースの 1 つです。あなたは言いませんでしたが、S4U は MIT Kerberos にも追加されていますが、Windows 環境にいると仮定します。
クライアントに TGT を転送させるのではなく、S4U を使用すると、ドメイン管理者は、サービス プリンシパルが任意のユーザーを他のサービスの限られたセットに個別に偽装することを承認できます。制約付き委任のサービスを有効にするには:
あなたの場合、「認証プロトコルを使用する」も設定する必要があります。これにより、「プロトコル遷移」が可能になります。サービスが Kerberos を使用してユーザーを認証している場合、DC は、サービスがクライアントからの最近のチケットを提示することを要求し、これを行うビジネスがあることを証明できます。ただし、別の認証方法を使用しているため、そのチェックを忘れる必要があります。それがプロトコル遷移の機能です。
S4U を理解するためにここから始めます: http://msdn.microsoft.com/en-us/library/cc246071(PROT.13).aspx。
Unix Web サービスの制約付き委任を実装する Apache mod_auth_kerb 用のパッチを作成したので、実際に機能します。:)
クライアントに、転送可能な (OK-AS-DELEGATE) チケットを送信してもらいます。そこから TGT を抽出し、偽装してタスクを実行できます。これは、IE または FF からサービス チケットを受け取り、ユーザーの AD に対してバインドする場合に機能します。