8.2.2 DSユーザーを使用する運用の場合の設定
DSユーザーを使用する運用の場合,Active Directoryでの事前準備のあとにディレクトリサーバ連携の設定をします。
- 〈この項の構成〉
(1) Active Directoryでの事前準備
Active Directoryでの事前準備として,Active Directoryのスキーマ拡張を実施します。
JP1認証情報(JP1ユーザー認証情報およびJP1操作権限)をActive Directoryで一元管理するために,Active DirectoryにJP1操作権限を設定できる属性を追加します。次に示すスキーマ拡張の設定手順に従って,Active Directoryでユーザーやグループオブジェクトに属性(JP1操作権限)を追加します。
追加された属性(JP1操作権限)の属性値には,JP1資源グループとJP1権限レベルを設定します。
ここでは,LDIFファイルを利用したスキーマ拡張の設定手順を説明します。なお,次に示すスキーマ拡張の設定手順が失敗した場合に備えて,システム状態を元に戻すためにシステム状態のバックアップ(NTBACKUP)をしてください。
-
認証サーバからモデルファイル(JP1_UserLevel_schema.ldf.model)を任意のLDIFファイル名でコピーする。
認証サーバのモデルファイルの格納先ディレクトリを次に示します。
インストール先フォルダ\tools\schema\JP1_UserLevel_schema.ldf.model
-
コピーしたLDIFファイルを編集する。
コピーしたファイル中の「dn:」に続くドメイン名の識別名(DC)を該当するドメイン名に変更します。
ファイル内容はエントリー数が[1]から[8]まであり,変更対象は[1],[3],[5],および[7]の4個所になります。
編集例:ドメイン名がdomain.localの場合
変更前:
dn: CN=hitachiJP1UserLevel,CN=Schema,CN=Configuration,DC=DomainName
変更後:
dn: CN=hitachiJP1UserLevel,CN=Schema,CN=Configuration,DC=domain,DC=local
-
ldifdeコマンドを実行して,手順2で編集したLDIFファイルをインポートすることでスキーマを拡張する。
ldifde -i -f 入力ファイル名 -v -j ログファイル出力フォルダ名
ログファイルには,ldifdeコマンドの実行ログが出力されるためインポート情報を確認できます。
ldifdeコマンドが実行時エラーになった場合,次のことを確認して対処してください。
-
実行時エラーに「0000202B: RefErr」が出力されている場合
ドメイン名が誤っているため,ドメイン名の照会エラー(RefErr)になると考えられます。ドメイン名が正しいか確認してください。誤っている場合は,LDIFファイルでエラーとなったドメイン名を修正してください。また,エラーとなったエントリー以降だけを実行対象とするために,前のエントリー分まではコメントアウト(先頭カラムに「#」)に変更してからldifdeコマンドを再実行してください。例えば,エントリー[3]でこのエラーが発生した場合,エントリー[2]までのすべての行をコメントアウトにします。エントリー[1]でエラーの場合は,コメントアウトの変更は不要です。
-
実行時エラーに「00002071: UpdErr」が出力されている場合
スキーマが拡張済みで,すでにオブジェクトが存在するため更新エラー(UpdErr)になると考えられます。手順4に示す方法で,スキーマが拡張済みであるか確認してください。スキーマが拡張済みの場合,手順3(スキーマの拡張)は不要です。
-
そのほかの実行時エラーの場合
上記以外のケースについては,ldifdeコマンドのエラー内容に応じて対処してください。
-
-
ldifdeコマンドを実行して,スキーマ拡張によってJP1操作権限の属性が追加されたことを確認する。
既定クラス(User)の確認:
ldifdeコマンドを実行して,既定クラス(User)をLDIFファイルにエクスポートします。手順2と同様にドメイン名の識別子(DC)には,該当するドメイン名を指定します。
ldifde -f 出力ファイル名 -d CN=User,CN=Schema,CN=Configuration,DC=domain,DC=local
エクスポートしたLDIFファイルに,JP1操作権限クラス(hitachiJP1AccessLevel)が補助型クラス(auxiliaryClass)として設定されていることを確認します。
: auxiliaryClass: hitachiJP1AccessLevel :
既定クラス(Group)の確認:
ldifdeコマンドを実行して,既定クラス(Group)をLDIFファイルにエクスポートします。手順2と同様にドメイン名の識別子(DC)には,該当するドメイン名を指定します。
ldifde -f 出力ファイル名 -d CN=Group,CN=Schema,CN=Configuration,DC=domain,DC=local
エクスポートしたLDIFファイルに,JP1操作権限クラス(hitachiJP1AccessLevel)が補助型クラス(auxiliaryClass)として設定されていることを確認します。
: auxiliaryClass: hitachiJP1AccessLevel :
(2) 連携するディレクトリサーバを指定する
ディレクトリサーバと連携してユーザー認証するためには,認証サーバで共通定義情報を設定する必要があります。ディレクトリサーバ連携機能は初期設定で共通定義に設定されていないため,設定の変更が必要です。セカンダリー認証サーバを設置している場合は,プライマリー認証サーバおよびセカンダリー認証サーバの両方に設定してください。
(a) ディレクトリサーバ連携の設定手順
DSユーザーを使用する場合,ディレクトリサーバ連携定義ファイルの設定と情報検索用ユーザーの登録が必要です。また,セットアップ後はディレクトリサーバとの接続をjbschkdsコマンドで確認してください。
-
ディレクトリサーバ連携定義ファイル(jp1bs_ds_setup.conf)を編集する。
連携ユーザーを使用する運用の場合との編集内容の相違点を次に示します。
- ENABLE
-
ディレクトリサーバと連携するかどうかを指定します。DSユーザーを使用する運用の場合は,00000002を指定します。標準ユーザーとDSユーザーが使用できます。
- BASE_DN
-
JP1ユーザーが存在するコンテナオブジェクトの識別名を指定するパラメーターですが,DSユーザーを使用する運用の場合は設定不要です。
- SEARCH_USER_DN
-
ディレクトリサーバにアクセスする情報検索用ユーザーの識別名を指定します。DSユーザーを使用する運用の場合は,このパラメーターを必ず定義してください。
ディレクトリサーバ連携定義ファイルの詳細については,「16. 定義ファイル」の「ディレクトリサーバ連携定義ファイル(Windows限定)」を参照してください。
-
jbssetcnfコマンドを実行する。
設定内容が共通定義情報に反映されます。jbssetcnfコマンドの詳細については,「15. コマンド」の「jbssetcnf」を参照してください。
-
情報検索用ユーザーとパスワードを認証サーバホストに登録する。
情報検索用ユーザーとディレクトリサーバにログインするときに使用するパスワードを,認証サーバホストのJP1/Baseのパスワード管理情報に登録します。情報検索用ユーザーのパスワードのバイト数は,1〜64バイトです。登録には,jbsmkpassコマンド,jbspassmgrコマンド,またはjbsumappassコマンドを使用します。なお,登録するユーザー(情報検索用ユーザー)の指定形式は,「aduser/情報検索用ユーザー名」で指定します。例えば,SEARCH_USER_DNに"CN=Groupcsearcher,OU=GroupC,DC=domain,DC=local"を指定した場合,「aduser/Groupcsearcher」と指定します。
DSユーザーを使用する運用の場合は,情報検索用ユーザーはJP1認証情報の収集やJP1操作権限属性の操作ができる権限が必要なため,次の権限があるユーザーを登録する必要があります。
-
ユーザーまたはグループのJP1操作権限へ書き込み権限があるユーザー
各コマンドの詳細については,「15. コマンド」の「jbsmkpass(Windows限定)」,「jbspassmgr(Windows限定)」,または「jbsumappass(Windows限定)」を参照してください。
-
-
jbschkdsコマンドを実行する。
ディレクトリサーバ連携の設定を確認します。jbschkdsコマンドの詳細については,「15. コマンド」の「jbschkds(Windows限定)」を参照してください。
(b) 連携するディレクトリサーバを変更する
設定したディレクトリサーバが障害などで使用できなくなった場合,連携するディレクトリサーバを一時的に変更できます。一時的に変更するための情報を定義した定義ファイル作成してjbschgdsコマンドを実行してください。また,一時的な変更の解除も,jbschgdsコマンドを使用します。
jbschgdsコマンドの詳細については,「15. コマンド」の「jbschgds(Windows限定)」を参照してください。
(3) DSユーザーを使用する場合のユーザー管理(操作権限の設定)
DSユーザーを使用する場合のユーザー管理(操作権限の設定)の手順を次に示します。
-
ディレクトリサーバ(Active Directory)でユーザー(DSユーザー)またはセキュリティグループを作成する。
[Active Directory ユーザーとコンピュータ]管理ツールやPowerShellのActive Directoryコマンドレッドを使用して,操作権限を設定するJP1ユーザー(DSユーザー)またはセキュリティグループを作成します。
-
操作権限を設定する。
手順1で作成したJP1ユーザー(DSユーザー)またはセキュリティグループに操作権限を設定します。JP1操作権限の付与は,次のどちらかの方法で実施してください。
-
Active Directoryを使用して操作権限を設定する。
ディレクトリサーバ(Active Directory)で,[Active Directory ユーザーとコンピュータ]管理ツールの属性エディター※やPowerShellのActive Directoryコマンドレッドを使用して,JP1ユーザー(DSユーザー)またはセキュリティグループの属性「hitachiJP1UserLevel」に操作権限を設定します。
設定フォーマットは次のとおりです。
JP1資源グループ=JP1権限レベル:JP1資源グループ=JP1権限レベル:・・・
記述内容については,「16. 定義ファイル」の「ユーザー権限定義ファイル」を参照してください。
注※ [Active Directory ユーザーとコンピュータ]管理ツールで,[表示]−[拡張機能]をチェックして属性エディターを使用可能にしてください。
-
JP1/Baseのコマンドを使用して操作権限を設定する。
認証サーバ(プライマリー認証サーバ)で,JP1/Baseのjbssetaclコマンド(-dsオプションを指定)またはjbsrmaclコマンド(-dsオプションを指定)を使用して,JP1ユーザー(DSユーザー)またはセキュリティグループに操作権限を設定します。
操作権限の設定手順は「8.1.3(3) コマンドを使ってJP1ユーザーの操作権限を個別に登録する」および「8.1.3(4) コマンドを使ってJP1ユーザーの操作権限を個別に削除する」を参照してください。
-
-
ディレクトリサーバ(Active Directory)でセキュリティグループを割り当てる。
セキュリティグループにJP1操作権限を付与する場合,[Active Directory ユーザーとコンピュータ]管理ツールやPowerShellのActive Directoryコマンドレッドを使用して,JP1操作権限を付与したセキュリティグループのメンバーにJP1ユーザー(DSユーザー)を設定,またはJP1ユーザー(DSユーザー)の所属するグループにJP1操作権限を付与したセキュリティグループを設定します。
-
認証サーバ(プライマリー認証サーバ)でJP1操作権限を反映する。
JP1/Baseの再起動またはjbsaclreloadコマンド(-dsオプションを指定)を使用して,手順2で設定した操作権限を認証サーバに反映させます。
jbsaclreloadコマンドの詳細については,「15. コマンド」の「jbsaclreload」を参照してください。
セカンダリー認証サーバを設置する場合,セカンダリー認証サーバでも同様に操作権限を反映してください。
(4) DSユーザーを使用する運用への切り替え方法
標準ユーザーまたは連携ユーザーを使用する運用から,DSユーザーを使用する運用へ移行する場合の手順を次に示します。
-
ディレクトリサーバでActive Directoryの環境を設定する。
Active DirectoryにJP1操作権限属性のスキーマを拡張します。この手順はActive Directoryに対して1回だけ実行します。詳細は,「8.2.2(1) Active Directoryでの事前準備」を参照してください。
-
認証サーバ(プライマリー認証サーバ)でJP1/Baseを停止する。
DSユーザーを使用する設定するため,JP1/Baseを停止します。
-
認証サーバ(プライマリー認証サーバ)でJP1/Baseの環境を設定する。
ディレクトリサーバ連携定義ファイルを変更し,DSユーザーを使用する設定にします。詳細は,「8.2.2(2)(a) ディレクトリサーバ連携の設定手順」を参照してください。
-
認証サーバ(プライマリー認証サーバ)でJP1/Baseを起動する。
認証コマンドを使用してActive DirectoryにJP1操作権限の設定をするため,JP1/Baseを起動します。
-
認証サーバ(プライマリー認証サーバ)でJP1操作権限を設定します。
JP1操作権限をActive Directoryに設定します。
- 標準ユーザーを使用する運用から移行する場合
-
1. 認証サーバホストのJP1_UserLevelファイルを任意ファイルにコピーする。
2. 定義ファイルの標準ユーザーをDSユーザー名に書き換える。
3. 定義ファイルを指定してjbssetaclコマンド(-dsオプションを指定)を実行する。
4. ユーザーマッピングに標準ユーザーを使用している場合,パスワードを含めて再登録する。
5. 認証サーバホストに登録していた移行前の標準ユーザーと操作権限を削除する。
標準ユーザーはjbsrmuserコマンドで削除します。操作権限はjbsrmaclコマンドで削除します。
- 連携ユーザーを使用する運用から移行する場合
-
1. 認証サーバホストのJP1_UserLevelファイルを任意のファイル名でコピーする。
2. 手順1の定義ファイルを指定してjbssetaclコマンド(-dsオプションを指定)を実行する。
3. 認証サーバホストに登録していた移行前の連携ユーザーと操作権限を削除する。
連携ユーザーはjbsrmuserコマンドで削除します。操作権限はjbsrmaclコマンドで削除します。
-
認証サーバ(プライマリー認証サーバおよびセカンダリ認証サーバ)でjbsaclreloadコマンドを実行する。
設定した操作権限でJP1認証情報を再読み込みするため,jbsaclreloadコマンド(-dsオプションを指定)を実行します。
-
認証サーバ(プライマリー認証サーバ)でJP1認証情報が正しいか確認する。
jbslistuserコマンドやjbslistaclコマンドでJP1認証情報を確認します。
(5) DSユーザーを使用する運用の場合の注意事項
-
DSユーザーおよびDSグループは,次に示す条件を満たしている必要があります。
-
Active Directoryでユーザー名またはグループ名が一意である。
ディレクトリサーバ連携定義ファイルのATTR_NAMEパラメーターで指定された属性で一意である必要があります。
-
次の表に示す文字制限を満たしている。
表8‒7 DSユーザーおよびDSグループの文字制限 対象
バイト数
使用禁止文字
DSユーザー名※
1〜31バイト
* / \ " ' ^ [ ] { } ( ) : ; | = , + ? < >
スペース,タブ,非ASCII文字
DSグループ名
1〜256バイト
* / \ " ' ^ [ ] { } ( ) : ; | = , + ? < >
タブ,非ASCII文字
-
-
標準ユーザーとDSユーザーを併用した環境で,標準ユーザーと同名のDSユーザーが現れた場合は,標準ユーザーが優先されます。
-
ディレクトリサーバのパスワード制限に加えて,JP1製品で使用するための次の制限があります。
パスワード:バイト数:6〜32バイト,文字種の制限:なし