ユーザ属性マッピング
ポリシー サーバからユーザ ディレクトリに接続を設定する場合、以下の組み込み属性をディレクトリ固有のユーザ属性名にマップできます。
casso11jp
ポリシー サーバからユーザ ディレクトリに接続を設定する場合、以下の組み込み属性をディレクトリ固有のユーザ属性名にマップできます。
- ユニバーサル ID
- 無効フラグ
- パスワード属性
- パスワード データ
- 匿名 ID
- Email
- チャレンジ/レスポンス
ユーザ属性マッピングにより、
Single Sign-On
で共通名を定義して、それぞれの共通名をユーザ属性名にマップできます。属性名は、基礎スキーマが異なる複数のユーザ ディレクトリに含めることができます。2
ユーザ属性マッピングの概要
ユーザ属性マッピングには、以下の 5 つのタイプがあります。
- エイリアス
- グループ名
- [Mask]
- 定数
- 式
名前付き式タイプは以下のとおりです。
- 仮想ユーザ属性
- ユーザ クラス
ユーザ属性マッピングは名前付き式と似ていますが、以下に示す相違点があります。
- アクセス
- ユーザ属性マッピングの一部のタイプは、ユーザ属性値にマップされている読み取り専用(R)タイプです。これらの属性は変更されません。ユーザ属性マッピングの他のタイプは、ユーザ属性値にマップされている読み取り/書き込み(R/W)可能タイプです。これらの属性は変更可能です。
- すべての名前付き式は読み取り専用(R)です。
- データ型
- ユーザ属性マッピングは、データ型が指定されているユーザ属性にマップされています。
- 名前付き式は、評価時に指定されたデータ型の結果になります。
- 可視性
- ユーザ属性マッピングはグローバルではないため、適用するユーザ ディレクトリごとに定義する必要があります。
- 名前付き式はグローバルであるため、どのユーザ ディレクトリのどのユーザにも適用できます。
- プレフィクス
- ユーザ属性マッピングはユーザ属性名と同じ構文ルールに従います。
- 名前付き式はユーザ属性名と同じ構文ルールに従い、以下のプレフィクスがあります。
- 仮想ユーザ属性は番号記号(#)で始まる必要があります。
- ユーザ クラスはアットマーク(@)で始まる必要があります。
これら相違点の概要については、以下の表を参照してください。
ユーザ属性マッピング タイプ
ユーザ属性マッピング タイプ
| データ型
| 可視性
| プレフィクス
|
エイリアス(RW) | 文字列、数値、ブール | ディレクトリ固有 | no |
グループ名(RW) | ブール値 | ディレクトリ固有 | no |
マスク(RW) | ブール値 | ディレクトリ固有 | no |
定数(R) | 文字列、数値、ブール | ディレクトリ固有 | no |
式(R) | 文字列、数値、ブール | ディレクトリ固有 | no |
名前付き式タイプ
名前付き式タイプ | データ型 | 可視性 | プレフィクス |
仮想ユーザ属性(R) | 文字列、数値、ブール | グローバル | # |
ユーザ クラス(R) | ブール値 | グローバル | @ |
属性マッピングのしくみ
ユーザ属性マッピングの目的は、ユニバーサルなスキーマを定義することによって、同じユーザ情報の共通のビューを作成することです。このようなユニバーサルなスキーマにより、複数のユーザ ディレクトリ間でユーザ情報を解決します。ユーザ属性マッピングを定義するには、
共通名
を、ユーザ属性を識別する基礎となるディレクトリ スキーマにマッピングします。同じ共通名を、環境内の各ユーザ ディレクトリの基礎スキーマにマッピングすることで、ユーザ属性のユニバーサルなスキーマが生成されます。このようなビューを作成することで、ディレクトリ タイプに関係なくユーザ属性を参照します。ポリシーの数や、複数のユーザ ディレクトリを考慮するように設定する必要があるその他のオブジェクトの数を大幅に削減することができます。ユーザ属性マッピングはそれぞれ、それが定義されているユーザ ディレクトリに固有です。
ユーザ属性マッピングの基本的な概念を、以下の図に示します。

- 2 つのユーザ ディレクトリは、別々の方法でユーザのファースト ネーム(名)を識別します。
- ディレクトリ A は、ユーザの名を givenname で識別します。
- ディレクトリ B は、ユーザの名を u_givenname で識別します。
- FirstName が、基礎となるディレクトリ スキーマにマッピングする共通名です。
- FirstName は、ディレクトリ A では givenname にマッピングされます。
- FirstName は、ディレクトリ B では u_givenname にマッピングされます。
- FirstName により、同じユーザ情報の共通のビューが生成されます。ディレクトリ固有のスキーマに関係なく、ユーザの名を必要とするポリシー、式、またはその他のオブジェクトを定義するときに FirstName を参照できます。ディレクトリは操作上、同一となります。
属性マッピングの定義
以下の 1 つ以上の属性マッピング タイプを使用できます。
エイリアス
「
エイリアス
」属性マッピングにより、共通名は、読み取りまたは変更可能なユーザ属性値にマッピングされます。このタイプのアクセスのことを、読み取り/書き込み(RW)と呼びます。「エイリアス
」属性マッピングでは、以下のいずれかのデータ型のユーザ属性にマッピングできます。- 文字列
- 数値
- ブール値
別名属性のユース ケース
このユース ケースでは、ユーザのラスト ネーム(姓)を識別するが、基礎スキーマが異なる 2 つの LDAP ユーザ ディレクトリの基本的なシナリオを表します。以下の図に、2 つのエイリアス属性マッピングによって、同じユーザ情報の共通のビューを作成する方法を詳しく示します。

- 2 つのユーザ ディレクトリは、別々の方法でユーザの姓を識別します。
- ディレクトリ A は、ユーザの姓を sn で識別します。
- ディレクトリ B は、ユーザの姓を lastname で識別します。
- LastName が、基礎となるディレクトリ スキーマにマッピングする共通名、つまり「エイリアス」です。
- LastName は、ディレクトリ A では sn にマッピングされます。
- LastName は、ディレクトリ B では lastname にマッピングされます。
LastName により、同じユーザ情報の共通のビューが生成されます。LastName は、姓を必要とするポリシー、式、またはその他のオブジェクトを定義するときに使用します。
エイリアス属性マッピングの作成
共通名つまり
エイリアス
を、ユーザ ディレクトリの基礎スキーマで指定されたユーザ属性名にマッピングすることができます。ユーザ属性マッピングはディレクトリ固有です。以下の手順に従います。
- [ユーザ ディレクトリ:<名前>]ペインに移動します。
- [属性マッピング リスト]グループ ボックスで[作成]をクリックします。[属性マッピングの作成]ペインが開きます。
- オブジェクトの新規作成が選択されていることを確認し、[OK]をクリックします。[属性マッピングの作成:<名前>]ペインが開きます。
- [一般]グループ ボックスの各フィールドに、属性マッピングの共通名と説明を入力します。注:共通名はユーザ属性名と同じルールに従う必要があります。
- [プロパティ]グループ ボックスで[エイリアス]を選択します。
- [プロパティ]グループ ボックスの[定義]ボックスに、定義を入力します。
- 例:名前: FirstName定義: givenname説明: 共通名 FirstName はユーザ属性名 givenname にマッピングされます。
- (省略可)[無効]を選択して、この属性マッピングを無効にします。
- [OK]をクリックします。属性マッピングの作成タスクが、処理のためにサブミットされます。また、新しい属性マッピングが、[属性マッピング リスト]グループ ボックスに追加されます。
グループ名
グループ名
属性では、共通名を、基礎となるディレクトリ スキーマにマッピングして、ユーザが特定のグループに属しているかどうかを識別することができます。グループ名属性マッピングにより、共通名は、読み取りまたは変更可能なユーザ属性値にマッピングされます。グループ名属性マッピングでは、結果としてブール値が返されます。ユーザが指定されたグループのメンバであると、マッピングの結果は TRUE 値になります。それ以外の場合、結果は FALSE になります。
グループ名属性マッピングとユーザ クラスは、名前付き式の 1 つのタイプです。類似点は、以下のとおりです。
- 両方とも、グループ メンバシップを決定するために使用されます。
- 両方とも、結果としてブール値が返されます。
グループ名属性マッピングとユーザ クラスとの相違点は、以下のとおりです。
- グループ名属性マッピングは、特定のユーザ ディレクトリに対して定義されます。ユーザ クラスはグローバルで、任意のユーザ ディレクトリ内の任意のユーザに適用できます。
- グループ名属性マッピングは、ユーザ ディレクトリ内のグループのメンバシップを変更できます。ユーザ クラスは、ブール式であり、変更できません。
- ユーザ クラスはアットマーク(@)で始まる必要があります。グループ名マッピングは「アット」マークで始まりません。
グループ名のユース ケース
このユース ケースでは、別々の基本スキーマを使用して管理者グループに属するユーザを識別する 2 つの LDAP ユーザ ディレクトリを示します。
以下の図に、2 つのグループ名属性マッピングによって、同じユーザ情報の共通のビューを作成する方法を詳しく示します。

- 2 つのユーザ ディレクトリは、別々の方法で管理者グループのメンバシップを識別します。
- ディレクトリ A は、管理者グループのメンバシップを cn=Administrators,ou=groups,o=acme.com として識別します。
- ディレクトリ B は、管理者グループのメンバシップを cn=Admin,ou=groups,o=acme.com として識別します。
- IsAdmin が、基礎となるディレクトリ スキーマにマッピングする共通名です。
- IsAdmin は、ディレクトリ A では cn=Administrators,ou=groups,o=acme.com にマッピングされます。
- IsAdmin は、ディレクトリ B では cn=Admin,ou=groups,o=acme.com にマッピングされます。
IsAdmin により、管理者グループの共通のビューが生成されます。ユーザが IsAdmin を参照するのは、Administrator に適用されるポリシー、表現または他のオブジェクトを定義することがグループ化する場合です。
グループ名属性マッピングの作成
共通名を基礎となるディレクトリ スキーマにマッピングして、ユーザが特定のグループに属しているかどうかを識別するグループ名属性を定義します。グループ名属性マッピングの結果はブール値です。グループ名属性マッピングを使用して、ユーザ ディレクトリ内のユーザ グループ名を読み取りまたは変更することができます。ユーザ属性マッピングはディレクトリ固有です。
以下の手順に従います。
- [ユーザ ディレクトリ:<名前>]ペインに移動します。
- [属性マッピング リスト]グループ ボックスで[作成]をクリックします。[属性マッピングの作成]ペインが開きます。
- オブジェクトの新規作成が選択されていることを確認し、[OK]をクリックします。[属性マッピングの作成:<名前>]ペインが開きます。
- [一般]グループ ボックスの各フィールドに、属性マッピングの共通名と説明を入力します。注:共通名はユーザ属性名と同じルールに従う必要があります。
- [プロパティ]グループ ボックスで[グループ]を選択します。
- [プロパティ]グループ ボックスの[定義]ボックスに、定義を入力します。
- 例:名前: IsAdmin定義: cn=administrators,ou=groups,o=acme.com説明: 共通名 IsAdmin はグループ名 cn=administrators,ou=groups,o=acme.com にマッピングされます。ユーザが cn=administrators,ou=groups,o=acme.com のメンバである場合、IsAdmin は TRUE になります。
- (省略可)[無効]を選択して、この属性マッピングを無効にします。
- [OK]をクリックします。[属性マッピングの作成]タスクが、処理のためにサブミットされます。新しい属性マッピングが[属性マッピング リスト]グループ ボックスのリストに表示されます。
[Mask]
マスク
属性マッピングでは、共通名を使用する名前にマッピングして、ビット パターンが格納されているユーザ属性を識別することができます。マスク
属性マッピングにより、共通名は、読み取りまたは変更可能なユーザ属性値にマッピングされます。マスク
属性マッピングでは、結果としてブール値が返されます。ユーザ ディレクトリ内のビット パターンが指定されたマスクと一致すると、マッピングの結果は TRUE 値になります。それ以外の場合、結果は FALSE になります。マスクのユース ケース
アカウントの状態などのその属性に関する情報を提供するために、一部のディレクトリ実装では、属性の個別のビットを使用します。属性にビット マスクを適用できます。
このユース ケースでは、無効なユーザ アカウントを識別する 2 つの Active Directory ユーザ ストアを示します。各アカウントには、異なる基礎スキーマがあります。
以下の図に、2 つのマスク属性マッピングによって、同じユーザ情報の共通のビューを作成する方法を詳しく示します。

- 2 つのユーザ ディレクトリには、AccountStatus というユーザ属性が含まれています。AccountStatus で、ユーザ情報はビット パターンで格納されます。ここで、各ビットはフラグです。
- ディレクトリ A では、2 番目のビットが無効なアカウントにフラグを立てます。2 番目のビットが 1 に等しい場合、アカウントは無効です。
- ディレクトリ B では、3 番目のビットが無効なアカウントにフラグを立てます。3 番目のビットが 1 に等しい場合、アカウントは無効です。
- IsDisabled が、基礎となるディレクトリ スキーマにマッピングする共通名です。両方のディレクトリとも、IsDisabled は AccountStatus にマッピングされます。
- ディレクトリ A では、AccountStatus の 2 番目のビットが設定されて、アカウントが無効であるかどうかを、ビット マスク 2 (10 進数)によって判断します。
- ディレクトリ B では、AccountStatus の 3 番目のビットが設定されて、アカウントが無効であるかどうかを、ビット マスク 4 (10 進数)によって判断します。
IsDisabled により、無効なユーザ アカウントの共通のビューが生成されます。ユーザのアカウント ステータスを必要とするポリシー、式、またはその他のオブジェクトを定義するときに IsDisabled を参照できます。
マスク属性マッピングの作成
共通名を、ユーザ属性名がユーザ ディレクトリの基礎スキーマで指定されているビット パターンにマッピングすることができます。マスク属性マッピングの結果はブール値です。マスク マッピングを使用して、ユーザ ディレクトリ内のユーザ属性値を読み取りまたは変更することができます。ユーザ属性マッピングはディレクトリ固有です。
マスク タイプのユーザ属性マッピングを作成する方法
- [ユーザ ディレクトリ:<名前>]ペインに移動します。
- [属性マッピング リスト]グループ ボックスで[作成]をクリックします。[属性マッピングの作成]ペインが開きます。
- オブジェクトの新規作成が選択されていることを確認し、[OK]をクリックします。[属性マッピングの作成:<名前>]ペインが開きます。
- [一般]グループ ボックスの各フィールドに、属性マッピングの共通名と説明を入力します。注:共通名はユーザ属性名と同じルールに従う必要があります。
- [プロパティ]グループ ボックスで[マスク]を選択します。
- [プロパティ]グループ ボックスの[定義]ボックスに、定義を入力します。
- 例:名前: IsDisabled定義: AccountStatus:4説明:共通名 IsDisabled はユーザ属性名 AccountStatus にマッピングされます。AccountStatus は、ビット パターン内に 1 つ以上の状態を格納します。たとえば、AccountStatus は 3 番目のビットにアカウント状態を格納します。アカウントが無効になると、3 番目のビットは 1 に設定されます。反対に、アカウントが有効になると、3 番目のビットは 0 に設定されます。Single Sign-Onは、アカウントが無効かどうか判断するために、AccountStatus と指定された状態つまりマスク(この例では 4)のビット単位の AND 演算を実行します。アカウントが無効な場合、IsDisabled は TRUE です。
- (省略可)[無効]を選択して、この属性マッピングを無効にします。
- [OK]をクリックします。属性マッピングの作成タスクが、処理のためにサブミットされます。また、新しい属性マッピングが、[属性マッピング リスト]グループ ボックスに追加されます。
マスク属性マッピングのビット マスク
ビットマスク属性マッピングでは、1 つまたは複数のビットの値を、ユーザ属性内の他のビットの値をマスクすることによってテストします。
マスク属性マッピングは、以下のように定義されます。
user_attribute_name:bit_mask
たとえば、ユーザ属性が AccountStatus と命名されると仮定します。属性 AccountStatus は、以下の 3 つのフラグの状態をビット パターンで格納します。
ビット パターン
| フラグ
|
00? | アカウントは無効ですか? |
0?0 | パスワードは期限切れですか? |
00 | ゴールド メンバですか? |
ビットが 1 に等しいとき、フラグは TRUE になります。表に結果を説明します。
ビット パターン
| アカウント ステータス
|
000 (0) | TRUE のフラグなし |
001 (1) | アカント無効 |
010 (2) | パスワード期限切れ |
100 (4) | ゴールド メンバー |
011 (3) | パスワード期限切れ、アカウント無効 |
101 (5) | ゴールド メンバ、アカウント無効 |
110 (6) | ゴールド メンバ、パスワード期限切れ |
111 (7) | ゴールド メンバ、パスワード期限切れ、アカウント無効 |
注:
同等の10 進数値をかっこ内に示します。ユーザがゴールド メンバかどうかのみをテストする場合を考えます。このビットをテストするには、ゴールド メンバに対応するビット パターンをビット マスクとして選択します。たとえば、2 進数では 100、10 進数では 4 を指定します。結果として作成されるマスク属性マッピングは以下のように定義されます。
AccountStatus:4
AccountStatus のビット単位の AND 演算はビット マスクで実行され、結果がビット マスクと等しいかどうかテストします。結果が等しい場合は、テストされたビットの値が 1 で、フラグが TRUE であることを意味します。以下の表に結果を示します。
アカウント ステータス
| ビット マスク
| ビット単位の AND の結果
| ゴールド メンバですか?
|
000 (0) | 100 (4) | 000 (0) | FALSE |
001 (1) | 100 (4) | 000 (0) | FALSE |
010 (2) | 100 (4) | 000 (0) | FALSE |
011 (3) | 100 (4) | 000 (0) | FALSE |
100 (4) | 100 (4) | 100 (4) | TRUE |
101 (5) | 100 (4) | 100 (4) | TRUE |
110 (6) | 100 (4) | 100 (4) | TRUE |
111 (7) | 100 (4) | 100 (4) | TRUE |
注:
同等の10 進数値をかっこ内に示します。また、ビット マスクを使用して、ビット セットの値や一度に複数のビットをテストできます。アカウントが無効かどうか、パスワードの期限が切れているかどうかを知りたいとします。これらのビットをテストするには、011 (2 進数)または 3 (10 進数)のビット マスクを指定します。結果として作成されるマスク属性マッピングは以下のように定義されます。
AccountStatus:3
AccountStatus のビット単位の AND 演算はビット マスクで実行され、結果がビット マスクと等しいかどうかテストします。結果が等しい場合は、テストされた両方のビットの値が 1 で、両方のフラグが TRUE であることを意味します。以下の表に結果を示します。
アカウント ステータス
| ビット マスク
| ビット単位の AND の結果
| 両方のフラグが設定されていますか?
|
000 (0) | 011 (3) | 000 (0) | FALSE |
001 (1) | 011 (3) | 001 (1) | FALSE |
010 (2) | 011 (3) | 010 (2) | FALSE |
011 (3) | 011 (3) | 011 (3) | TRUE |
100 (4) | 011 (3) | 000 (0) | FALSE |
101 (5) | 011 (3) | 001 (1) | FALSE |
110 (6) | 011 (3) | 010 (2) | FALSE |
111 (7) | 011 (3) | 011 (3) | TRUE |
注:
同等の10 進数値をかっこ内に示します。定数
定数
属性マッピングでは、共通名を、ディレクトリ内のどのユーザでも同一の値、つまり定数
にマッピングすることができます。定数
属性マッピングにより、共通名は、読み取り専用(R)である定数にマッピングされるため、システム管理者以外は、このマッピングを変更できません。定数
属性マッピングでは、以下のいずれかのデータ型の定数にマッピングできます。- 文字列
- 数値
- ブール値
定数のユース ケース
このユース ケースでは、一方のユーザ ディレクトリに顧客のみを格納し、もう一方のディレクトリに従業員のみを格納する場合のシナリオを表します。以下の図に、2 つの定数属性マッピングによって異なるユーザ ディレクトリの異なる値をどのように表すかを詳しく示します。

- ディレクトリ A には、顧客のみが格納されます。ディレクトリ B には、従業員のみが格納されます。
- IsCust が、異なるディレクトリ内の異なる値にマッピングする共通名です。
- IsCust は、ディレクトリ A では TRUE にマッピングされます。
- IsCust は、ディレクトリ B では FALSE にマッピングされます。
- ポリシー、式、またはその他のオブジェクトを定義するときには、IsCust を参照します。共通名を使用することで、システムは、ユーザが格納される特定のディレクトリに関係なく、ユーザが顧客かどうかを判断できます。このマッピングは、ディレクトリ A 内のユーザはすべて顧客であり、ディレクトリ B 内のユーザはすべて顧客ではないことを示します。
定数属性マッピングの作成
共通名を定数値にマッピングして、ディレクトリ内のすべてのユーザに関する情報を伝達することができます。定数の有効なデータ型は、文字列、数値、またはブールです。定数属性マッピングを使用して、ユーザ ディレクトリ内のすべてのユーザに適用されるユーザ属性値を読み取ることができます。ユーザ属性マッピングはディレクトリ固有です。
以下の手順に従います。
- [ユーザ ディレクトリ:<名前>]ペインに移動します。
- [属性マッピング リスト]グループ ボックスで[作成]をクリックします。[属性マッピングの作成]ペインが開きます。
- オブジェクトの新規作成が選択されていることを確認し、[OK]をクリックします。[属性マッピングの作成:<名前>]ペインが開きます。
- [一般]グループ ボックスの各フィールドに、属性マッピングの共通名と説明を入力します。注:共通名はユーザ属性名と同じルールに従う必要があります。
- [プロパティ]グループ ボックスで[定数]を選択します。
- [プロパティ]グループ ボックスの[定義]ボックスに、定義を入力します。
- 例:名前: IsCustomer定義: TRUE説明: 共通名 IsCustomer は定数値 TRUE にマッピングされます。このユーザ ディレクトリには顧客のみが格納されているので、ユーザは常に顧客であり、IsCustomer は常に TRUE にマッピングされます。
- (省略可)[無効]を選択して、この属性マッピングを無効にします。
- [OK]をクリックします。[属性マッピングの作成]タスクが、処理のためにサブミットされます。新しい属性マッピングが[属性マッピング リスト]グループ ボックスに表示されます。
式
式
属性マッピングでは、式に共通名をマップできます。式には、基礎スキーマで指定した 1 つ以上のユーザ属性名を含めることができます。この式は、Single Sign-On
式の構文ルールに従います。式属性マッピングは、読み取れるが変更できない式に共通名をマップします。このタイプのアクセスは読み取り専用(R)と呼ばれます。評価された式は、文字列、数値、またはブール値になります。
式属性マッピングと仮想ユーザ属性(名前付き式の 1 タイプ)は、以下の点で類似しています。
- いずれもSingle Sign-On式です。
- いずれも読み取り専用(R)です。
- いずれの結果も以下のデータ型のうちの 1 つになります。
- 文字列
- 数値
- ブール値
式属性マッピングは、仮想ユーザ属性と以下の点で異なります。
- 式属性マッピングは特定のユーザ ディレクトリに対して定義されます。仮想ユーザ属性はグローバルで、任意のユーザ ディレクトリの任意のユーザに適用できます。
- 仮想ユーザ属性はパウンド記号(#)から始まる必要があります。式マッピングはそうではありません。
式のユース ケース
このユース ケースでは、式属性マッピングを使用して、1 つのディレクトリ内の複数のユーザ属性への参照を簡略化する方法を示します。保護されているリソースは、各ユーザの
ソート名
(last name, first name)を必要とします。ユーザ ディレクトリは一意にこの属性を参照しません。代わりに、ディレクトリは、各ユーザのラスト ネーム(姓)を surname として、ファースト ネーム(名)を givenname として格納します。以下の図に、式属性マッピングによって、同じユーザ情報の共通のビューを作成する方法を詳しく示します。

単一のユーザ ディレクトリで、共通名は、ディレクトリにユーザ属性名を使用してソート名を作成する式にマッピングされます。
- ディレクトリ A には、すべてのユーザ レコードが含まれます。
- マッピングの名前はSortNameです。
- SortName を定義する式は次のとおりです。{surname + "," + givenname}注: この式は、Single Sign-On式の構文ルールに従います。
- SortName は、surname および givenname 属性が含まれる式にマッピングされる共通名です。
ディレクトリ固有のスキーマに関係なく、ユーザのソート名を必要とするポリシー、式、またはその他のオブジェクトを定義するときに SortName を参照します。
式属性マッピングの作成
共通名を式にマッピングして、基礎スキーマで指定された 1 つ以上のユーザ属性名を参照することができます。式属性マッピングのデータ型は、文字列、数値、またはブールです。式属性マッピングを使用して、式の結果を読み取ることはできますが、値をユーザ ディレクトリに書き込むことはできません。
注:
ユーザ属性マッピングはディレクトリ固有です。式として定義されるグローバル オブジェクトを作成するには、名前付き式を作成します。以下の手順に従います。
- [ユーザ ディレクトリ:<名前>]ペインに移動します。
- [属性マッピング リスト]グループ ボックスで[作成]をクリックします。[属性マッピングの作成]ペインが開きます。
- オブジェクトの新規作成が選択されていることを確認し、[OK]をクリックします。[属性マッピングの作成:<名前>]ペインが開きます。
- [一般]グループ ボックスの各フィールドに、属性マッピングの共通名と説明を入力します。注:共通名はユーザ属性名と同じルールに従う必要があります。
- [プロパティ]グループ ボックスで[式]を選択します。注:[式]を選択すると[編集]ボタンがアクティブになります。[編集]ボタンをクリックすると式エディタが開きます。式は、Single Sign-On式の構文ルールに従う必要があります。
- [プロパティ]グループ ボックスの[定義]ボックスに、定義を入力します。
- 例:名前: SortName定義: (surname + ',' + givenname)説明: 共通名 SortName は、ユーザ属性名 surname および givenname を参照する式にマッピングされます。
- (省略可)[無効]を選択して、この属性マッピングを無効にします。
- [OK]をクリックします。[属性マッピングの作成]タスクが、処理のためにサブミットされます。新しい属性マッピングが[属性マッピング リスト]グループ ボックスに表示されます。
上級ユーザ属性マッピングの例
以下の例では、より複雑なユーザ属性マッピングの設定を示します。
この展開例は、異なるタイプの 2 つのユーザ ディレクトリを使用する衣料品小売会社です。
- ディレクトリ A従業員専用の内部 LDAP ユーザ ディレクトリです。
- ディレクトリ Bカスタマのみ用の ODBC ユーザ ディレクトリです。
ユーザ属性マッピングはそれぞれ、それが定義されているユーザ ディレクトリに固有です。
以下の表に、ディレクトリ A とディレクトリ B が同じユーザ情報を識別する方法を詳しく示します。これに伴うユース ケースでは、異なる属性マッピングを使用して同じユーザ情報の共通のビューを定義する方法について説明します。共通のビューはユニバーサルなスキーマとして役立ちます。これによってディレクトリは操作上、同一となります。
属性の説明
| ディレクトリ A 属性(LDAP)
| ディレクトリ B 属性(ODBC)
|
各ユーザのファースト ネーム(名) | givenname | u_first_name |
各ユーザのラスト ネーム(姓) | surname | u_last_name |
各ユーザのソート名(姓、名) | ユーザ ディレクトリは、ユーザ属性を一意に格納しません。 | sort_name |
カスタマとしてのユーザ | group:cn=customer,ou=groups,o=acme.com | ユーザは常に顧客です。 |
ユーザ アカウントのステータス | AccountStatus 属性(1 セットのフラグ)。 2 番目のビットは無効なアカウントです。 | u_disabled |
エイリアス マッピング タイプを持つ名の属性をマップする
ディレクトリ A およびディレクトリ B で名のユーザ属性を表すには 2 つのエイリアス属性マッピングを使用します。
展開
ユーザ ディレクトリ A は、ユーザの名を givenname で識別します。ユーザ ディレクトリ B は、ユーザの名を u_first_name で識別します。
解決方法
- ディレクトリ A 用の別名属性マッピングを作成します。
- NameFirstName
- マッピング タイプエイリアス
- 定義givenname
- ディレクトリ B 用の別名属性マッピングを作成します。
- NameFirstName
- マッピング タイプエイリアス
- 定義u_first_name
ディレクトリ A でユーザを参照する場合、FirstName は givenname にマップされます。ディレクトリ B でユーザを参照する場合、FirstName は u_first_name にマップされます。
エイリアス マッピング タイプを持つ姓の属性をマップする
ディレクトリ A およびディレクトリ B で姓のユーザ属性を表すには 2 つのエイリアス属性マッピングを使用します。
展開
ユーザ ディレクトリ A は、ユーザの姓を surname で識別します。ディレクトリ B は、ユーザの姓を u_last_name で識別します。
解決方法
- ディレクトリ A 用の別名属性マッピングを作成します。
- NameLastName
- マッピング タイプエイリアス
- 定義surname
- ディレクトリ B 用の別名属性マッピングを作成します。
- NameLastName
- マッピング タイプエイリアス
- 定義u_last_name
ディレクトリ A でユーザを参照する場合は、ユーザの姓が surname によって識別されるかどうかは共通のビューによって決定されます。ディレクトリ B でユーザを参照する場合は、ユーザの姓が u_last_name によって識別されるかどうかは共通のビューによって決定されます。
式およびエイリアス マッピングのタイプを持つソート名属性をマップする
ディレクトリ A およびディレクトリ B でユーザのソート名を表現するには、式属性マッピングとエイリアス属性マッピングを使用します。
展開
- ディレクトリ A は、ユーザごとにソート名を一意的に識別しません。ユーザごとに、ディレクトリ A では名が givenname として格納され、姓が各ユーザの surname として格納されます。
- ディレクトリ B は、ソート名を sort_name で識別します。
解決方法
- ディレクトリ A の式属性マッピングを以下のように作成します。
- Nameソート名
- マッピング タイプ式
- 定義(surname + "," + givenname)
注:この式は、式の構文ルールに従う必要があります。 - ディレクトリ B 用の別名属性マッピングを作成します。
- Nameソート名
- マッピング タイプエイリアス
- 定義sort_name
ディレクトリ A でユーザを参照する場合、ソート名は指定した式に基づいて計算されます。ディレクトリ B でユーザを参照する場合、ソート名は属性 sort_name によって表現されます。
グループおよび定数マッピングのタイプを持つカスタマをマップする
ディレクトリ A およびディレクトリ B でカスタマを識別するには、グループおよび定数属性マッピングを使用します。
展開
- ディレクトリ A には、従業員が格納されます。会社の従業員は顧客にもなれるため、ディレクトリ A では、以下に属す従業員を顧客として識別します。cn=Customers,ou=Groups,o=acme.com
- ディレクトリ B は顧客のみ格納します。ディレクトリ B には、顧客を識別するユーザ属性はありません。ディレクトリ B に格納されている以上、そのユーザは顧客です。
解決方法
- ディレクトリ A のグループ属性マッピングを以下のように作成します。
- NameIsCustomer
- マッピング タイプグループ
- 定義cn=Customers,ou=Groups,o=acme.com
- ディレクトリ B の定数属性マッピングを作成します。
- NameIsCustomer
- マッピング タイプ定数
- 定義TRUE
ディレクトリ A を参照するとき、ユーザが cn=Customers,ou=Groups,o=acme.com に属する場合、ユーザはカスタマと見なされます。ディレクトリ B を参照する場合、すべてのユーザはカスタマです。
マスクおよび式マッピングのタイプを持つアカウント ステータスをマップする
ディレクトリ A およびディレクトリ B で無効なユーザ アカウントを識別するには、マスク属性マッピングおよび式属性マッピングを使用します。
展開
- ディレクトリ A は一連のフラグである、AccountStatus という名前のユーザ属性で無効なアカウントを識別します。2 番目のビットは無効なアカウントを示します。
- ディレクトリ B は無効なアカウントを u_disabled という名前のユーザ属性で識別します。u_disabled が「y」と等しいとき、アカウントは無効になります。u_disabled が「n」と等しいとき、アカウントはアクティブです。
解決方法
- ディレクトリ A のマスク属性マッピングを作成します。
- NameIsDisabled
- マッピング タイプ[Mask]
- 定義AccountStatus: 2定義は、ビット パタンが AccountStatus に格納され、ビット マスクが 2 (10 進)であることを示します。
- ディレクトリ B の式属性マッピングを以下のように作成します。
- NameIsDisabled
- マッピング タイプ式
- 定義(u_disabled = "y")u_disabled はブール式です。
ディレクトリ A を参照する場合は、ビット パタンによって、ユーザが無効かどうかが判定されます。ディレクトリ B を参照する場合は、式によって、ユーザが無効かどうかが判定されます。