アクセス評価
特定の操作のためのアクセスが認可されるかどうかは、ターゲット・オブジェクト上でその操作を行うための、サブジェクトのバインド DN によって決まります。アクセスが決定されると、処理はただちに停止されます。
アクセスの検査は、まず有効な entryOwnership と ACI 定義を検索し、次に項目の所有権を検査してから、オブジェクトの ACI の値を評価することで行われます。
フィルター・ベースの ACL では、最下位の収容項目から、祖先項目チェーンを上に向かって、DIT の最上位の収容項目まで累算します。有効なアクセスは、構成する祖先項目によって付与または否認されたアクセス権の共用体として計算されます。特定規則と結合規則の既存のセットは、フィルター・ベースの ACL の有効なアクセスを評価します。
フィルター・ベースの属性と非フィルター・ベースの属性は、単一の収容ディレクトリー項目内では相互に排他的です。両方のタイプの属性を同じ項目に入れることはできません。制約違反になります。この条件が検出されると、ディレクトリー項目の作成または更新に関連する操作は失敗します。
有効なアクセスを計算する場合、ターゲット・オブジェクト項目の祖先チェーンで検出される最初の ACL タイプにより、計算のモードが設定されます。フィルター・ベース・モードでは、有効なアクセスを計算するときに非フィルター・ベースの ACL は無視されます。同様に、非フィルター・ベース・モードでは、有効なアクセスを計算するときにフィルター・ベースの ACL は無視されます。
有効なアクセスを計算するときに、フィルター・ベースの ACL の累算を制限するには、 値を false に設定した ibm-filterAclInherit 属性を、 サブツリーの ibm-filterAclEntry の最上位と最下位のオカレンスの間にある項目に配置します。この方法により、ターゲット・オブジェクトの祖先チェーンでそれより上にある ibm-filterAclEntry 属性のサブセットが無視されます。
有効なアクセスを計算するときに、フィルター・ベースの ACL の累算を除外するには、 値を false に設定した ibm-filterAclInherit 属性を、 サブツリーの ibm-filterAclEntry の最下位のオカレンスの下にあるいずれかの項目に配置します。この方法により、ターゲット・オブジェクトの祖先チェーンでそれより上にあるすべての ibm-filterAclEntry 属性が無視されます。結果のアクセスは、デフォルトのフィルター ACL 値に解決されます。
- 特定規則
- 最も特定的な aclEntry 定義は、ユーザーへの許可の付与または否認を評価するときに使用される aclEntry 定義です。特定性のレベルは以下のとおりです。
- アクセス ID は、グループまたは役割よりも特定的です。グループと役割は、同じレベルです。
- 同じ dnType レベル内では、個々の属性レベルの許可の方が、属性クラス・レベルの許可よりも特定的です。
- 同じ属性または属性クラス・レベル内では、deny の方が grant よりも特定的です。
- 結合規則
- 同じ特定性を持つ複数のサブジェクトに付与されている許可は、結合されます。同じ特定性のレベル内でアクセスを決定できない場合は、特定性のレベルがより低いアクセス定義が使用されます。定義済みの ACI がすべて適用されてもアクセスが決定されない場合は、アクセスが否認されます。注: アクセス評価の際に、一致するアクセス ID レベルの aclEntry が見つかると、グループ・レベルの aclEntry は、アクセス計算に含まれません。ただし、例外として、一致するアクセス ID レベルの aclEntry が cn=this の下ですべて定義されている場合は、一致するグループ・レベルの aclEntry も、評価の際にすべて結合されます。
- aclEntry: access-id: cn=Person A, o=sample: at.attributel:grant:rsc:sensitive:deny:rsc
- aclEntry: group: cn=group1,o=sample:critical:deny:rwsc
- aclEntry: group: cn=group2, o=sample:critical:grant:r:normal:grant:rsc
- rsc から attribute1 へのアクセス権を取得します (1. より。属性レベル定義は、属性クラス・レベル定義に取って代わります)。
- ターゲット・オブジェクト内の他の sensitive クラス属性へのアクセス権は取得しません (1. より)。
- その他の権限は与えられません (2. および 3. は、アクセス評価に含まれません)。
- aclEntry: access-id: cn=this: sensitive
- aclEntry: group: cn=group1, o=sample:sensitive:grant:rsc:normal:grant:rsc
- sensitive クラス属性へのアクセス権は付与されません (1. より。access-id の下にヌル値が定義されているため、group1 の sensitive クラス属性へのアクセス権を含めることはできません)。
- rsc から normal クラス属性へのアクセス権は持ちます (2. より)。