付録D.1 外部認証サーバとの連携設定の手順
ユーザ認証を行う認証サーバに接続するための設定をします。
認証サーバを使用すると、ユーザは、認証サーバが管理するパスワードを使用してStorage Navigatorにログインできます。認証サーバが管理するパスワードを使用するか、Storage Navigator独自のパスワードを使用するかは、ユーザごとに決定できます。
認証サーバを使用しない場合のユーザ認証の流れを次の図に示します。
認証サーバを使用する場合のユーザ認証の流れを次の図に示します。
(1) 認証サーバの要件
使用する認証サーバが、次の条件を満たしていることを確認してください。
-
認証サーバのプロトコル
-
LDAPサーバの設定に使用できる証明書ファイルの形式
-
Kerberosサーバの暗号タイプ
-
接続できる認証サーバ
-
サーバ検索
-
暗号通信
(a) 認証サーバのプロトコル
認証サーバのプロトコルには、LDAP、RADIUS、またはKerberosが使用できます。サポートされている認証形式は次のとおりです。
LDAPの場合
-
LDAPv3 Simple bind認証
RADIUSの場合
-
RFC2865 準拠RADIUS
PAP認証
CHAP認証
Kerberosの場合
-
Kerberos v5
(b) LDAPサーバの設定に使用できる証明書ファイルの形式
LDAPサーバの設定に使用できる証明書ファイルの形式は次のとおりです。
-
X509 DER形式※
-
X509 PEM形式※
- 注※
-
X.509証明書の拡張プロファイルのフィールドは、RFC5280に規定される「基本制限 (BasicConstraints)」「キー使用法(KeyUsage)」「サブジェクトキー識別子(Subject Key Identifier)」をサポートしています。
(c) Kerberosサーバの暗号タイプ
Kerberosサーバでは、次のどれかの暗号タイプを使用できるようにしてください。
Windowsの場合
-
AES128-CTS-HMAC-SHA1-96
-
RC4-HMAC
-
DES3-CBC-SHA1
-
DES-CBC-CRC
-
DES-CBC-MD5
SolarisまたはLinuxの場合
-
DES-CBC-MD5
(d) 接続できる認証サーバ
接続できる認証サーバは正・副2台です。正サーバと副サーバでは、IPアドレスおよびポート以外は同一の設定にしてください。
(e) サーバ検索
DNSサーバのSRVレコードに登録してある情報を使用してサーバを検索する場合は、次の条件を満たしていることを確認してください。なお、RADIUSサーバの場合は、SRVレコードを使用できません。
LDAPサーバの場合
-
LDAPサーバで、DNSサーバの環境設定が完了していること
-
DNSサーバに、LDAPサーバのホスト名、ポート番号、ドメイン名などが登録してあること
Kerberosサーバの場合
-
DNSサーバに、Kerberosサーバのホスト名、ポート番号、ドメイン名などが登録してあること
(f) 暗号通信
RADIUSサーバへのアクセスにはUDP/IPが使われるため、プロセス間でネゴシエーションを行ったうえでの暗号通信ができません。セキュアな環境でRADIUSサーバにアクセスするには、IPsecなどの通信のパケットレベルでの暗号化が必要です。
(2) 認証サーバに接続するための設定をする
背景
認証サーバを使用するには、サーバへの接続設定やネットワークの設定が必要です。特にサーバへの接続設定には、利用する認証サーバの詳細な設定情報が必要です。サーバへの接続設定に使用するLDAP、RADIUS、およびKerberos用の設定値は各サーバの管理者に問い合わせてください。ネットワークの設定に関してはネットワークの管理者に問い合わせてください。
設定を行ったにもかかわらず、認証サーバが使用できない場合は、サーバへの接続設定の内容やネットワークに問題がある可能性があります。サーバの管理者およびネットワークの管理者に問い合わせてください。
設定完了後、認証サーバが使用できることを確認したら、認証サーバへの接続設定をバックアップしてください。
前提条件
-
LDAPを使用する場合はLDAPサーバのサーバ証明書が必要です。証明書については、各サーバの管理者に問い合わせてください。
操作手順
-
コンフィグファイルを作成します。使用するプロトコルによって設定する項目が異なります(「(3) コンフィグファイルの作成」参照)。
-
SVPへログインし、次のファイルを参照可能な場所に格納します。
-
証明書(セキュアな通信を行う場合)
-
コンフィグファイル
-
-
SVPでWindowsのコマンドプロンプトを起動します。
-
カレントディレクトリをツールが存在するディレクトリに移動し、次に示すコマンドにコンフィグファイルパス(例 C:\auth\auth.properties)と証明書ファイルパス(例 C:\auth\auth.cer)を指定して実行します。
cd /d C:\Mapp\wk\Supervisor\MappIniSet
MappSetExAuthConf "C:\auth\auth.properties" "C:\auth\auth.cer"
- ヒント
-
C:\Mapp:ストレージ管理ソフトウェア、およびSVPソフトウェアのインストールディレクトリを示します。
「C:\Mapp」以外をインストールディレクトリに指定した場合は、「C:\Mapp」を、指定のインストールディレクトリに置き換えてください。
-
認証サーバが使用できることを確認したのち、認証サーバへの接続設定をバックアップします(バックアップの詳細は「3.19.14 SVPのソフトウェア設定情報のバックアップ」参照)。
-
操作手順 4. で指定したファイルを削除するためのメッセージが表示されます。
Do you want to delete files("C:\auth\auth.properties" "C:\auth\auth.cer")?
削除する場合は“y”を指定してください。
“n”を指定すると、ファイルは削除されません。
手動で削除してください。
(3) コンフィグファイルの作成
使用する認証サーバのプロトコルにあわせて、コンフィグファイルを作成します。コンフィグファイルは、認証サーバへの接続設定時に必要です(「(2) 認証サーバに接続するための設定をする」参照)。
(a) LDAP用コンフィグファイルの作成
認証サーバとしてLDAPサーバを使用するには、テキストエディタでコンフィグファイルを作成し、認証サーバの情報を次の形式で定義します。ファイル名および拡張子は任意です。
- メモ
-
コンフィグファイルは、UTF-8エンコーディングで保存してください。
形式
#コメント auth.server.type=ldap auth.server.name=<サーバ識別名> auth.group.mapping=<値> auth.ldap.<サーバ識別名>.<属性>=<値>
例
auth.server.type=ldap auth.server.name=PrimaryServer auth.group.mapping=true auth.ldap.PrimaryServer.protocol=ldaps auth.ldap.PrimaryServer.host=ldaphost.domain.local auth.ldap.PrimaryServer.port=636 auth.ldap.PrimaryServer.timeout=3 auth.ldap.PrimaryServer.attr=sAMAccountName auth.ldap.PrimaryServer.searchdn=CN=sample1,CN=Users,DC=domain,DC=local auth.ldap.PrimaryServer.searchpw=password auth.ldap.PrimaryServer.basedn=CN=Users,DC=domain,DC=local auth.ldap.PrimaryServer.retry.interval=1 auth.ldap.PrimaryServer.retry.times=3 auth.ldap.PrimaryServer.domain.name=EXAMPLE.COM
属性 |
説明 |
省略可否 |
デフォルト値 |
---|---|---|---|
auth.server.type |
認証サーバの種別。ldapを指定してください。 |
必須 |
なし |
auth.server.name |
認証サーバの識別名。正・副2台の認証サーバを登録する場合は、コンマ(,)で区切ってください。正・副あわせて64バイト以下で指定します。 次の記号を除くASCIIコードを使用できます。 \ / : , ; * ? " < > | $ % & ' ~ これより以下の項目では、ここで設定した値を<サーバ識別名>と言います。 |
必須 |
なし |
auth.group.mapping |
認可サーバと連携するかどうかを設定します。
|
省略可 |
false |
auth.ldap.<サーバ識別名>.protocol |
使用するLDAPプロトコル。 ldaps(LDAP over SSL/TLSを用いた認証)を指定してください。 starttls(StartTLSを用いた認証)は指定できません。 |
必須 |
なし |
auth.ldap.<サーバ識別名>.host |
LDAPサーバのホスト名、IPv4アドレス、またはIPv6アドレス。IPv6アドレスは[]で囲んで指定してください。プロトコルとしてStartTLSを使用する場合、ホスト名を指定します。 この値を設定した場合、 auth.ldap.<サーバ識別名>.dns_lookupの設定は無視されます。 |
auth.ldap.<サーバ識別名>.dns_lookupにtrueを指定した場合は省略可 |
なし |
auth.ldap.<サーバ識別名>.port |
LDAPサーバのポート番号。1~65535の範囲で指定します。範囲外の値が指定された場合はデフォルト値を使用します。 |
省略可 |
389 |
auth.ldap.<サーバ識別名>.timeout |
LDAPサーバとの接続タイムアウトを検出するまでの時間。1~30の範囲で指定します。単位は秒です。 |
省略可 |
10 |
auth.ldap.<サーバ識別名>.attr |
ユーザを確定する属性名(ユーザIDなど)。
Active DirectoryではsAMAccountNameが使用されます。 |
必須 |
なし |
auth.ldap.<サーバ識別名>.searchdn |
検索用ユーザのDN。省略した場合、[attr値]=[ログインID],[basedn値]で表されるDNにバインド認証を行います。※ |
必須 |
なし |
auth.ldap.<サーバ識別名>.searchpw |
検索用ユーザのパスワード。LDAPサーバに登録しているパスワードと同じ値を指定してください。 |
必須 |
なし |
auth.ldap.<サーバ識別名>.basedn |
認証するユーザを検索する際に基点となるDN(BaseDN)※。
|
必須 |
なし |
auth.ldap.<サーバ識別名>.retry.interval |
LDAPサーバの通信に失敗した場合のリトライ間隔。 1~5の範囲で指定します。単位は秒です。 |
省略可 |
1 |
auth.ldap.<サーバ識別名>.retry.times |
LDAPサーバの通信に失敗した場合のリトライ回数。 0~3の範囲で指定します。0を指定するとリトライしません。 |
省略可 |
3 |
auth.ldap.<サーバ識別名>.domain.name |
LDAPサーバが管理するドメインの名称。 |
必須 |
なし |
auth.ldap.<サーバ識別名>.dns_lookup |
DNSサーバのSRVレコードに登録してある情報を使用してLDAPサーバを検索するかどうかを設定します。 false(ホスト名やポート番号で検索)を指定してください。 true(DNSサーバのSRVレコードに登録してある情報で検索)は指定できません。 |
省略可 |
false |
- 注※
-
属性値に記号(+ ; , < = >など)を入力する場合、記号の前に円記号(\)を入力してしてください。記号を複数入力する場合、1文字ごとに円記号(\)を入力してください。
例えば、searchdnに指定した値が「abc++」の場合は、次のように入力して「+」を入力してください。
abc\+\+
ただし、\、/、または"を入力するときは、円記号(\)のあとにそれぞれの記号のASCIIコードを16進数で入力してください。
-
「\」は、「\5c」と入力します。
-
「/」は、「\2f」と入力します。
-
「"」は、「\22」と入力します。
例えば、searchdnに指定した値が「abc\」の場合は、次のように入力してください。
abc\5c
-
(b) RADIUS用コンフィグファイルの作成
認証サーバとしてRADIUSサーバを使用するには、テキストエディタでコンフィグファイルを作成し、認証サーバの情報を次の形式で定義します。ファイル名および拡張子は任意です。
- メモ
-
コンフィグファイルは、UTF-8エンコーディングで記述してください。
形式
#コメント auth.server.type=radius auth.server.name=<サーバ識別名> auth.group.mapping=<値> auth.radius.<サーバ識別名>.<属性>=<値> auth.group.<ドメイン名>.<属性>=<値>
例
auth.server.type=radius auth.server.name=PrimaryServer auth.group.mapping=true auth.radius.PrimaryServer.protocol=PAP auth.radius.PrimaryServer.host=example.com auth.radius.PrimaryServer.port=1812 auth.radius.PrimaryServer.timeout=3 auth.radius.PrimaryServer.secret=secretword auth.radius.PrimaryServer.retry.times=3 auth.radius.PrimaryServer.domain.name=radius.example.com auth.group.radius.example.com.protocol=ldaps auth.group.radius.example.com.host=xxx.xxx.xxx.xxx auth.group.radius.example.com.port=636 auth.group.radius.example.com.searchdn=CN=sample1,CN=Users,DC=domain,DC=local auth.group.radius.example.com.searchpw=password auth.group.radius.example.com.basedn=CN=Users,DC=domain,DC=local
属性 |
説明 |
省略可否 |
デフォルト値 |
---|---|---|---|
auth.server.type |
認証サーバの種別。radiusを指定してください。 |
必須 |
なし |
auth.server.name |
サーバの識別名。正・副2台の認証サーバを登録する場合は、コンマ(,)で区切ってください。正・副あわせて64バイト以下で指定します。 次の記号を除くASCIIコードを使用できます。 \ / : , ; * ? " < > | $ % & ' ~ これより以下の項目では、ここで設定した値を<サーバ識別名>と言います。 |
必須 |
なし |
auth.group.mapping |
認可サーバと連携するかどうかを設定します。
|
省略可 |
false |
auth.radius.<サーバ識別名>.protocol |
使用するRADIUSプロトコル。
|
必須 |
なし |
auth.radius.<サーバ識別名>.host |
RADIUSサーバのホスト名、IPv4アドレス、またはIPv6アドレス。IPv6アドレスは[]で囲んで指定してください。 |
必須※1 |
なし |
auth.radius.<サーバ識別名>.port |
RADIUSサーバのポート番号。1~65535の範囲で指定します。 |
省略可※2 |
1812 |
auth.radius.<サーバ識別名>.timeout |
RADIUSサーバとの接続タイムアウトを検出するまでの時間。1~30の範囲で指定します。単位は秒です。 |
省略可※2 |
10 |
auth.radius.<サーバ識別名>.secret |
PAPまたはCHAP認証で使用するRADIUSシークレット(共有鍵)。 |
必須 |
なし |
auth.radius.<サーバ識別名>.retry.times |
RADIUSサーバの通信に失敗した場合のリトライ回数。0~3の範囲で指定します。0を指定するとリトライしません。 |
省略可※2 |
3 |
- 注※1
-
外部認可でDNS照会する場合、設定が不要になります。
- 注※2
-
指定可能な値以外を指定した場合は、デフォルト値が設定されます。
属性 |
説明 |
省略可否 |
デフォルト値 |
---|---|---|---|
auth.radius.<サーバ識別名>.domain.name |
LDAPサーバが管理するドメインの名称を指定します。 これより以下の項目では、ここで設定した値を<ドメイン名>といいます。 |
外部認可サーバ連携時必須 |
なし |
auth.radius.<サーバ識別名>.dns_lookup |
LDAPディレクトリサーバの情報をDNSサーバに照会するかどうかを設定します。 false(ホスト名やポート番号で検索)を指定してください。 true(DNSサーバのSRVレコードに登録してある情報で検索)は指定できません。 |
省略可 |
false |
auth.group.<ドメイン名>.protocol |
LDAPディレクトリサーバ接続のプロトコルです。 ldaps(LDAP over SSL/TLSを用いた認証)を指定してください。 starttls(StartTLSを用いた認証)は指定できません。 |
必須 |
なし |
auth.group.<ドメイン名>.host |
LDAPディレクトリサーバのホスト名またはIPアドレスを指定します。 ホスト名を指定する場合、IPアドレスへの名前解決ができることを事前に確認してください。 |
省略可※1 |
なし |
auth.group.<ドメイン名>.port |
LDAPディレクトリサーバのポート番号です。1~65535の範囲で指定します。 |
省略可※2 |
389 |
auth.group.<ドメイン名>.searchdn |
LDAPディレクトリサーバとの認証に必要な検索ユーザDNを指定します。 |
必須 |
なし |
auth.group.<ドメイン名>.searchpw |
LDAPディレクトリサーバとの認証に必要な検索ユーザのパスワードを指定します。 |
必須 |
なし |
auth.group.<ドメイン名>.basedn |
LDAPディレクトリサーバの情報を検索する際に、起点となるエントリーのDN(BaseDN)。このDNより下の階層のユーザーエントリーが認可の対象となります。検索対象のユーザーエントリーをすべて含む階層のDNを指定してください。 例えば、次の文字がDNに含まれる場合は,1文字ごとに円記号(\)でエスケープする必要があります。 空白文字 # + ; , < = > \ 指定した値はLDAPディレクトリサーバにそのまま渡されるため、BaseDNにエスケープが必要な文字が含まれる場合は、正しくエスケープしてください。 省略した場合は、Active DirectoryのdefaultNamingContext属性に指定されている値がBaseDNと見なされます。 |
省略可 |
abbr |
auth.group.<ドメイン名>.timeout |
LDAPディレクトリサーバと接続するときの接続待ち時間を設定します。0~30の範囲で指定します。 |
省略可※2 |
10 |
auth.radius.<ドメイン名>.retry.interval |
LDAPディレクトリサーバとの通信に失敗した場合のリトライ間隔となる秒数を設定します。1~5の範囲で指定します。 |
省略可※2 |
1 |
auth.radius.<ドメイン名>.retry.times |
LDAPディレクトリサーバとの通信に失敗した場合のリトライ回数を設定します。0~3の範囲で指定します。 |
省略可※2 |
3 |
- 注※1
-
「auth.radius.<サーバ識別名>.dns_lookup」に「true」を指定した場合に省略できます。
- 注※2
-
指定可能な値以外を指定した場合は、デフォルト値が設定されます。
(c) Kerberos用コンフィグファイルの作成
認証サーバとしてKerberosサーバを使用するには、テキストエディタでコンフィグファイルを作成し、認証サーバの情報を次の形式で定義します。ファイル名および拡張子は任意です。
- メモ
-
コンフィグファイルは、UTF-8エンコーディングで記述してください。
形式
#コメント auth.server.type=kerberos auth.group.mapping=<値> auth.kerberos.<属性>=<値> auth.group.<レルム名>.<属性>=<値>
例
auth.server.type=kerberos auth.group.mapping=true auth.kerberos.default_realm=example.com auth.kerberos.dns_lookup_kdc=true auth.kerberos.clockskew=300 auth.kerberos.timeout=10 auth.group.example.com.protocol=ldaps auth.group.example.com.port=636 auth.group.example.com.searchdn=CN=sample1,CN=Users,DC=domain,DC=local auth.group.example.com.searchpw=password auth.group.example.com.basedn=CN=Users,DC=domain,DC=local
属性 |
説明 |
省略可否 |
デフォルト値 |
---|---|---|---|
auth.server.type |
認証サーバの種別。kerberosを指定してください。 |
必須 |
なし |
auth.group.mapping |
認可サーバと連携するかどうかを設定します。
|
省略可 |
false |
auth.kerberos.default_realm |
デフォルトのレルム名。 |
必須 |
なし |
auth.kerberos.dns_lookup_kdc |
DNSサーバのSRVレコードに登録してある情報を使用してKerberosサーバを検索するかどうかを設定します。 false(ホスト名やポート番号で検索)を指定してください。 true(DNSサーバのSRVレコードに登録してある情報で検索)は指定できません。 |
省略可 |
false |
auth.kerberos.clockskew |
SVPとKerberosサーバ間の時刻差の許容範囲。0~300の範囲で指定します。 |
省略可※1 |
300 |
auth.kerberos.timeout |
Kerberosサーバとの接続タイムアウトを検出するまでの時間。1~30の範囲で指定します。単位は秒です。 |
省略可※1 |
10 |
auth.kerberos.realm_name |
レルム識別名。レルムごとにKerberosサーバの情報を区別するための任意の名称。重複登録はできません。複数登録する場合は、コンマ(,)で区切ってください。 これより以下の項目では、ここで設定した値を<レルム識別名>と言います。 |
省略可※2 |
なし |
auth.kerberos.<レルム識別名>.realm |
Kerberosサーバに設定してあるレルム名 |
省略可※2 |
なし |
auth.kerberos.<レルム識別名>.kdc |
Kerberosサーバのホスト名またはIPv4アドレス、およびポート番号。 「<ホスト名またはIPアドレス>[:ポート番号]」の形式で指定してください。 |
省略可※2 |
なし |
- 注※1
-
指定可能な値以外を指定した場合は、デフォルト値が設定されます。
- 注※2
-
「auth.kerberos.dns_lookup_kdc」で「true」を指定した場合に省略できます。
属性 |
説明 |
省略可否 |
デフォルト値 |
---|---|---|---|
auth.group.<レルム識別名>.protocol |
LDAPディレクトリサーバ接続のプロトコルです。 ldaps(LDAP over SSL/TLSを用いた認証)を指定してください。 starttls(StartTLSを用いた認証)は指定できません。 |
必須 |
なし |
auth.group.<レルム識別名>.port |
LDAPディレクトリサーバのポート番号です。1~65535の範囲で指定します。 |
省略可※1 |
389 |
auth.group.<レルム識別名>.searchdn |
LDAPディレクトリサーバとの認証に必要な検索ユーザDNを指定します。 DNはRFC4514の規約に従って指定してください。例えば、次の文字がDNに含まれる場合は、1文字ごとに円記号(\)でエスケープする必要があります。 空白文字 # + ; , < = > \ 指定した値はLDAPディレクトリサーバにそのまま渡されるため,BaseDNにエスケープが必要な文字が含まれる場合は,正しくエスケープしてください。 |
必須 |
なし |
auth.group.<レルム識別名>.searchpw |
LDAPディレクトリサーバとの認証に必要な検索ユーザのパスワードを指定します。 |
必須 |
なし |
auth.group.<レルム識別名>. timeout |
LDAPディレクトリサーバと接続するときの接続待ち時間を設定します。0~30の範囲で指定します。 |
省略可※1 |
10 |
auth.group.<レルム識別名>.retry.interval |
LDAPディレクトリサーバとの通信に失敗した場合のリトライ間隔となる秒数を設定します。1~5の範囲で指定します。 |
省略可※1 |
1 |
uth.group.<レルム識別名>.retry.times |
LDAPディレクトリサーバとの通信に失敗した場合のリトライ回数を設定します。0~3の範囲で指定します。 |
省略可※1 |
3 |
auth.group.<外部認可サーバ>>.basedn |
LDAPディレクトリサーバの情報を検索する際に,起点となるエントリーのDN(BaseDN)。このDNより下の階層のユーザーエントリーが認可の対象となります。検索対象のユーザーエントリーをすべて含む階層のDNを指定してください。 DNはRFC4514の規約に従って指定してください。例えば,次の文字がDNに含まれる場合は,1文字ごとに円記号(\)でエスケープする必要があります。 空白文字 # + ; , < = > \ 指定した値はLDAPディレクトリサーバにそのまま渡されるため,BaseDNにエスケープが必要な文字が含まれる場合は,正しくエスケープしてください。 省略した場合は,Active DirectoryのdefaultNamingContext属性に指定されている値がBaseDNと見なされます。 |
省略可※1 |
abbr |
- 注※1
-
指定可能な値以外を指定した場合は、デフォルト値が設定されます。