Hitachi Global Link Manager 導入・設定ガイド
LDAPディレクトリサーバでユーザー認証するために,Hitachi Command Suite製品では次の設定が必要です。
ここでは,管理サーバで必要な作業について説明します。Global Link Manager GUIでの操作方法については,マニュアル「Hitachi Global Link Manager ユーザーズガイド」を参照してください。
LDAPディレクトリサーバのデータ構造には次の2つがあります。
データ構造によって,exauth.propertiesファイルに設定する情報や管理サーバで必要な作業が異なるため,どちらに該当しているかを確認してください。
また,認証の際にユーザーを検索する起点となるエントリー(BaseDN)についても確認してください。BaseDNはexauth.propertiesファイルの設定で必要な情報です。BaseDNより下の階層のユーザーエントリーが認証の対象となります。Hitachi Command Suite製品で認証したいユーザーをすべて含むエントリーであることが必要です。
BaseDNより下の階層が分岐していて,かつ別の階層下にユーザーエントリーが登録されているデータ構造の場合は階層構造モデルになります。階層構造モデルの場合は,BaseDNより下のエントリーを対象に,ログインIDとユーザー属性値が等しいエントリーが検索されます。
次の図に階層構造モデルの例を示します。点線で囲まれた範囲が,認証の対象となるユーザーエントリーです。この例では,対象のユーザーエントリーが「cn=sales」と「cn=development」の2つのエントリーにわたって属しているので,BaseDNは「cn=group,dc=example,dc=com」となります。
BaseDNより下に分岐がなく,かつ直下にユーザーエントリーが登録されているデータ構造の場合はフラットモデルになります。フラットモデルの場合は,BaseDNより下のエントリーを対象に,ログインIDとBaseDNを組み合わせたDNを持つエントリーが認証されます。
次の図にフラットモデルの例を示します。点線で囲まれた範囲が,認証の対象となるユーザーエントリーです。この例では,認証対象のすべてのユーザーエントリーが「ou=people」の直下に属しているので,BaseDNは「ou=people,dc=example,dc=com」となります。
ただし,次のどちらかに該当する場合は,データ構造がフラットモデルであっても,階層構造モデルの場合の説明に従って設定してください。
ここでは,LDAPディレクトリサーバでユーザー認証する場合にexauth.propertiesファイルで必要な設定について説明します。
<Hitachi Command Suite共通コンポーネントのインストールフォルダ>\sample\conf\exauth.properties
<Hitachi Command Suite共通コンポーネントのインストールフォルダ>\conf\exauth.propertiesexauth.propertiesファイルの設定値を変更した場合は,直ちに変更後の値が有効になります。
exauth.propertiesファイルの設定項目を「表3-24 LDAPディレクトリサーバで認証する場合のexauth.propertiesファイルの設定項目(共通項目)」~「表3-26 LDAPディレクトリサーバで認証する場合のexauth.propertiesファイルの設定項目(外部認証サーバの情報をDNSサーバに照会するとき)」に示します。
表3-24 LDAPディレクトリサーバで認証する場合のexauth.propertiesファイルの設定項目(共通項目)
プロパティ名 | 説明 |
---|---|
auth.server.type | 外部認証サーバの種類です。ldapを指定します。 デフォルト値:internal(外部認証サーバと連携しない場合) |
auth.server.name | LDAPディレクトリサーバのサーバ識別名を指定します。接続プロトコルやポート番号などの設定(「表3-25 LDAPディレクトリサーバで認証する場合のexauth.propertiesファイルの設定項目(外部認証サーバの情報を直接指定するとき)」および「表3-26 LDAPディレクトリサーバで認証する場合のexauth.propertiesファイルの設定項目(外部認証サーバの情報をDNSサーバに照会するとき)」)をLDAPディレクトリサーバごとに区別するために付ける任意の名称です。初期値として「ServerName」が設定されています。必ず1つ以上のサーバ識別名を指定してください。サーバ識別名を複数指定する場合は,サーバ識別名を「,(コンマ)」で区切って指定します。同じサーバ識別名は重複して登録しないでください。 指定できる値:64バイト以内の次の文字列 0~9 A~Z a~z ! # ( ) + - . = @ [ ] ^ _ { } ~ デフォルト値:なし |
auth.ldap.multi_domain | LDAPディレクトリサーバのサーバ識別名を複数指定する場合,各サーバがマルチドメイン構成であるか,冗長構成であるかを指定します。 マルチドメイン構成の場合はtrueを指定します。 冗長構成の場合はfalseを指定します。 デフォルト値:false |
auth.ldap.default_domain | Active Directoryのグローバルカタログの設定です。ログインIDにドメイン名が付与されていない場合に,デフォルトの認証先とするサーバ構成のドメイン名を指定します。auth.server.nameでサーバを複数指定した場合は,冗長構成ではなくマルチドメイン構成となります。 デフォルト値:なし |
auth.group.mapping | 外部認可サーバとも連携するかどうかを指定します。 連携する場合はtrueを指定します。 連携しない場合はfalseを指定します。 デフォルト値:false |
表3-25 LDAPディレクトリサーバで認証する場合のexauth.propertiesファイルの設定項目(外部認証サーバの情報を直接指定するとき)
属性 | 説明 |
---|---|
protocol※1 | LDAPディレクトリサーバ接続のプロトコルです。この項目は必須です。 平文による通信の場合はldap,StartTLSによる通信の場合はtlsを指定します。 tlsを指定する場合には,LDAPディレクトリサーバで次のどれかの暗号方式を使用できることを事前に確認してください。
デフォルト値:なし |
host※2 | LDAPディレクトリサーバのホスト名またはIPアドレスを指定します。ホスト名を指定する場合,IPアドレスへの名前解決ができることを事前に確認してください。IPアドレスには,IPv4アドレスとIPv6アドレスの両方を使用できます。IPv6アドレスは必ず[ ]で囲んでください。グローバルカタログが有効(auth.ldap.default_domainを指定)の場合,複数のホスト名またはIPアドレスをコンマで区切って指定すると,冗長構成にできます。この項目は必須です。 デフォルト値:なし |
port | LDAPディレクトリサーバのポート番号です。指定するポートが,LDAPディレクトリサーバで待ち受けポート番号として設定されていることを事前に確認してください。グローバルカタログが有効(auth.ldap.default_domainを指定)の場合,複数のポート番号をコンマで区切って指定すると,冗長構成にできます。ポート番号の個数はhostに指定した個数と一致させてください。 指定できる値:1~65535 デフォルト値:389(グローバルカタログが無効の場合),3268(グローバルカタログが有効の場合) |
timeout | LDAPディレクトリサーバと接続するときの接続待ち時間です。この値を0にした場合,タイムアウトしないで,通信エラーが発生するまで待ち続けます。 指定できる値:0~120(秒) デフォルト値:15 |
attr | 認証で使用するユーザーIDの値が定義されている属性名(Attribute Type)です。
デフォルト値:なし |
basedn | LDAPディレクトリサーバの情報を検索する際に,起点となるエントリーのDN(BaseDN)です。このDNより下の階層のユーザーエントリーが認証の対象となります。指定した値はLDAPディレクトリサーバにそのまま渡されるため,BaseDNにエスケープが必要な文字が含まれる場合は,正しくエスケープしてください。
空白文字 # + ; , < = > \ デフォルト値:なし |
retry.interval | LDAPディレクトリサーバとの通信に失敗した場合のリトライ間隔となる秒数です。 指定できる値:1~60(秒) デフォルト値:1 |
retry.times | LDAPディレクトリサーバとの通信に失敗した場合のリトライ回数です。この値を0にした場合,リトライされません。 指定できる値:0~50 デフォルト値:20 |
domain.name | LDAPディレクトリサーバが管理する外部認可サーバ用のドメインの名称です。外部認可サーバとも連携する場合,この項目は必須です。 デフォルト値:なし |
domain | LDAPディレクトリサーバが管理するマルチドメイン構成用のドメインの名称,またはグローバルカタログのドメインの名称です。 ログイン時に,この属性で指定したドメイン名をユーザーIDに含めると,指定したドメインに属するLDAPディレクトリサーバが認証先となります。 LDAPディレクトリサーバのサーバ識別名ごとにドメイン名を指定する際に,ドメイン名を重複しないように指定してください。大文字小文字は区別されません。 グローバルカタログが有効の場合,デフォルトの認証先とする構成は,auth.ldap.default_domainのドメイン名と一致させてください。 マルチドメイン構成の場合,この項目は必須です。 デフォルト値:なし |
dns_lookup | falseを指定します。 デフォルト値:false |
表3-26 LDAPディレクトリサーバで認証する場合のexauth.propertiesファイルの設定項目(外部認証サーバの情報をDNSサーバに照会するとき)
属性 | 説明 |
---|---|
protocol | LDAPディレクトリサーバ接続のプロトコルです。この項目は必須です。 指定できる値:ldap デフォルト値:なし |
port | LDAPディレクトリサーバのポート番号です。指定するポートが,LDAPディレクトリサーバで待ち受けポート番号として設定されていることを事前に確認してください。 指定できる値:1~65535 デフォルト値:389 |
timeout | LDAPディレクトリサーバと接続するときの接続待ち時間です。この値を0にした場合,タイムアウトしないで,通信エラーが発生するまで待ち続けます。 指定できる値:0~120(秒) デフォルト値:15 |
attr | 認証で使用するユーザーIDの値が定義されている属性名(Attribute Type)です。
デフォルト値:なし |
basedn | LDAPディレクトリサーバの情報を検索する際に,起点となるエントリーのDN(BaseDN)です。このDNより下の階層のユーザーエントリーが認証の対象となります。指定した値はLDAPディレクトリサーバにそのまま渡されるため,BaseDNにエスケープが必要な文字が含まれる場合は,正しくエスケープしてください。
空白文字 # + ; , < = > \ デフォルト値:なし |
retry.interval | LDAPディレクトリサーバとの通信に失敗した場合のリトライ間隔となる秒数です。 指定できる値:1~60(秒) デフォルト値:1 |
retry.times | LDAPディレクトリサーバとの通信に失敗した場合のリトライ回数です。この値を0にした場合,リトライされません。 指定できる値:0~50 デフォルト値:20 |
domain.name | LDAPディレクトリサーバが管理する外部認可サーバ用のドメインの名称です。この項目は必須です。 デフォルト値:なし |
dns_lookup | trueを指定します。 ただし,次の属性に値が設定されている場合は,DNSサーバには照会されず,ユーザーが指定した値を使用してLDAPディレクトリサーバに接続されます。
|
設定例を次に示します。
auth.server.type=ldap auth.server.name=ServerName auth.group.mapping=false auth.ocsp.enable=false auth.ocsp.responderURL= auth.ldap.ServerName.protocol=ldap auth.ldap.ServerName.host=ldap.example.com auth.ldap.ServerName.port=389 auth.ldap.ServerName.timeout=15 auth.ldap.ServerName.attr=sAMAccountName auth.ldap.ServerName.basedn=dc=Example,dc=com auth.ldap.ServerName.retry.interval=1 auth.ldap.ServerName.retry.times=20 auth.ldap.ServerName.dns_lookup=false |
auth.server.type=ldap auth.server.name=ServerName auth.group.mapping=false auth.ldap.ServerName.protocol=ldap auth.ldap.ServerName.timeout=15 auth.ldap.ServerName.attr=sAMAccountName auth.ldap.ServerName.basedn=dc=Example,dc=com auth.ldap.ServerName.retry.interval=1 auth.ldap.ServerName.retry.times=20 auth.ldap.ServerName.domain.name=EXAMPLE.COM auth.ldap.ServerName.dns_lookup=true |
auth.server.type=ldap auth.server.name=ServerName auth.group.mapping=true auth.ocsp.enable=false auth.ocsp.responderURL= auth.ldap.ServerName.protocol=ldap auth.ldap.ServerName.host=ldap.example.com auth.ldap.ServerName.port=389 auth.ldap.ServerName.timeout=15 auth.ldap.ServerName.attr=sAMAccountName auth.ldap.ServerName.basedn=dc=Example,dc=com auth.ldap.ServerName.retry.interval=1 auth.ldap.ServerName.retry.times=20 auth.ldap.ServerName.domain.name=EXAMPLE.COM auth.ldap.ServerName.dns_lookup=false |
auth.server.type=ldap auth.server.name=ServerName auth.group.mapping=true auth.ldap.ServerName.protocol=ldap auth.ldap.ServerName.timeout=15 auth.ldap.ServerName.attr=sAMAccountName auth.ldap.ServerName.basedn=dc=Example,dc=com auth.ldap.ServerName.retry.interval=1 auth.ldap.ServerName.retry.times=20 auth.ldap.ServerName.domain.name=EXAMPLE.COM auth.ldap.ServerName.dns_lookup=true |
auth.server.type=ldap auth.server.name=ServerName1,ServerName2 auth.ldap.multi_domain=false auth.group.mapping=false auth.ldap.ServerName1.protocol=ldap auth.ldap.ServerName1.host=ldap1.example.com auth.ldap.ServerName1.port=389 auth.ldap.ServerName1.timeout=15 auth.ldap.ServerName1.attr=sAMAccountName auth.ldap.ServerName1.basedn=dc=Example,dc=com auth.ldap.ServerName1.retry.interval=1 auth.ldap.ServerName1.retry.times=20 auth.ldap.ServerName2.protocol=ldap auth.ldap.ServerName2.host=ldap2.example.com auth.ldap.ServerName2.port=389 auth.ldap.ServerName2.timeout=15 auth.ldap.ServerName2.attr=sAMAccountName auth.ldap.ServerName2.basedn=dc=Example,dc=net auth.ldap.ServerName2.retry.interval=1 auth.ldap.ServerName2.retry.times=20 |
auth.server.type=ldap auth.server.name=ServerName1,ServerName2 auth.ldap.multi_domain=true auth.group.mapping=false auth.ldap.ServerName1.protocol=ldap auth.ldap.ServerName1.host=ldap1.example.com auth.ldap.ServerName1.port=389 auth.ldap.ServerName1.timeout=15 auth.ldap.ServerName1.attr=sAMAccountName auth.ldap.ServerName1.basedn=dc=Example,dc=com auth.ldap.ServerName1.retry.interval=1 auth.ldap.ServerName1.retry.times=20 auth.ldap.ServerName1.domain=example.com auth.ldap.ServerName2.protocol=ldap auth.ldap.ServerName2.host=ldap2.example.com auth.ldap.ServerName2.port=389 auth.ldap.ServerName2.timeout=15 auth.ldap.ServerName2.attr=sAMAccountName auth.ldap.ServerName2.basedn=dc=Example,dc=net auth.ldap.ServerName2.retry.interval=1 auth.ldap.ServerName2.retry.times=20 auth.ldap.ServerName2.domain=example.net |
auth.server.type=ldap auth.server.name=ServerName1,ServerName2 auth.ldap.default_domain=example.com auth.ldap.ServerName1.protocol=ldap auth.ldap.ServerName1.host=ldap.example1.com,ldap.example2.com auth.ldap.ServerName1.port=3268,3268 auth.ldap.ServerName1.timeout=15 auth.ldap.ServerName1.attr=sAMAccountName auth.ldap.ServerName1.basedn=dc=Example,dc=com auth.ldap.ServerName1.retry.interval=1 auth.ldap.ServerName1.retry.times=20 auth.ldap.ServerName1.domain=example.com auth.ldap.ServerName2.protocol=ldap auth.ldap.ServerName2.host=ldap.example1.com,ldap.example2.com auth.ldap.ServerName2.port=3268,3268 auth.ldap.ServerName2.timeout=15 auth.ldap.ServerName2.attr=sAMAccountName auth.ldap.ServerName2.basedn=dc=Example,dc=net auth.ldap.ServerName2.retry.interval=1 auth.ldap.ServerName2.retry.times=20 auth.ldap.ServerName2.domain=example.net |
hcmds64ldapuserコマンドを使用して情報検索用のユーザーアカウントを管理サーバに登録します。登録後は,hcmds64ldapuserコマンドで,情報検索用のユーザーアカウントを削除したり,管理サーバに情報検索用のユーザーアカウントを登録済みのLDAPディレクトリサーバを確認したりできます。
この作業は次の場合に必要です。
上記以外の場合は,認証・認可時にユーザー情報の検索を行わないため,この作業は不要です。すでに登録されている場合は,削除してください。
hcmds64ldapuserコマンドで情報検索用のユーザーアカウントを登録します。
情報検索用のユーザーアカウントには,次の条件を満たすユーザーアカウントを登録してください。
hcmds64ldapuserコマンドの書式は次のとおりです。
<Hitachi Command Suite共通コンポーネントのインストールフォルダ>\bin\hcmds64ldapuser /set /dn <情報検索用ユーザーのDN> /pass <情報検索用ユーザーのパスワード> /name <サーバ識別名または外部認可サーバ用のドメイン名>
図3-1のようなデータ構造の場合の実行例を説明します。この図では,検索の起点となるエントリーのDNは「cn=group,dc=example,dc=com」となります。このDN以下のすべてのユーザー「Babs」「Tim」「John」に対し,属性を検索する権限を持つユーザーが「administrator」である場合,/dnオプションには「administrator」のDN「cn=administrator,cn=admin,dc=example,dc=com」を指定します。コマンドの実行例を次に示します。「administrator」のパスワードは「administrator_pass」とします。
hcmds64ldapuser /set /dn "cn=administrator,cn=admin,dc=example,dc=com" /pass administrator_pass /name ServerName
dsquery user -name administrator "CN=administrator,CN=admin,DC=example,DC=com"
hcmds64ldapuser /set /dn "cn=administrator,cn=admin,dc=example\,com" /pass administrator_pass /name ServerName
情報検索用のユーザーアカウントを削除するには,次のコマンドを実行してください。
<Hitachi Command Suite共通コンポーネントのインストールフォルダ>\bin\hcmds64ldapuser /delete /name <サーバ識別名または外部認可サーバ用のドメイン名>
どのLDAPディレクトリサーバの情報検索用ユーザーアカウントが管理サーバに登録されているかを確認する場合は,次のコマンドを実行してください。
<Hitachi Command Suite共通コンポーネントのインストールフォルダ>\bin\hcmds64ldapuser /list
hcmds64checkauthコマンドを使用して,LDAPディレクトリサーバに正しく接続できるか確認します。
<Hitachi Command Suite共通コンポーネントのインストールフォルダ>\bin\hcmds64checkauth /user <ユーザーID> /pass <パスワード> [/summary]
/summaryオプションを指定すると,コマンド実行時に表示される確認メッセージが簡略化されます。
<ユーザーID>,<パスワード>には,LDAPディレクトリサーバに登録されているユーザーアカウントのものを指定してください。<ユーザーID>には,exauth.propertiesファイルのauth.ldap.<auth.server.nameに指定した値>.attrで指定した属性に格納されている値を指定してください。ただし,<ユーザーID>,<パスワード>の先頭に,「/」は指定できません。
hcmds64checkauthコマンドでは,次の4フェーズに分けて確認が行われます。フェーズごとに確認結果が表示されます。
各フェーズでの確認が正常に終了した場合,次のメッセージが表示されます。
KAPM15004-I The result of the configuration check of Phase X※ was normal.
注※ 「X」にはフェーズ番号が入ります。
図3-1のユーザー「John」のアカウントを使用して,hcmds64checkauthコマンドを実行する例を次に示します。
この例では,exauth.propertiesファイルのauth.ldap.<auth.server.nameに指定した値>.attrに「sAMAccountName」が指定されていることとします。LDAPディレクトリサーバで設定された「John」のsAMAccountName属性の値が「John_Smith」であるとき,<ユーザーID>には「John_Smith」を指定します。「John」の,LDAPディレクトリサーバ上のパスワードが「John_pass」であるとき,<パスワード>には「John_pass」を指定します。
hcmds64checkauth /user John_Smith /pass John_pass
図3-2のユーザー「John」のアカウントを使用して,hcmds64checkauthコマンドを実行する例を次に示します。
この例では,exauth.propertiesファイルのauth.ldap.<auth.server.nameに指定した値>.attrに「uid」が指定されていることとします。「John」のRDNは「uid=John」であるため,<ユーザーID>にはRDNの属性値「John」を指定します。「John」の,LDAPディレクトリサーバ上のパスワードが「John_pass」であるとき,<パスワード>には「John_pass」を指定します。
hcmds64checkauth /user John /pass John_pass
All Rights Reserved. Copyright© 2014, 2023, Hitachi, Ltd.