3.8.2 ユーザ情報の取得方法

ここでは,ログインするときに生成されて値が設定されるユーザ情報の取得方法について説明します。アクセス制御機能を使用する場合,DocumentBrokerが連携しているユーザ管理システムによって,ユーザ情報として使用される情報は異なります。また,LDAP対応のディレクトリサービスを使用したユーザ管理に適応できない場合について,ユーザが作成したアクセスルーチンをユーザ管理システムに組み込む機能を提供します。

<この項の構成>
(1) ログインするときに生成されるユーザ情報(LDAP対応のディレクトリサービスを使用する場合)
(2) ログインするときに生成されるユーザ情報(ユーザ作成のアクセスルーチンを使用する場合)

(1) ログインするときに生成されるユーザ情報(LDAP対応のディレクトリサービスを使用する場合)

ユーザ情報は,DocumentBrokerオブジェクトに対するアクセス権を判定する場合に使用されます。ユーザ情報には,「ユーザ識別子」および「グループ識別子」があります。これらの情報は,ログインした時に生成されます。

(a) ユーザ識別子

ユーザを識別する情報です。ユーザ識別子は,1~254バイト(ただし,「¥0」を含まない)のASCII半角英数字,「-」,「.」,「@」,「_」で構成されます。ユーザ識別子は,一つだけ作成されます。

注※
ユーザ識別子の最大長は,512バイトまで拡張することもできます。最大長を拡張するには,次のどちらかの方法でユーザ識別子の最大長を定義します。
  • メタ情報の初期設定コマンド(EDMInitMeta)の-nオプションに指定する
  • 文書空間情報ファイルのUserIDMaxLengthエントリに指定する(文書空間の定義コマンド(EDMCDefDocSpace)を使用する場合)
メタ情報の初期設定コマンドの詳細については,「7.3 コマンドの文法」の「EDMInitMeta(メタ情報の初期設定)」を参照してください。文書空間情報ファイルについては,「4.16 文書空間情報ファイル」を参照してください。

ユーザ識別子として取得される情報は,DocumentSpace構成定義ファイルで任意に指定できます。ユーザ識別子を取得する場合にDocumentSpace構成定義ファイルで指定するエントリを次に示します。

これらのエントリの値は,ユーザ識別子として取得する情報および取得方法に従って指定してください。各エントリの指定方法については,「4.2 DocumentSpace構成定義ファイル(docspace.ini)」を参照してください。

(b) グループ識別子

ユーザが所属するグループを識別する情報です。ユーザが複数のグループに所属する場合があるため,グループ識別子は,一人のユーザに対して複数存在できます。一つのグループ識別子は,1~254バイト(ただし,「¥0」を含まない)のASCII半角英数字,「-」,「.」,「@」,「_」で構成されます。

注※
グループ識別子の最大長は,512バイトまで拡張することもできます。最大長を拡張するには,次のどちらかの方法でグループ識別子の最大長を定義します。
  • メタ情報の初期設定コマンド(EDMInitMeta)の-gオプションに指定する
  • 文書空間情報ファイルのGroupIDMaxLengthエントリに指定する(文書空間の定義コマンド(EDMCDefDocSpace)を使用する場合)
メタ情報の初期設定コマンドの詳細については,「7.3 コマンドの文法」の「EDMInitMeta(メタ情報の初期設定)」を参照してください。文書空間情報ファイルについては,「4.16 文書空間情報ファイル」を参照してください。

グループとして,プライマリグループも設定できます。プライマリグループは,文書作成時にACFlagにデフォルトで設定されるグループで,一人のユーザに対して一つのグループが存在することがあります。すなわち,プライマリグループは,必ず存在しなくてもよいグループです。なお,LDAP対応のディレクトリサービスを使用している場合,プライマリグループは存在しません。

グループ識別子の取得方法は,DocumentSpace構成定義ファイルで定義します。

グループ情報の取得方法について,次に説明します。なお,DocumentBrokerにログインする場合のログイン名を属性として登録してあるユーザエントリのことを,ログインユーザエントリと呼ぶことにします。

