次の方法で共有


セキュリティ保護された ASP.NET アプリケーションの構築 : 認証、認定、および通信のセキュリティ保護 Windows 2000 での Kerberos 委任の構成方法

patterns and practices home

J.D. Meier, Alex Mackman, Michael Dunner, and Srinath Vasireddy
Microsoft Corporation

November 2002
日本語版最終更新日 2003 年 3 月 17 日

適用対象:
    Microsoft® ASP.NET
    Microsoft Windows® 2000

全体の概要については、「セキュリティ保護された ASP.NET アプリケーションの構築」の開始ページを参照してください。

要約 : Kerberos 委任を使用すると、認証された ID を、複数の物理的なアプリケーションの層にわたって伝達することができるため、下位方向の認証と認定をサポートできます。ここでは、Kerberos 委任の構成に必要な手順について説明します。

目次

メモ
必要条件
要約
参考資料

Microsoft® Windows® 2000 オペレーティング システムは、既定で Kerberos プロトコルを認証に使用します。ここでは、Keberos 委任の構成方法について説明します。Kerberos 委任とは、サーバーがクライアントを偽装し、サーバーがクライアントの代理となってリモート リソースにアクセスできるようにする強力な機能です。

重要 委任は非常に強力な機能で、Windows 2000 では制約がありません。慎重に使用してください。委任をサポートするよう構成されているコンピュータでは、アクセス権を厳格に管理し、この機能が誤用されないようにしてください。
Windows Server 2003 の委任機能では制約設定がサポートされています。

サーバーがクライアントを偽装するとき、次の条件が満たされると、Kerberos 認証によって委任レベルのトークンが生成されます。委任レベルのトークンは、ネットワーク認証要求に対するリモート コンピュータからの応答に使用できます。

  1. 偽装されるクライアント アカウントが、Microsoft Active Directory? ディレクトリ サービスで、"アカウントは重要なので委任できない" として設定されていない。
  2. サーバー プロセス アカウント (サーバー プロセスの実行に使用するユーザー アカウント、またはローカル システム アカウントでプロセスを実行する場合はコンピュータ アカウント) が、Active Directory で、"委任に対して信頼されている" として設定されている。

メモ

  • Kerberos 委任が正常に機能するためには、すべてのコンピュータ (クライアントおよびサーバー) が同一の Active Directory フォレストに所属している必要があります。

  • サービス コンポーネント内で偽装し、呼び出し側のコンテキストを Enterprise Services アプリケーションを通じて渡す場合は、Enterprise Services をホストするアプリケーション サーバーに、修正ロールアップパッケージ 18.1 以上がインストールされている必要があります。

    詳細については、「Windows 2000 SP2 以降の COM+ 修正 ロールアップ パッケージ 18.1」を参照してください。

必要条件

ハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、スキル、知識、サービス パックの要件としては、Active Directory が構成された Windows 2000 Server が必要です。

要約

ここでは、次の手順について説明します。

  1. クライアント アカウントで委任が許可されていることを確認する。
  2. サーバー プロセス アカウントが委任に対して信頼されていることを確認する。

1. クライアント アカウントで委任が許可されていることを確認する

ここでは、クライアント アカウントで委任が許可されていることを確認します。

■ クライアント アカウントで委任が許可されていることを確認するには

  1. 管理者アカウントを使用してドメイン コントローラにログオンします。
  2. タスク バーの [スタート] ボタンをクリックし、[プログラム] をポイントします。次に、[管理ツール] をポイントし、[Active Directory ユーザーとコンピュータ] をクリックします。
  3. 使用するドメインの Users フォルダをクリックします。
  4. 委任対象のユーザー アカウントを右クリックして [プロパティ] をクリックします。
  5. [アカウント] タブをクリックします。
  6. [アカウント オプション] の [アカウントは重要なので委任できない] チェック ボックスがオフになっていることを確認します。
  7. [OK] をクリックして、[プロパティ] ダイアログ ボックスを閉じます。

2. サーバー プロセス アカウントが委任に対して信頼されていることを確認する

ここでは、サーバー プロセス (偽装を行うプロセス) の実行に使用するアカウントが、クライアント アカウントの委任を許可されているかどうかを確認します。サーバー プロセスの実行に使用するユーザー アカウントを構成する必要があります。ローカル システム アカウントでサーバー プロセスを実行する場合は、コンピュータ アカウントを構成する必要があります。サーバー プロセスの実行に Windows アカウントを使用するか、ローカル システム アカウントを使用するかに応じて、該当する方の手順に従ってください。

■ サーバー プロセスの実行に Windows ユーザー アカウントを使用している場合、サーバー プロセス アカウントが委任に対して信頼されていることを確認するには

  1. [Active Directory ユーザーとコンピュータ] の Users フォルダで、サーバー プロセス (クライアントを偽装するプロセス) の実行に使用するユーザー アカウントを右クリックし、[プロパティ] をクリックします。
  2. [アカウント] タブをクリックします。
  3. [アカウント オプション] の [アカウントは委任に対して信頼されている] チェック ボックスをオンにします。

■ サーバー プロセスの実行にローカル システム アカウントを使用している場合、サーバー プロセス アカウントが委任に対して信頼されていることを確認するには

  1. [Active Directory ユーザーとコンピュータ] の Computers フォルダを右クリックし、[プロパティ] をクリックします。
  2. サーバーのコンピュータ (クライアントを偽装するプロセスを実行するコンピュータ) を右クリックし、[プロパティ] をクリックします。
  3. [全般] タブの [コンピュータを委任に対して信頼する] をクリックします。

参考資料

  • Windows 2000 (SP2) 以降の COM+ 修正ロールアップ パッケージ 18.1 によって影響を受けるファイルの一覧については、Microsoft サポート技術情報の Knowledge Base の文書313582「Windows 2000 SP2 以降の COM+ 修正 ロールアップ パッケージ 18.1」を参照してください。
  • ASP.NET、Enterprise Services、および SQL Server を含む委任プロセス全体の構成方法については、「第 5 章 イントラネット セキュリティ」の「最初の呼び出し元をデータベースにフローする」を参照してください。

patterns and practices home