グループ メンバーシップ送信をクレーム ルールとしていつ使うべきか

このルールは、Active Directory フェデレーション サービス (AD FS) 2.0 で、指定された Active Directory セキュリティ グループのメンバーであるユーザーだけに新しい送信クレーム値を発行する場合に使用できます。このルールを使用する場合は、指定するグループのみに向けて、次の表に示すルール ロジックに適合する 1 つのクレームを発行します。

ルール オプション ルール ロジック
Outgoing claim value ユーザーのグループ メンバーシップが指定されたグループと等しく、送信クレームの種類が指定されたクレームの種類と等しい場合は、既存のグループ名の値を指定された送信クレーム値に置き換えてクレームを発行する。

次のセクションでは、クレーム ルールの基本事項について説明します。また、Send Group Membership as a Claim のルールを使用する場合の詳細についても説明します。

クレーム ルールについて

クレーム ルールは、受信クレームを取得し、それに条件を適用し (x の場合は y を実行、という形式)、条件パラメーターに基づいて送信クレームを生成するというビジネス ロジックのインスタンスを表します。このトピックを読み進める前に、クレーム ルールについて、以下の重要事項を確認しておいてください。

  • AD FS 2.0 管理スナップインでクレーム ルールを作成するには、クレーム ルール テンプレートを使用する必要があります。

  • クレーム ルールは、クレーム プロバイダー (Active Directory または別のフェデレーション サービスなど) から直接送信された受信クレームを処理するか、クレーム プロバイダーの信頼に関する受け入れ変換ルールの出力から得られる受信クレームを処理します。

  • クレーム ルールは、1 つのルール セット内で古い順に、クレーム発行エンジンによって処理されます。ルールに優先順位を設定することで、指定されたルール セット内で先行するルールによって生成されたクレームをさらに絞り込んだり、フィルター処理することができます。

  • クレーム ルール テンプレートでは、常に受信クレームの種類を指定する必要があります。ただし、クレームの種類が同じ複数のクレーム値は 1 つのルールで処理できます。

クレーム ルールおよびクレーム ルール セットの詳細については、「クレーム ルールの役割」を参照してください。ルールの処理方法の詳細については、「クレーム エンジンの役割」を参照してください。クレーム ルール セットの処理方法の詳細については、「クレーム パイプラインの役割」を参照してください。

Outgoing claim value

Send Group Membership as a Claim ルール テンプレートを使用して、指定するグループのメンバーにユーザーが属するかどうかを条件とするクレームを発行できます。

言い換えると、このルール テンプレートでクレームが発行されるのは、管理者が指定する Active Directory グループと一致するグループ セキュリティ ID (SID) をユーザーが持つ場合だけです。Active Directory ドメイン サービス (AD DS) で認証されるすべてのユーザーは、所属するグループごとに、受信方向のグループ SID クレームを持ちます。既定では、Active Directory クレーム プロバイダーの信頼に関する受け入れ変換ルールは、これらのグループ SID クレームを通過させます。これらのグループ SID に基づいてクレームを発行すると、ユーザーのグループを AD DS で検索するよりも大幅に処理が速くなります。

このルールを使用する場合は、選択する Active Directory グループに基づいて 1 つのクレームのみが送信されます。たとえば、ユーザーが Domain Admins セキュリティ グループのメンバーである場合に、このルール テンプレートを使用して、"Admin" の値を含むグループ クレームを送信するルールを作成できます。

クレーム プロバイダーの信頼でこのルールを構成する

管理者がクレーム プロバイダーの信頼に関する受け入れ変換ルールの中でこのタイプのルールを使用する必要があるのは、グループ SID をクレーム プロバイダーから受信している場合だけです。この状況は、Active Directory または AD DS を除き、すべてのクレーム プロバイダーでほとんど発生しません。

このルールの作成方法

このルールを作成するには、クレーム ルール言語を使用するか、または AD FS 2.0 管理スナップインの Send LDAP Group Membership as a Claim ルール テンプレートを使用します。このルール テンプレートには、以下の構成オプションがあります。

  • クレーム ルール名を指定する

  • オブジェクト ピッカーを使用してユーザーのグループを選択する

  • 送信クレームの種類を選択する

  • 送信方向の Name ID 形式を選択する (送信クレームの種類のフィールドから Name ID を選択する場合にのみ使用できます)

  • 送信クレームの値を指定する

このルールの作成方法の詳細については、「グループ メンバーシップをクレームとして送信するためのルールを作成する」(英語) を参照してください。

クレーム ルール言語を使用する

グループ SID 以外の受信方向の SID に基づいてクレームを発行する場合は、Transform an Incoming Claim ルール テンプレートを使用します。管理者は、ユーザーがメンバーになっているすべてのグループの名前を取得する場合、tokenGroups 属性を使用する代わりに、Send LDAP Attributes as Claims ルール テンプレートを使用します。

例: ユーザーのグループ メンバーシップに基づいてグループ クレームを発行する方法

次のルールは、受信方向のグループ SID に基づいてユーザーのグループ クレームを発行します。

c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid", Value == "S-1-5-21-397933417-626991126-188441444-512", Issuer == "AD AUTHORITY"] => issue(Type = "https://schemas.xmlsoap.org/claims/Group", Value = "administrators", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, ValueType = c.ValueType);

その他の参照先

属性ストア (英語)

LDAP 属性をクレームとして送信するためのルールを作成する (英語)