Servigistics InService の導入 > 高度な設定 > 外部 LDAP システムを使用するための Servigistics InService の設定
  
外部 LDAP システムを使用するための Servigistics InService の設定
Servigistics InService を展開するときには、エンタープライズアイデンティティ管理 (LDAP) システムを使用して、ユーザーを管理できます。この外部のユーザー情報にアクセスするには、Servigistics InService を設定する必要があります。
外部 LDAP システムを使用するための Servigistics InService の設定では、次の手順が必要です。
1. 既存のアダプタのリストへの JNDI アダプタの追加。
2. ディレクトリの管理アクセス制御権限の設定。
外部 LDAP への接続
前提条件
Servigistics InService を外部 LDAP に接続するには、外部 LDAP の URL、基本識別名 (DN) コンテキスト、ログイン ID、およびパスワードが必要です。例:
LDAP URL: ldap://ppuwsv-pscqa06d.ptcnet.ptc.com:1389
Base DN Context: ou=people,cn=EnterpriseLdapForSlm04d,cn=InService,o=PTC
LDAP User Login: cn=Manager
LDAP Password: admin
* 
基本 DN を取得するには、EnterpriseLdap > people に移動します。
外部 LDAP の設定
1. オプション: 接続する LDAP をインストールして設定します。これは、それがすでにインストールされている場合は省略できます。
2. JNDI アダプタを作成して有効にするには、Windchill シェルから次のコマンドを実行します。
<InS_HOME>\InS_SW\SW\Applications\Windchill.ear\bin
Linux:
xconfmanager -s
wt.federation.org.directoryServices='$(wt.federation.org.defaultAdapter),
$(wt.federation.org.enterpriseAdapter),com.ptc.ptcnet.ldap-ext’ -t
/qa/InService103/SW/Applications/Windchill.ear/codebase.war/wt.properties –p
Windows:
xconfmanager -s
wt.federation.org.directoryServices=$(wt.federation.org.defaultAdapter),
$(wt.federation.org.enterpriseAdapter),com.ptc.ptcnet.ldap-ext
-t codebase.war\wt.properties -p
3. ディレクトリの管理アクセス制御権限を設定するには、ログイン資格証明をファイルに追加します。たとえば、アダプタが com.ptc.ldap-ext であれば、ユーザー名は cn=manager、パスワードは admin です。mapcredentials.admin.adapters プロパティが site.xconf ファイルにない場合は、次のコマンドを使用してこのプロパティを追加します。
xconfmanager -s
mapcredentials.admin.adapters=
'com.ptc.Ldap^cn=Manager^encrypted.com.ptc.Ldap.cn=Manager’
-t codebase.war/wt.properties –p
その後、次のコマンドを実行します。
xconfmanager --add
"mapcredentials.admin.adapters=com.ptc.ptcnet.ldap-ext^cn=manager^admin"
-t "codebase.war\wt.properties" -p
4. JNDI アダプタを作成して有効にするには、以下の詳細を指定します。
LDAP URL
基本 DN コンテキスト
例:
xconfmanager -s com.ptc.ptcnet.ldap-ext.providerUrl="ldap://10.192.73.254:389" -t
codebase.war/wt.properties –p
xconfmanager -s com.ptc.ptcnet.ldap-ext .searchBase="
ou\=people,cn\=AdministrativeLdap,cn\=InService,o\=ptcrnd,o\=ptc " -t
codebase.war/wt.properties –p
5. JBOSS ボルトにパスワードを追加します。
a. LDAP サーバーのパスワードをボルトに追加するには、次のコマンドを実行します。
vault.bat --keystore
<InS_HOME>\InS_SW\SW\System\WildFly\standalone\configuration\vault.keystore
--keystore-password wcadmin --alias PTC --iteration=10
--sec-attr <Actual_Password> --vault-block ldap1 --attribute password
--enc-dir <InS_HOME>\InS_SW\SW \System\WildFly\standalone\configuration\
<Actual_Password> は外部 LDAP に渡さなければならない実際のパスワードです。ldapstandalone-full-<database-name>.xml ファイルのキーで、このコマンドによってコピーを作成するときに ldap2 に修正しなければなりません。例:
vault.bat –keystore D:\ptc\InService\InS_SW\SW\System\WildFly\standalone\
configuration\vault.keystore --keystore-password wcadmin
--alias PTC --iteration=10 --sec-attr
W1ndch1ll --vault-block ldap2 --attribute password
--enc-dir D:\ptc\InService\InS_SW\SW\System\WildFly\standalone\configuration\
b. standalone-full-<database-name>.xml ファイルを編集してボルト情報を追加します。このファイルは <InS_インストールディレクトリ>\InS_SW\SW\System\WildFly\standalone\configuration\standalone-full-<database-name>.xml にあります。
6. JBOSS コンフィギュレーションを更新します。
a. <InS_ホーム>\SW\System\WildFly\standalone\configuration に移動します。
b. standalone-full-<database-name>.xml ファイルを編集します。ここで、<database-name> は、インストール中に使用するバックエンドデータベースの名前です。たとえば、インストール中に使用するデータベースが Oracle である場合は、standalone-full-oracle.xml に修正します。
c. このファイルで org.jboss.security.auth.spi.LdapExtLoginModule という文字列をサーチします。
d. Login-Module に新規エントリを追加して外部 LDAP を設定します。黄色でハイライトされている値をサーチベースに従って変更します。
7. JBOSS を再起動します。
* 
このセクションの例では、具体例を示す目的で PTC および Servigistics InService LDAP システムを使用しています。お使いの環境に応じて、コマンドとコードを編集してください。
* 
内部 LDAP の使用を無効にするには、wt.properties でプロパティ com.ptc.sc.allowInternalAccountsCreation を "false" に設定します。
* 
次の手順は、外部 LDAP ディレクトリがすでにインストールされ設定済みであることを前提としています。
LDAP と Active Directory を使用するための設定
Active Directory は、Microsoft によって実装された、LDAP をサポートしているディレクトリサービスデータベースです。
LDAP システムと Active Directory を使用するように Servigistics InService システムを設定するには、以下のステップを実行します。
JNDI アダプタの設定
JNDI アダプタを設定するには、次の手順に従います。
1. Active Directory のセットアップから以下のパラメータを取得します。例を示します。
ホスト: ad.ptcnet.com
ポート: 389
サービスアカウントのユーザー: CN=Mike,CN=Users,DC=ad,DC=ptcnet,DC=com
サービスアカウントのパスワード: W1ndch1ll
サーチベース: CN=Users,DC=ad,DC=ptcnet,DC=com
次の図でハイライトされているように、属性 sAMAccountName が存在するかどうかもチェックします。
2. JNDI アダプタを作成して有効にします。
a. bin フォルダに移動します。
b. Windchill シェルを開き、次のコマンドを実行します。
xconfmanager -s
wt.federation.org.directoryServices="$(wt.federation.org.defaultAdapter),
$(wt.federation.org.enterpriseAdapter) ,com.ptcnet.ptc-training.jndiAdapter.ad"
-t codebase.war/wt.properties –p
このコマンドで、com.ptcnet.ptc-training.jndiAdapter.ad を、使用するサービス名に置き換えます。
c. <WT_HOME\> にある sc.wt.properties.xconf/site.xconf に以下の値を入力します。
プロバイダの URL: ldap://<ホスト>:<ポート>
サーチベースの識別名: Active Directory のセットアップのサーチの識別名。
以下のプロパティを追加します。これらが Active Directory にあるかどうかもチェックします。
<ServiceName>.windchill.config.directoryType - ADS
<ServiceName>.windchill.mapping.cn - cn
<ServiceName>.windchill.mapping.user.objectClass - user
<ServiceName>.windchill.mapping.user.uniqueIdAttribute – sAMAccountName
例:
xconfmanager -s
com.ptcnet.ptc-training.jndiAdapter.ad.providerUrl=
"ldap://10.192.73.254:389" -t codebase.war/wt.properties –p
xconfmanager -s
com.ptcnet.ptc-training.jndiAdapter.ad.searchBase=
"CN=Users,DC=ad,DC=ptcnet,DC=com" -t codebase.war/wt.properties –p
xconfmanager -s
com.ptcnet.ptc-training.jndiAdapter.ad.windchill.config.directoryType=
"ADS" -t codebase.war/wt.properties –p
xconfmanager -s
com.ptcnet.ptc-training.jndiAdapter.ad.windchill.mapping.cn=
"cn" -t codebase.war/wt.properties –p
xconfmanager -s
com.ptcnet.ptc-training.jndiAdapter.ad.windchill.mapping.user.objectClass=
"user" -t codebase.war/wt.properties –p
xconfmanager -s
com.ptcnet.ptc-training.jndiAdapter.
ad.windchill.mapping.user.uniqueIdAttribute=
"sAMAccountName" -t codebase.war/wt.properties –p
3. 以下のようにサービスアカウントの資格証明を設定します。
a. ステップ 2b で指定した場所から Windchill シェルを実行します。
b. mapcredentials.admin.adapters プロパティが site.xconf にない場合は、次のコマンドを実行してこのプロパティを追加します。
xconfmanager -s
mapcredentials.admin.adapters='com.ptc.Ldap^cn=
Manager^encrypted.com.ptc.Ldap.cn=Manager’
-t codebase.war/wt.properties –p
c. 次のコマンドを作成して実行し、mapCredentials を修正します。
xconfmanager --add
"mapcredentials.admin.adapters=
<jndiAdapter name>^<distinguished name of service account user>^<user password> "
-t " codebase.war/wt.properties " -p
例:
xconfmanager --add
"mapcredentials.admin.adapters=
com.ptcnet.ptc-training.jndiAdapter.ad^CN=Mike,
CN=Users,DC=ad,DC=ptcnet,DC=com^W1ndch1ll"
-t " codebase.war/wt.properties " -p
4. JBOSS ボルトにパスワードを追加します。
a. Active Directory サーバーのパスワードをボルトに追加するには、次のコマンドを実行します。
<InS_Home>\InS_SW\SW\System\WildFly\standalone\configuration\vault.keystore
--keystore-password wcadmin --alias PTC --iteration=10
--sec-attr <Actual_Password> --vault-block ldap1 --attribute password
--enc-dir <InS_home>\InS_SW\SW\System\WildFly\standalone\configuration\
<Actual_Password> は外部 LDAP に渡さなければならない実際のパスワードです。ldapstandalone-full-<database-name>.xml ファイルのキーで、このコマンドによってコピーを作成するときに ldap2 に修正しなければなりません。例:
vault.bat –keystore
D:\ptc\InService\InS_SW\SW\System\WildFly\standalone\
configuration\vault.keystore
--keystore-password wcadmin --alias PTC --iteration=10
--sec-attr W1ndch1ll --vault-block ldap2
--attribute password --enc-dir D:\ptc\InService\InS_SW\SW\System\
WildFly\standalone\configuration\
b. standalone-full-<database-name>.xml ファイルを編集してボルト情報を追加します。このファイルは <InS_インストールディレクトリ>\InS_SW\SW\System\WildFly\standalone\configuration\standalone-full-<database-name>.xml にあります。
5. standalone-full-<database-name>.xml ファイルに Login-Module を追加します。
a. standalone-full-<database-name>.xml を編集します。ここで、<database-name> は、インストール中に使用する、ステップ 1 で収集した Active Directory の詳細が含まれているバックエンドデータベースです。ファイルパスは <InService インストールディレクトリ>\InS_SW\SW\System\WildFly\standalone\configuration\standalone-full-<database-name>.xml です。たとえば、インストール中に使用するデータベースが Oracle である場合は、standalone-full-oracle.xml に修正します。
例:
b. ファイルを保存して閉じ、JBOSS サーバーを再起動します。
6. コンフィギュレーションが正常に完了したかどうかをチェックするには、Task Manager にログインします。
JBOSS のキャッシュからのユーザー資格証明のクリア - REST エンドポイントの詳細
ユーザーが Active Directory サーバーにログインすると、そのユーザーは管理者データベースに追加されます。そのデータベースからユーザーを除去するには、次の手順を実行します。
1. Servigistics InService ホームページから「ユーザー」に移動し、ユーザーを削除します。
2. Active Directory サーバーでユーザーアカウントを無効にします。
3. 次の REST All を実行してキャッシュからユーザー資格情報をクリアします。
REST End Point Url:
http://{HOST}:{PORT}/InService/servlet/servicecenter/rest/user/clearCache?userName=xyz
HOST: Host name
PORT: Port number on which inService application is deployed.
Xyz: Name of the user whose cache must be cleared.
Request Type: PUT
ヘッダーの詳細
以下のヘッダーの詳細を設定します。
Authorization: Basic (Servigistics InService の管理者アカウントの資格証明)
Accept: application/vnd.ptc.sc+json;version=2
Content-Type: application/vnd.ptc.sc+json;version=2
認証
REST エンドポイントは、セッションユーザーが設定されている基本認証を必要とします。このセッションユーザーは、OEM 管理者ユーザーか、Servigistics InService の管理者権限を持つユーザーでなければなりません。これらのユーザーのみがこの機能を使用できます。