前のトピック: set user-threads コマンド - リクエストのスレッド数の定義

次のトピック: ビュー パラメータ

set view コマンド - ビューの定義

DSA に対するビューを定義するには、set view コマンドを使用します。

コマンドの構文は以下のとおりです。

set view viewName = {
description="description"
entry = ViewDN 
[options = [collapse-result | collapse-result-under-entry]
[, remap-originator] [, view-entry-access-controls] ]
(phase=1 
subtree = phaseDN
[scope = {subtree | base | one-level}]
[filter = phaseFilter]
[eis = [prefix.]attributeName[.suffix] [,[prefix.]attributeName[.suffix]]...]
[allow-attr = allowAttribute pllow-target = allowTarget]
[prune-attr = pruneAttribute prune-target = pruneTarget]
[options = [ignore-from-result] [result-required] [prune-from-result]]
)
[if (condition) |
else if (condition) |
else
]
[,(phase=2 
subtree = phase_DN
[scope = {subtree | base | one-level}]
[filter = phaseFilter]
[eis = [prefix.]attributeName[.suffix] [,[prefix.]attributeName[.suffix]]...]
[allow-attr = allowAttributeList allow-target = allowTarget]
[prune-attr = pruneAttributeList prune-target = pruneTargetList]
[merge-dn-attr]
[options = [ignore-from-result] [,result-required] [,prune-from-result] [,collapse-target]]
)]
}
viewName

DSA コマンド インタプリタがビューを識別するために使用する名前を定義します。 名前にスペースまたは非英数文字が含まれる場合、名前は引用符で囲まれる必要があります。

description = "description"

ビューの説明です。 説明は、任意のテキスト文字列を引用符で囲みます。

entry = ViewDN

ビューのベース オブジェクトを LDAP 形式で定義します。 この DN が検索のターゲットであり、このビューを呼び出します。

collapse-result

(オプション)ビューがすべての結果を 1 つのエントリ(ビューを呼び出す検索リクエストのベース オブジェクト)にマージすることを指定します。

collapse-result-under-entry

(オプション)ビューがすべての結果を 1 つのエントリ(フェーズ 1 検索によって返されたエントリ DN)にマージすることを指定します。 フェーズ 1 検索によって複数のエントリが返される場合、ビューは、それぞれのエントリに独立して適用され、複数の折り畳まれたエントリが返されます。

remap-originator

(オプション)発信元(およびアクセス制御)は、前の "collapse-result-under-entry" による検索で返された DN を使用してビューにバインドするときに、仮想エントリであるバインド DN に適用されるように指定します。 remap-originator オプションは、発信元を基本のフェーズ 1 エントリに再マップし、既存の ACI の再利用を可能にします。

view-entry-access-controls

(オプション)ビューを呼び出すユーザに非表示のビューのいくつかのセクションへの一時アクセスを許可することを指定します。 このオプションは、"trust-dsa-triggered-operations" と共に使用します。 この機能は、ビュー検索が呼び出されている間のアクセス制御を無視し、結果が返される前にアクセス制御をポスト適用することにより動作します。

if (condition)

フェーズが実行される前に満足する必要がある条件付きのビューを指定します。 条件付きの "if" および "else if" はビュー パラメータ、a = (equals) or != (not equals) および正規表現を受け入れます。 ビュー パラメータの代わりに用いられた値は、正規表現と比較されます。

それぞれのフェーズは前のフェーズからの情報に基づいてトリガされた条件付きの場合があります。 条件はビュー属性、an = or != および正規表現から構成されます。 たとえば、"$2:userPassword=." は、フェーズ 2 の検索結果にユーザ パスワード属性が含まれていれば、以下の中かっこに囲まれたフェーズをトリガします。

if (condition) { [phase list] }
else if (condition) { [phase list] }
else { [phase list] }
phase = phaseNum

フェーズ番号を指定します。

フェーズはビュー内のディレクトリ検索です。 フェーズでは、ビューの同じ呼び出し内の前のフェーズの結果を使用できます。

それぞれのフェーズには 1 から開始し、1 ずつ増加する数を付与する必要があります。

それぞれのフェーズには以下のパラメータが含まれます。

subtree = phaseDN

LDAP 形式で、このフェーズに対して実行される検索のサブツリーを定義します。 サブツリー RDN エレメントは以前の検索フェーズを参照できます。 これは属性レベルの枝刈り/許可に対しては省略できます。

以下に例を示します。

  • "$1:dn" - フェーズ 1 で返されたそれぞれの検索結果の DN へのサブツリー セットで検索
  • "$1:dn[3]" - フェーズ 1 で返されたそれぞれの検索結果の DN の上位 3 RDN へのサブツリー セットで検索
  • "uid=$1:uids,o=Democorp,c=AU" - サブツリーの最後の RDN をフェーズ 1 検索によって返された 'uids' の値に置換します。 複数の値が返された場合は複数の検索が実行されます。
eis = [prefix.]attributeName[.suffix] [,[prefix.]attributeName[.suffix]]...

