2017-02-14 6 views
1

Kerberosを使用して1つのサーバーサービスを開発していて、クライアントからチケットを取得しました。事前定義されたキータブでチケットを解読できます。チケット。以前は、LDAPプロシージャを使用してユーザーのグループ・メンバーシップに問い合せて、認可情報を取得しました。KerberosチケットのPAC情報の使用方法

PACのログオン情報にはメンバーシップが含まれていますが、グループIDですが、CNベースのフォーマット(CN = xxx、OU = xxx、DC = xxx ...)が必要です。

一般的に、この認可データをサービスサーバーのチケットで使用する方法を知りたいと思います。ありがとう!

+0

ここでは、Kerberos用のActive Directoryを使用していると仮定しています。もしそうなら、以下のタグもこの質問にしてください:active-directory、spnego、ldap –

+0

が更新されました。はい、私はアクティブディレクトリを使用しています。現在、グループ名をSIDにマッピングすることは、LDAPクエリによって解決できます。私は、Kerberosを実装するためにGSSAPIを使用しています。今私はPAC情報を抽出する必要があります。 – orasy

答えて

1

アプリケーションサービスがWindows上で実行されていない場合、深刻な問題を克服せずにPACを読み取ることはできません。 PACは、マイクロソフト独自のコードを使用して構築されています。これは、マイクロソフトがKerberos IW RFC 1510の味に導入したものですが、「わずかに変更されました」という言葉です。 Shortly after the release of Windows 2000 [Active Directory], Microsoft received some negative press attention because of the proprietary way they used the PAC field in a Kerberos ticket. [Microsoft] explicitly forbids the creation of software that implements the PAC as described in the specifications.

私はとにかくPACを読むことができる何かオープンソースや信頼性を見つけようと長い時間を費やして、私はそのJAASLounge does thisを発見しました。しかし、それは古い記事です(2010年から)。マイクロソフトの声明に基づく私の解釈に基づいて、利用規約に違反しているように見えることに注意してください。

とにかく、私はこのフォーラムでJAASLoungeがこのように機能していると主張している人々と、作業しなければならなかったトラブルの2つのスレッドをブックマークしました。場合

Decrypt kerberos ticket using Spnego

Malformed PAC logon info on new KerberosToken

あなたはこのルートを下る、およびADのユーザーのグループメンバーシップを決定するためにPACをバイパスするにしたくない、あなたが作るに頼る必要がありますLDAPはADドメインコントローラにコールバックします。

IISやSharePointなどのWindowsベースのアプリケーションサーバー上で実行している場合は、PACのKerberosデコードが自動的に行われるため、特別なコード、構成、またはキータブファイルはありません必須。

+0

T-Heron、ご返信ありがとうございます。 MIT Kerberosのドキュメントでは、PAC情報を取得するためのAPIが見つかりました。私は正常にC言語でそれを更新します。 – orasy

+1

gssapiを使用すると、pacデータを取得し、ログオン情報バッファをデコードして認可データ(グループメンバーシップ)を取得できます。 – orasy

+0

@ Orasy。ご意見ありがとうございます。私はこの応答をブックマークしました。 –

関連する問題