3

当社のお客様は、当社のソフトウェアをインストールする際に、サービスを 1 つのボックスで実行し、データベースを別のボックスで実行する「分割インストール」を選択することがよくあります。サービスが他のサービスと通信する場合や、データベースに別のデータベースと通信する必要があるストアド プロシージャが含まれている場合があります。

これは、Kerberos と SetSPN の暗い世界に私たちを導きます。

Windows でサポートされているさまざまな認証レベルの違いを説明するメールをサポート担当者に送信しようとしていましたが、偽装と委任の違いについて私の知識が少し曖昧になっていることに気付きました。ケルベロスに。

誰でも私を啓発できますか?

4

2 に答える 2

4

認証 (authn) は、ユーザーを識別することを意味します。承認 (authz) とは、認証されたユーザーが持つ権限を決定することを意味します。匿名ユーザーは認証されていませんが、システム上で何らかの権限を持っている可能性があります (「ゲスト」)。偽装とデリゲートは表裏一体です。あなたの身元を使用してアクションを実行する場合、私はあなたになりすます。あなたは、あなたになりすまして何らかの行動を取る権利を私に委任します。

Kerberos (または "Kerb") は、トークン ベースの認証スキームです。つまり、ユーザーがログインし、システムで適切に識別 (authn) され、権限 (authz) が与えられるようにする方法です。

コメントごと: 委任に Curb は必要ありませんが、Server 2003 に組み込まれています。NTLM、SSL 証明書マッピング、またはダイジェスト認証も使用できます。しかし、どれも Kerb ほど堅牢で柔軟なものはありません。また、特定のサービスへの委任のみを許可する制約付き委任を行うオプションもあります。その理由は、トークンを検証するために信頼できるサードパーティが必要だからです。大まかに流れはこんな感じ・・・

  1. 私は自分のドメインに対して認証します。
  2. そのドメインは私に証明書を発行します。その証明書は私について主張しています。
  3. 私はその証明書を受け取り、それをサービスに渡します。私は何かをしたいのです。
  4. サービスはその証明書を取得し、信頼できる認証局で検証します
  5. サービスは、認証局との通信に基づいてアクセスを許可または拒否します

ご存知のように深いテーマです。:)上記のオプションのいくつかに関する良い記事を次に示します。また、このWeb キャストもチェックしてください。これは ADFS に関するものですが、役に立つかもしれない概念についてうまく説明しています。

于 2009-06-05T03:30:40.357 に答える
3

Ken Schaefer のWeb サイトで Kerberos についてブラッシュ アップすることをお勧めします。彼のKerberos FAQは素晴らしいです。

上記の回答に加えて、委任は、クライアントの元の認証を使用して、あるサーバーを別のサーバーに認証させます。Kereberos では、これは比較的簡単に実現できます。最初のサーバーがクライアントの認証トークンを「再発行」できるようにするだけです。代替手段 (NTLM) は、チャレンジ/レスポンス認証であるため、委任を簡単/安全に行うことができません。サーバーがセカンダリ サーバーに対して認証を行う唯一の方法は、チャレンジ/レスポンスに応答できる場合であり、それを実行することです。クライアントのパスワードが必要です。

興味深いかもしれないKerberos Delegation に関する ServerFault の回答があります。

于 2009-06-05T18:40:51.443 に答える