ロール ベース セキュリティは、アプリケーションの実行を要求するエンティティの ID またはロールに基づいて開発者が認定を判断する、アプリケーションに共通の概念です。ロールの定義は、一般にはアプリケーション固有で、管理者が特定のアクションを認証するときの条件のことです。
アプリケーション開発者が実行コンテキストに関連付けられた ID やロールに基づいて認定の判断を行うことは一般的なことです。これは、銀行システムや業務のシステムでポリシーを施行するためにしばしば行われます。たとえば、要求を行ったユーザーのロールに基づいて、トランザクションの値を制限するとします。この場合、一般行員はある設定値までトランザクションを処理でき、管理職はより高い値まで処理でき、副社長はさらに高い値まで処理できるようにします。もう 1 つの例は、アクションを完了するために複数の承認を必要とする業務システムです。どの従業員も購買要求を生成できるが、その要求を仕入先に送信できる発注書に変換できるのは購買部門だけであるような購買システムが考えられます。
これまでは、そのような要求は相互に互換性のないさまざまな機構によって処理されてきました。Microsoft はこのタイプのロールベース セキュリティをサポートするインフラストラクチャを Microsoft Transaction Server で初めて導入し、最近では COM+ 1.0 Services で導入しています。.NET Framework では、同様のサポートが .NET 技術に十分に統合された形で提供されています。.NET Framework のロール ベース セキュリティには、次の機能が用意されています。
- コードの実行を要求するエンティティの ID やロールをチェックする機能が用意されています。
- .NET リモート処理を使用する分散アプリケーションと十分に統合されています。
- クライアントとサーバーのどちらの実行環境でも安定して動作します。
- これらのサービスを、コード アクセス セキュリティ チェックと同様の機構によって、アプリケーション開発者に公開します。
- 広く普及しており、またいつでも使用できます。
- 簡単な設定でアプリケーション定義のロールを使用できます。