(オプション)返される属性を定義します。 属性名はカンマによって区切られます。

eis が指定される場合は、フェーズは後のフェーズ内のパラメータとして参照されたすべての属性と、指定された属性のみを返します。

eis が指定されない場合は、すべての情報アイテムが返されます。

ビューを呼び出した検索リクエストが返される属性名を指定した場合は、eis によって指定された属性が無視されます。

注: eis がリンク属性(後のフェーズによって必要とされる属性)を含む必要はありません。

attributeName

返される属性を指定します。 これは、ビュー パラメータ用の構文に従います。 <link>

as attributeName

この属性に結果をマップします。 基礎となるデータにネーミング競合がある場合、これは役立ちます。

注: 返されている属性の構文とマップされた属性の構文は同一である必要があります。

prefix

結果の冒頭へテキストを追加します。 詳細については、「管理ガイド」の 「値へのプレフィクスまたはサフィックスの追加」を参照してください。

suffix

結果の末尾へテキストを追加します。 詳細については、「管理ガイド」の 「値へのプレフィクスまたはサフィックスの追加」を参照してください。

scope = {subtree | base | one-level}

(オプション)指定されたフェーズに対する検索のスコープを定義します。 スコープは次のいずれかです。

subtree

全サブツリーを検索します。

base

ベース オブジェクトのみを検索します。

one-level

1 レベルのみを検索します。

filter = phaseFilter

ベースおよび 1 レベルの検索に対するオプション)フェーズがその検索に使用する LDAP フィルタを定義します。 フィルタ内のどのアイテムもビュー パラメータを含めることができます。

ビューを呼び出す検索のスコープがベース オブジェクトである場合は、フィルタが無視されます。

この LDAP 検索フィルタには代用アイテムまたは 'from-client' が含まれます。 from-client の時は、フィルタはクライアントであるにパスされたフィルタを直接参照します。

  • フェーズ 1 - 代用アイテムは $attrName である必要があります。 ここで attrName は、ビュー エントリに関するサブツリー検索で渡されます。
  • フェーズ> 1 - 代用アイテムは $phase:attrName 形式のビュー属性である必要があります。 $phase は、以前のフェーズからの結果を参照する必要があります。また、attrName はその属性の名前です。
allow-attr = allowAttributeList

(オプション)フェーズ結果に含まれる属性を指定します。 属性のこのリストは、ビュー パラメータ用の構文に従います。

allow-target 内の属性値のリストに値が追加される属性名を指定します

allow-target = allowTarget

(オプション) allow-attr で値を取るビュー パラメータを指定します。 allow-target が存在しない場合は、最初の allow-attr が返されたときに作成されます。

allowTarget は、ビュー パラメータ用の構文に従います。

allow-target は allow-attr オプションと共にのみ使用されます。

prune-attr = pruneAttributeList

(オプション)フェーズ結果から削除される属性を指定します。

pruneAttributeList は、ビュー パラメータ用の構文に従います。

prune-attr は prune-target オプションと共にのみ使用されます。

prune-target = pruneTargetList

(オプション) prune-attr 内の属性の値と値が比較されるビュー パラメータを指定します。 2 つの値が一致する場合、属性エントリは結果から削除されます。 一致しない場合は属性エントリは結果に含まれます。

pruneTargetList は、ビュー パラメータ用の構文に従います。

prune-target は prune-attr オプションと共にのみ使用されます。

merge-dn-attr

(オプション)現在のフェーズ結果の DN がそれぞれ返される DN 構文の属性を指定します。 たとえば、ユーザがメンバーであるグループをユーザのエントリで返すことは多くの場合役に立ちます。 これが memberOf に設定される場合、フェーズ サブツリーはグループが格納される場所であり、filter = “member = $1:dn”です。

options = [ignore-from-result] [result-required] [prune-from-result] [collapse-target]

(オプション)ビューに結果を返す前にフェーズが実行するべき処理のカンマ区切りリストを指定します。 可能なオプションは以下のとおりです。

ignore-from-result

フェーズが、その値が後のフェーズ内のパラメータとして参照される属性のみを返すべきであることを指定します。 これが設定される場合、フェーズ検索結果は一時的です。 このフェーズからの結果はクライアントに返されません。

prune-from-result

フェーズが DN のみを返すべきであり、いかなる属性も返すべきでないことを指定します。

result-required

後のフェーズでパラメータとして参照される属性が存在するかどうかを DSA で確認するように指定します。 存在しない場合は、DSA は検索を中止し、アラームを発します。

collapse-target

(collapse-result-under-view-entry ビュー オプションを必要とします)

フェーズ 1 によって指定されたエントリ下のビュー結果を折り畳む代わりに、このオプションは、ビューが後のフェーズ下で折り畳まれることを可能にします。 後のフェーズ検索が複数のエントリを返すと、エラーが発生します。

詳細情報:

ビュー パラメータ

clear view コマンド - すべてのビュー定義の削除

get view コマンド - ビュー定義の表示