次の方法で共有


State Server の設計に関する考慮事項

手記

Windows Server 2008 以降、インターネット認証サービス (IAS) の名前がネットワーク ポリシー サーバー (NPS) に変更されました。 このトピックの内容は、IAS と NPS の両方に適用されます。 テキスト全体を通じて、NPS は、最初に IAS と呼ばれたバージョンを含め、サービスのすべてのバージョンを参照するために使用されます。

 

設計によっては、現在ネットワークにログオンしているユーザーを追跡するためにサーバーが必要になる場合があります。 状態サーバーの主な課題は、実際にログオンしているユーザーと状態サーバー データベースの情報を同期し続けることです。 状態サーバーの情報が同期されていない場合、ユーザーがセッションを許可されていない場合は、複数のセッションが正常に実行される可能性があります。 また、複数のセッションを持たないユーザーは、誤って罰せられる可能性があります。

状態サーバーの実装では、次の事項を考慮する必要があります。

  • 状態サーバーは、数秒でオンラインで決定を行う必要があります。 このため、状態サーバーには、1 秒あたりに多数の更新とクエリをサポートできるスケール可能なインフラストラクチャが必要です。 リレーショナル データベースは、このような大規模なクエリと同時更新には適していません。 リレーショナル データベースは、主にデータの整合性を維持し、すべてのコンシューマーにデータの一貫性のあるビューを提供するために構築されています。 これらは、クイック更新用に構築されていません。
  • 複数のオブジェクト間の更新に対するトランザクションの整合性は重要ではありません。 これは、状態サーバーが機会の小さな時間枠を許容できるためです。 ただし、1 つの更新プログラムのトランザクション整合性は、いずれかの RADIUS サーバーが更新の途中でシャットダウンされた場合に、状態サーバーが不整合な状態になる可能性を減らすために重要です。
  • 永続的な情報はネットワークの実際の状態とすぐに同期しないため、永続性 (ネットワークの状態を永続的なストレージに保存する) は重要ではありません。
  • ISDN または他の形式のマルチリンクがネットワークでサポートされている場合、状態サーバーはこれらの機能を使用するシナリオを処理できる必要があります。

考えられる設計の 1 つは、認証拡張機能 DLL と承認拡張機能 DLL の両方を実装することです。 これらの DLL はそれぞれ、ネットワーク経由でデータベースと通信できます。 Authorization Extension DLL は、現在ネットワークにログオンしているユーザーに関する情報を使用してデータベースを更新できます。 認証拡張機能 DLL は、この情報をデータベースに照会して、特定のユーザーの認証要求を受け入れるか拒否するかを決定できます。ユーザーが既にログオンしている場合、要求は拒否されます。

Authorization Extension DLL で状態サーバー データベースを更新する利点は、認証されたユーザーに関する詳細情報に Authorization Extension DLL がアクセスできる点です。 承認拡張機能 DLL は、NPS 承認メカニズムからすべての承認属性にアクセスできます。 たとえば、一部のユーザーには、複数のセッションを許可する承認がある場合があります。 状態サーバーでは、このようなユーザーを特別なケースとして扱う必要があります。