クレーム ルールの役割

Active Directory フェデレーション サービス (AD FS) 2.0 におけるフェデレーション サービスの本質的な機能は、クレームのセットを含むトークンを発行することです。AD FS 2.0 がどのクレームを受け入れ、発行するかに関する決定は、クレーム ルールによって管理されます。

クレーム ルールとは

クレーム ルールは、1 つまたは複数の受信クレームを取得し、それに条件を適用し (x の場合は y を実行、という形式)、条件パラメーターに基づいて 1 つまたは複数の送信クレームを生成するというビジネス ロジックのインスタンスを表します。受信および送信クレームの詳細については、「クレームの役割」を参照してください。

クレーム ルールは、クレーム パイプライン内のクレームの流れを制御するビジネス ロジックを実装する必要がある場合に使用します。クレーム パイプラインはクレームの流れのエンド ツー エンド プロセスに関する、やや論理的な概念です。それに対してクレーム ルールは実際の管理要素であり、これを使用することによりクレーム発行プロセスを通じたクレームの流れをカスタマイズできます。

クレーム パイプラインの詳細については、「クレーム エンジンの役割」を参照してください。

クレーム ルールには次の利点があります。

  • クレーム プロバイダーからのクレームを信頼するための実行時ビジネス ロジックを適用するメカニズムが管理者に提供されます。

  • 証明書利用者にリリースされるクレームを定義するメカニズムが管理者に提供されます。

  • 管理者は、特定のユーザーにアクセスを許可または拒否する必要があるとき、豊富で詳細なクレーム ベースの承認機能を使用できます。

クレーム ルールの処理
クレーム ルールは、クレーム エンジンを使用してクレーム パイプラインで処理されます。クレーム エンジンは、フェデレーション サービスの論理コンポーネントです。ユーザーによって提示された受信クレームのセットを調べ、各ルールのロジックに基づいて出力クレーム セットを生成します。

クレーム ルール エンジンと、特定のフェデレーションの信頼に関連付けられたクレーム ルール セットを併用することで、受信クレームがフェデレーション サービスによって送信クレームとして発行される前に、受信クレームをそのまま通過させるか、特定の条件を基準にしてフィルター処理するか、あるいはまったく新しいクレーム セットに変換するかが決定されます。

このプロセスの詳細については、「クレーム エンジンの役割」を参照してください。

クレーム ルール テンプレートとは

AD FS 2.0 には、特定のビジネスのニーズに最適なクレーム ルールを簡単に選択および作成できるように設計された定義済みのクレーム ルール テンプレート セットが含まれています。クレーム ルール テンプレートは、クレーム ルール作成プロセス時にのみ使用されます。

AD FS 2.0 管理スナップインでクレーム ルールを作成するには、クレーム ルール テンプレートを使用する必要があります。スナップインを使用してクレーム ルール テンプレートを選択し、必要なルール ロジックのデータを入力し、構成データベースに保存すると、それ以降は UI からクレーム ルールとして参照できるようになります。

クレーム ルール テンプレートの動作
一見、クレーム ルール テンプレートは、受信クレームに対してデータの収集と特定のロジックの処理を行うためにスナップインが用意している、単なる入力フォームのように思われます。しかし、より詳細なレベルでは、クレーム ルール テンプレートは基本のロジックを構成する必須のクレーム ルール言語フレームワークを格納しており、これによってユーザーは、言語の知識が十分になくても短時間でルールを作成することができます。

ユーザー インターフェイス (UI) で提供されている各テンプレートには、最もよく必要とされる管理タスクに基づいて、クレーム ルール言語の構文があらかじめ挿入されています。ただし、例外のルール テンプレートが 1 つあります。このテンプレートは、カスタム ルール テンプレートと呼ばれます。このテンプレートには、構文はあらかじめ挿入されていません。代わりに、クレーム ルール言語構文を使用して、クレーム ルール テンプレート フォームの本体にクレーム ルール言語構文を直接記述する必要があります。

クレーム ルール言語構文の詳細については、「AD FS 2.0 展開ガイド」の「クレーム ルール言語の役割」を参照してください。

ルールに関連付けられているクレーム ルール言語は、クレーム ルールのプロパティで [View Rule Language] をクリックするといつでも表示できます。

クレーム ルールの作成方法
クレーム ルールは、フェデレーション サービス内のフェデレーションの信頼関係ごとに個別に作成され、複数の信頼間で共有されることはありません。ルールを作成する方法は、クレーム ルール テンプレートから作成する、クレーム ルール言語を使用して一からルールを記述する、あるいは Windows PowerShell を使用してルールをカスタマイズする、のいずれかです。

これらのオプションはすべて同時に使用できるため、特定のシナリオに適した方法を柔軟に選択できます。クレーム ルールの作成方法の詳細については、「AD FS 2.0 展開ガイド」の「クレーム ルールを構成する」(英語) を参照してください。

クレーム ルール テンプレートを使用する
クレーム ルール テンプレートは、クレーム ルール作成プロセス時にのみ使用されます。次のテンプレートのいずれかを使用してクレーム ルールを作成できます。

  • Pass Through or Filter an Incoming Claim

  • Transform an Incoming Claim

  • Send LDAP Attributes as Claims

  • Send Group Membership as a Claim

  • Send Claims Using a Custom Rule

  • Permit or Deny Users Based on an Incoming Claim

  • Permit All Users