グループエントリの属性から取得する方法
日立ディレクトリサービスでは,hdsGroupOfUniqueNamesを継承したエントリを使用して,グループ管理する機能を提供しています。このグループの取得方法は,hdsGroupOfUniqueNamesのようなグループ管理用のエントリの属性に,ユーザが所属するグループ名称が登録されている場合に使用する方法です。なお,グループ管理については,マニュアル「日立ディレクトリサービス 導入編」および「日立ディレクトリサービス システム管理編」を参照してください。
ログインユーザエントリの属性から取得する方法
ログインユーザエントリの属性に,そのユーザが所属する組織名称が登録されている場合に使用する方法です。
組織エントリの属性から取得する方法
ログインユーザエントリの属性に,そのユーザが所属する組織エントリのDNが登録されている場合に使用する方法です。
ログインユーザエントリのDNから取得する方法
ログインユーザエントリのDNの構成要素(RDN)の属性値を,グループ識別子として使用する方法です。

これらのグループ識別子を取得する方法は,選択して使用したり,組み合わせて使用したりできます。ただし,「ログインユーザエントリの属性から取得する方法」と「組織エントリの属性から取得する方法」を組み合わせることはできません。DocumentSpace構成定義ファイルで指定した方法に従って,グループ識別子の取得方法ごとに,指定する必要があるエントリを次の表に示します。

表3-7 グループ識別子の取得方法ごとに指定するエントリの一覧

グループ情報の取得方法指定するエントリ
グループエントリの属性から取得する方法
  • LdapGroup=Yes(必須)
  • LdapGroupRoot=<DN>(必須)
  • LdapGroupScopeエントリ
  • LdapGroupTimeoutエントリ
  • LdapGroupClassエントリ
  • LdapGroupIdエントリ
  • LdapGroupFilterLeftエントリ
  • LdapGroupFilterRightエントリ
ログインユーザエントリの属性から取得する方法
  • LdapGroupFromUserAttr=Yes(必須)
  • LdapGroupIdFromUserAttrエントリ
  • LdapGroupCaseエントリ
組織エントリの属性から取得する方法
  • LdapGroupFromUserAttr=Yes(必須)
  • LdapGroupIsDnFromUserAttr=Yes(必須)
  • LdapGroupIdFromUserAttrエントリ
  • LdapGroupIdAttrFromUserAttrエントリ
  • LdapGroupCaseエントリ
ログインユーザエントリのDNから取得する方法
  • LdapGroupFromUserDn=Yes(必須)
  • LdapGroupIdFromUserDnエントリ
  • LdapGroupCaseエントリ

各エントリの指定方法については,「4.2 DocumentSpace構成定義ファイル(docspace.ini)」を参照してください。

(2) ログインするときに生成されるユーザ情報(ユーザ作成のアクセスルーチンを使用する場合)

ユーザ管理機能としてLDAP対応のディレクトリサービスに連携していない場合や運用中のLDAP対応のディレクトリサービスがDocumentBrokerの運用形態に合わない場合,DocumentBrokerは,ユーザが作成したアクセスルーチンを組み込む機能を提供しています。

ユーザ管理システムへのアクセスルーチンとして,ユーザが作成したアクセスルーチンを使用する場合は,DocumentSpace構成定義ファイルのUserAuthenticationエントリで「UOC」を指定する必要があります。この場合,UOCLibraryエントリの値として,ユーザが作成したアクセスルーチンのライブラリを絶対パスで指定します。UserAuthenticationエントリで「UOC」を指定した場合に生成されるユーザ情報について,次に説明します。

(a) ユーザ識別子

関数dbrGetUserInformation()から返却されたユーザ識別子の文字列を使用します。関数の詳細については,「付録G ユーザ作成のアクセスルーチンを使用するための関数」を参照してください。

(b) グループ識別子

関数dbrGetUserInformation()から返却されたグループ識別子の文字列を使用します。関数の詳細については,「付録G ユーザ作成のアクセスルーチンを使用するための関数」を参照してください。