LDAPWrite - LDAP更新

このコンポーネントの前に処理されたLDAPAuthコンポーネントのサーバーに対してLDAP情報のレコードを書き込みます。
LDAPサーバーとの接続にSSL通信を使う場合、管理コンソールで登録された証明書を使用してPKI基盤に従って通信を行います。

■ストリーム情報

入力フォーマットXML
接続数1
説明 入力ストリームのXML形式について詳しくは、下記トピックを参照してください。
出力フォーマットXML
説明 入力ストリームをそのまま出力します。

■コンポーネントプロパティ

名前プロパティ型マッピング説明
検索の起点string入力&出力 検索に使うコンテキストのベースDNを指定します。
このプロパティに値が設定された場合、このコンポーネントの前で参照されたLDAPAuthコンポーネントで使われたコネクションで定義した「Provider URL」の値に対して相対的なベースDNとなります。
このプロパティに値が設定されない場合、コネクションのベースDNあればそれを使用します。
コネクションで設定したベースDNとこのコンポーネントのプロパティで設定されたベースDNを足した文字列を「AggregateBaseDN」と呼びます。
上書き処理choice入力&出力 入力ストリームで渡されたdnにマッチするレコードがすでにLDAPディレクトリに存在する場合、 上書き処理プロパティの値によって更新動作が異なります。
レコードを置換 [Replace Record] - 現在の存在するレコードが新しいレコードによって置き換えられます。
属性を置換 [Replace Attributes] - 存在するレコード内で入力ストリームで渡された属性に等しい場合のみその属性を置き換えます。入力ストリームで渡された属性が存在するレコードになかった属性はその属性がレコードに追加されます
属性を追加 [Append Attributes] - 存在するレコードに入力ストリームで渡された属性が追加されます。すでに存在する属性がレコード内にあった場合でも属性値が追加されます。もし、LDAPのディレクトリスキーマで複数の値を属性が取れないように指定されていた場合は、複数の値を設定するように入力ストリームで属性値が渡された場合はエラーになります。
エラー [Exception] - すでにLDAPディレクトリ内に入力レコードと同じレコードが存在する場合はエラーが発生します。

■ループ処理

なし。

■トランザクション処理

コミット何もしません。
ロールバック何もしません。

■エラー処理

タイプパラ
メータ
エラー処理フロー
へのストリーム
エラー
コード
説明
汎用 なし コンポーネントの入力ストリーム なし このコンポーネントが実行される前に、LDAPAuthコンポーネントによってLDAPサーバーの接続に成功していません。
なし 「AggregateBaseDN」が正しいコンテキストを指定していません。
なし 入力XMLの形式が異なります。
なし 上書き処理プロパティにエラーが設定されていて、入力ストリームのdnで与えられたレコードがすでにLDAPディレクトリ内に存在していた場合。
なし 上書き処理プロパティに属性を追加が設定されていて、入力ストリームのdnで与えられたレコードがすでにLDAPディレクトリ内に存在して且つ属性値に複数の値をとることを許可していない属性が入力ストリームからわたされて追加されようとした場合。

■入力ストリームのXML形式

入力ストリームは以下に示すXML形式である必要があります。

	<LDAPRecord name="dn">
		<LDAPAttribute name="attributeName" value="attributeValue"/>
		...
	</LDAPRecord>

「LDAPRecord」タグの「name」属性には新規に書き込むレコードの dn (Distinguished Name) を指定します。さらに、dn はレコードの属性としても設定されます。

「LDAPAttribute」タグの「name」と「value」属性には書き込む属性の名前と値を設定します。「LDAPAttribute」タグは繰り返し記述できます。複数の「LDAPAttribute」が同じ「attributeName」を持つ場合は、その属性に複数の値を書き込みます。

例えば、以下のXMLドキュメントは dn「uid=foobar」のレコードを作成します。 このレコードには「uid」、「mail」、「givenName」、「objectClass」、「sn」、「cn」という属性が作成されます。 「objectClass」属性は多重値を含みます。

	<LDAPRecord name="uid=foobar">

		<LDAPAttribute name="mail" value="foo@bar.com"/>

		<LDAPAttribute name="givenName" value="foo"/>

		<LDAPAttribute name="objectClass" value="top"/>
		<LDAPAttribute name="objectClass" value="person"/>
		<LDAPAttribute name="objectClass" value="organizationalPerson"/>
		<LDAPAttribute name="objectClass" value="inetOrgPerson"/>

		<LDAPAttribute name="sn" value="bar"/>

		<LDAPAttribute name="cn" value="foo bar"/>

	</LDAPRecord>

■ActiveDirectoryのパスワードを変更する

ActiveDirectoryのパスワードを変更するには以下のことをする必要があります。

例えば、次のXMLで、ユーザーasteriaのパスワードをasteria001に変更することができます。 LDAPWriteの検索の起点は「CN=Users,DC=example,DC=local」となります。(「DC=example,DC=local」の部分は環境によって異なります。)

<LDAPRecord name="CN=asteria">
		<LDAPAttribute name="unicodePWD" value="asteria001" type="ADPWD"/>
</LDAPRecord>