エントリを管理する方法について説明します。
エントリを管理するには、次の3つの方法があります。
コマンドを使用する
エントリ管理ツールを使用する
SDKを使用する(C言語はInterstage Application Server Enterprise Editionだけで利用できます。)
本章では、コマンドを使用する方法と、エントリ管理ツールを使用する方法について説明します。SDKを使用する方法については、“第8章 アプリケーションの作成(JNDI)”、または“第9章 アプリケーションの作成(C API)”を参照してください。
なお、Interstage ディレクトリサービスでは、エントリに対して以下のアクセス制限が設定されています。ただし、管理者用DNは制限を受けません。また、アクセス制御の設定を変更することで、さらに詳細な設定が可能です。
○:操作可能、×:操作不可、-:該当なし
対象属性、エントリ | アクセス種別 | 認証されたユーザ | anonymous(匿名)ユーザ |
---|---|---|---|
自分のuserPassword属性 | 更新 | ○ | - |
参照 | ○ | - | |
検索 | ○ | - | |
比較 | ○ | - | |
他人のuserPassword属性 | 更新 | × | × |
参照 | × | × | |
検索 | × | × | |
比較 | ○ | × | |
自分のエントリ | 更新 | ○ | - |
参照 | ○ | - | |
検索 | ○ | - | |
比較 | ○ | - | |
その他の属性、および他のエントリ | 更新 | × | × |
参照 | ○ | ○ | |
検索 | ○ | ○ | |
比較 | ○ | ○ |
userPassword属性について
認証(BIND)要求のパラメタで指定するパスワードには、暗号化されていないテキスト形式のパスワードを指定する必要があります。
検索条件に、userPassword属性値を指定する場合は、userPassword属性値が暗号化されていない場合にのみ検索することができます。
コマンド、SDKで、DNに特殊文字を指定するには、その特殊文字の前に「\」(エンマーク)を置いてエスケープするか、または「"」(ダブル引用符)で囲む必要があります。
コマンドで特殊文字を指定するときには、使用するコマンドラインに応じて、シングル引用符とダブル引用符のどちらかで囲んでください。
エスケープが必要な特殊文字を以下に示します。
「,」(カンマ)
「+」(プラス)
「"」(ダブル引用符)
「<」(小なり)
「>」(大なり)
「;」(セミコロン)
「#」(シャープ)(DNの先頭文字に指定する場合のみ)
「/」(スラッシュ)(JNDIの場合のみ)
エスケープが必要な特殊文字を含むDNを指定する場合の例を以下に示します。
cn=a\b,o=Fujitsu, Inc.,c=jp
コマンドの場合は、特殊文字をエスケープし、さらに、その特殊文字を含む属性値を引用符で囲む必要があります。
cn="a\\b",o="Fujitsu\, Inc.",c=jp
LDAP、JNDI、Java言語それぞれで、「\」(エンマーク(バックスラッシュ))文字を特殊文字と扱います。
String name = "cn=a\\\\\\\\b,o=Fujitsu\\\\, Inc.,c=jp";
LDAP、C言語それぞれで、「\」(エンマーク(バックスラッシュ))文字を特殊文字と扱います。
char *name = "cn=a\\\\b,o=Fujitsu\\, Inc.,c=jp";
SDKでのエスケープ方法の詳細は、“JNDIの使用方法”-“8.2.1 記号、日本語の指定方法”、または“C APIの使用方法”-“9.2 アプリケーション作成の前に”を参照してください。
エントリ管理ツールでは、特殊文字をエスケープする必要はありません。
コマンド、エントリ管理ツール、およびSDKでは、DNおよび属性値に日本語を含む文字列を指定することができます。
オプションで文字コード系を指定します。
詳細は、“リファレンスマニュアル(コマンド編)”の“Interstage ディレクトリサービス運用コマンド”を参照してください。
エントリ管理ツールの[エントリ追加]および[エントリ更新]などの画面上では、入力フィールドに直接、日本語を入力します。
[移入]、[移出]では、画面上の文字コード系を選択するボタンがあります。
詳細は、エントリ管理ツールのヘルプを参照してください。
特に意識する必要はありません。
UTF-8形式に変換するための関数を使用してUTF-8形式に変換する必要があります。
詳細は、“リファレンスマニュアル(API編)”の“Interstage ディレクトリサービスインタフェース”-“コード変換インタフェース”を参照してください。
Interstage ディレクトリサービスでは、エントリの更新時にスキーマのチェックを行いません。
このため、エントリ内の必須属性を削除する、オブジェクトクラスに本来追加してはならない属性を追加してしまうなどの、不適切なエントリの更新を行うと、リポジトリ内の情報が矛盾した状態になってしまいます。エントリを更新する場合は、十分に確認してください。
スレーブ運用のリポジトリに対して、エントリの追加・更新・削除はできません。