各クレーム ルール テンプレートの詳細については、「使用するクレーム ルール テンプレートの種類を決定する」を参照してください。

クレーム ルール言語を使用する
標準のクレーム ルール テンプレートの範囲を超えるビジネス ルールの場合は、カスタム ルール テンプレートでクレーム ルール言語を使用することにより、一連の複雑なロジック条件を表すことができます。カスタム ルール使用の詳細については、「カスタム クレーム ルールを使用する場合」を参照してください。

Windows PowerShell を使用する
Windows PowerShellADFSClaimRuleSet コマンドレット オブジェクトを使用して、AD FS 2.0 内のルールを作成または管理することもできます。Windows PowerShell でこのコマンドレット オブジェクトを使用する方法については、「Windows PowerShell による AD FS 2.0 の管理**https://go.microsoft.com/fwlink/?LinkID=179634**」(英語) を参照してください。

クレーム ルール セットとは

次の図に示すように、クレーム ルール セットは、特定のフェデレーションの信頼に関する 1 つ以上のルールをグループ化したもので、クレーム ルール エンジンによるクレームの処理方法を定義します。フェデレーション サービスが受信クレームを受け取ると、適切なクレーム ルール セットによって指定されたロジックをクレーム ルール エンジンが適用します。ルール セット内の各ルールのロジックの総和により、特定の信頼に対してクレームがどのように発行されるかが決定されます。

クレーム ルールは、1 つのルール セット内で古い順に、クレーム エンジンによって処理されます。あるルールの出力がセット内の次のルールの入力として使用されるため、この順序は重要です。

クレーム ルール セットの種類とは

クレーム ルール セットの種類は、フェデレーション信頼の論理セグメントであり、信頼に関連付けられたクレーム ルール セットがクレームの発行、承認、または受け入れに使用されるかどうかを分類に基づいて識別します。各フェデレーション信頼には、使用される信頼の種類に応じて、1 つまたは複数のクレーム ルール セットの種類が関連付けられます。

次の表に各種のクレーム ルール セットの種類を示し、クレーム プロバイダーの信頼または証明書利用者の信頼との関係を説明します。

クレーム ルールセットの種類 説明 使用対象
受け入れ変換ルール セット

クレーム プロバイダー組織から受け入れる受信クレーム、および証明書利用者の信頼に送信する送信クレームを指定するために、特定のクレーム プロバイダーの信頼に対して使用するクレーム ルールのセットです。

このルール セットを生成するための受信クレームには、クレーム プロバイダー組織で指定された発行変換ルール セットによって出力されたクレームが使用されます。

既定では、クレーム プロバイダーの信頼ノードには、[Active Directory] というクレーム プロバイダーの信頼が含まれています。これは、受け入れ変換ルール セットのソース属性ストアを表すために使用されます。この信頼オブジェクトは、フェデレーション サービスからネットワーク上の Active Directory データベースへの接続を表すために使用されます。このデフォルトの信頼は、Active Directory によって認証されたユーザーのクレームを処理するため、削除することはできません。

クレーム プロバイダーの信頼
発行変換ルール セット

証明書利用者に発行されるクレームを指定するために、証明書利用者の信頼に対して使用するクレーム ルールのセットです。

このルール セットを生成するための受信クレームには、最初は、受け入れ変換ルールによって出力されたクレームが使用されます。

証明書利用者の信頼
発行承認ルール セット

証明書利用者のトークンの受け取りを許可されるユーザーを指定するために、証明書利用者の信頼に対して使用するクレーム ルールのセットです。

このルールは、ユーザーが証明書利用者のクレームを受け取ることができるかどうか、したがって、証明書利用者にアクセスできるかどうかを決定します。

発行承認ルールを指定しない場合、既定では、すべてのユーザーはアクセスを拒否されます。

証明書利用者の信頼
委任承認ルール セット

証明書利用者に対して他のユーザーのデリゲートとして行動することが許可されるユーザーを指定するために、証明書利用者の信頼に対して使用するクレーム ルールのセットです。

このルールは、要求者が、証明書利用者に送信されたトークンで識別されている状態のまま、ユーザーの偽装を許可されるかどうかを決定します。

発行承認ルールが指定されていない場合、既定では、ユーザーはデリゲートとして行動できません。

証明書利用者の信頼
偽装承認ルール セット

Windows PowerShell を使用して構成するクレーム ルールのセットです。これにより、ユーザーが証明書利用者に対して完全に別のユーザーに偽装できるかどうかを決定します。

このルールは、要求者が、証明書利用者に送信されたトークンで識別されることなく、ユーザーの偽装を許可されるかどうかを決定します。

証明書利用者にはユーザーが偽装されていることがわからないため、この方法による別のユーザーへの偽装はきわめて強力な機能です。

証明書利用者の信頼

組織で使用する適切なクレーム ルールの選択については、「使用するクレーム ルール テンプレートの種類を決定する」を参照してください。