Active Directory に関する問題のトラブルシューティング
このトピックには、Active Directory に関する問題のトラブルシューティングに役立つ以下のセクションがあります。
変換エラーによるエンティティのインポートの失敗
Active Directory エンティティをインポートする際、XML ファイルで指定されている値がフィールドのデータ型と一致しない場合にだけインポートが失敗します。たとえば、値 test が <port> エレメントに指定されている場合、インポートは失敗します。以下に示す XML スニペットではこの問題が発生しています。
<Row>
<adminPassword><![CDATA[]]></adminPassword>
<adminPrincipal><![CDATA[CN=Administrator,CN=Users,DC=domain,DC=com]]></adminPrincipal>
<domain><![CDATA[dc=domain,dc=com]]></domain>
<port>test</port> <================================ INVALID DATA TYPE VALUE FOR <port>. MUST BE AN INTEGER.
<protocol><![CDATA[LDAP]]></protocol>
<server><![CDATA[10.80.21.164]]></server>
</Row>
Composer での表示を以下のスクリーンショットに示します。
以下のエラーがアプリケーションログに書き込まれます。
ERROR: [message: Conversion Error on Field port : Unable To Convert From com.sun.org.apache.xerces.internal.dom.ElementNSImpl to INTEGER]
ERROR: Entity import failed
この問題を解決するには、XML をよく調べ、指定されている値が適切なデータ型であることを確認してください。
インポート検証失敗後のインポートの実行
必要なフィールドがないかまたはコンフィギュレーションが無効であることが原因で検証に失敗した場合でも、ディレクトリサービスエンティティはインポートできますが、無効のマークが付きます。このエンティティを有効にするには、無効なフィールドを更新する必要があります。
| ディレクトリサービスエンティティが有効になるまで、認証に使用できません。無効としてインポートされたディレクトリサービスエンティティを有効にするプロセスは手動です。ThingWorx Composer で無効なエンティティに移動し、これを有効にし、保存します。 |
無効なコンフィギュレーションの例を以下に示します。無効なパラメータ (protocol) の下にコメントが表示されています。
<Row>
<adminPassword><![CDATA[]]></adminPassword>
<adminPrincipal><![CDATA[CN=Administrator,CN=Users,DC=domain,DC=com]]></adminPrincipal>
<domain><![CDATA[dc=domain,dc=com]]></domain>
<port>test</port>
<protocol><![CDATA[INVALID-PROTOCOL]]></protocol>
<== INVALID CONFIGURATION VALUE FOR <protocol>. MUST BE EITHER LDAP OR LDAPS.
<server><![CDATA[10.80.21.164]]></server>
</Row>
このエンティティは ThingWorx に正常にインポートされることに注意してください。
ただし、そのエンティティ自体の「有効」チェックボックスはオフになっており、そのエンティティは無効になっていることに注意してください。以下に例を示します。
この場合、以下のエラーがアプリケーションログに表示されます。
ERROR: Directory Service Error: The URI Scheme must be LDAP or LDAPS
コンフィギュレーションのエラーメッセージ
次の表に、Active Directory エンティティの無効な設定済みフィールドに基づいて、アプリケーションログに表示される可能性のあるエラーメッセージを示します。その下に、この表にリストされているコンフィギュレーションセクションへのリンクを示す短いテーブルを示します。
コンフィギュレーションのエラーメッセージ
フィールド | コンフィギュレーションセクション | エラーメッセージ |
---|
URI スキーム | 接続の設定 | Directory Service Error: The URI Scheme must be LDAP or LDAPS. |
サーバー FQDN または IP アドレス/ サーバーネットワークポート | 接続の設定 | Directory Service Error: The Server FQDN or IP address cannot be null. Directory Service Error: java.net.MalformedURLException: Not an LDAP URL: <IP>:<Port> Cannot parse url: <IP><Port Directory Service Error: java.net.ConnectException: Connection refused (Connection refused) to 'Server FQDN or IP address' and 'Server Network Port' <IP>:<Port> |
サーバーネットワークポート | 接続の設定 | Directory Service Error: The Server Network port must be in the range of 0 to 65535. |
ドメイン識別名 | 接続の設定 | Directory Service Error: The Domain cannot be null. |
管理プリンシパル名 | 接続の設定 | Directory Service Error: The Administrative Principal Name cannot be null. | 「動的ユーザーのログイン」が有効になっていない/オフになっている場合、管理プリンシパル名が必要です。 |
|
管理パスワード | 接続の設定 | Directory Service Error: The Administrative Password cannot be null. | 「動的ユーザーのログイン」が有効になっていない場合、管理パスワードが必要です。 |
|
ユーザー ID の属性名 | スキーママッピング | Directory Service Error: The attributeUserIdName cannot be null. |
ユーザーベースの識別名 | スキーママッピング | Directory Service Error: The userBaseDN cannot be null. |
グループオブジェクトクラス名 | スキーママッピング | Directory Service Error: The groupObjectClass cannot be null. |
グループメンバーシップ属性名 | スキーママッピング | Directory Service Error: The memberOfAttribute cannot be null. |
グループ属性名 | スキーママッピング | Directory Service Error: The groupAttribute cannot be null. |
ユーザーフラグの属性名 | スキーママッピング | Directory Service Error: The userControlAttribute cannot be null. |
ユーザー制御属性の無効なビット | スキーママッピング | Directory Service Error: The userDisableBit cannot be null and must be an integer. |
ユーザー制御属性のロックアウトビット | スキーママッピング | Directory Service Error: The userLockoutBit cannot be null and must be an integer. |
Active Directory グループ名 | グループマッピング | Directory Service Error: The activeDirectoryGroupName cannot be null. |
ThingWorx グループ名 | グループマッピング | Directory Service Error: The thingworxGroupName cannot be null. |
プロビジョニングされたユーザーのデフォルトのホームマッシュアップ | ユーザーデフォルト | Directory Service Error: The userDefaultHomeMashupName cannot be an invalid mashup name. |
プロビジョニングされたユーザーのデフォルトのモバイルマッシュアップ | ユーザーデフォルト | Directory Service Error: The userDefaulMobileMashupName cannot be an invalid mashup name. |
プロビジョニングされたユーザーのデフォルトのタグ | ユーザーデフォルト | Directory Service Error: The userDefaulTags cannot have invalid tags. Directory Service Error: The userDefaulTags cannot have an invalid tag name. |
ThingWorx ユーザー名 | ユーザープロビジョニング除外リスト | Directory Service Error: The thingworxUserName cannot be null. |
次の表に、上の表のコンフィギュレーションセクションに関連するトピックへのリンクを示します。
コンフィギュレーションセクション | 項目 |
---|
接続の設定 | |
スキーママッピング | |
グループマッピング | |
ユーザーデフォルト | |
ユーザープロビジョニング除外リスト | |
トラブルシューティング: Active Directory ドメインプレフィックスと動的ユーザーのログイン
Active Directory ディレクトリサービスにはコンフィギュレーション設定 Provisioned User's Default Domain Prefix があり、これは動的ユーザーのログインに影響を与える可能性があります。「ユーザーデフォルト」のセットを以下に示します。
Provisioned User's Default Domain Prefix の設定では、ディレクトリサービスによって認証可能なユーザーを制限するプレフィックスを指定できます。同じ ThingWorx Platform に複数の Active Directory ディレクトリサービスを設定している場合、すべてのディレクトリサービスが同じユーザーの認証を試みないようにするため、このオプションを使用してください。
ただし、このプレフィックスは Active Directory に渡されるユーザー名からは削除されます。指定したプレフィックスがユーザーの Active Directory ドメインである場合、そのユーザーは Active Directory にログインできません。
例:
1. Provisioned User's Default Domain Prefix として DOMAIN\ が指定されています。
2. ユーザー DOMAIN\user1 が ThingWorx Platform へのログインを試みます。
3. Active Directory に渡されるユーザー名から DOMAIN\ が削除され、user1 はログインできません
現在のところ、「動的ユーザーのログイン」が無効になっている Active Directory ディレクトリサービスには、この問題の影響はありません。
この問題を回避するには、以下の事例に従います。
• デフォルトのドメインプレフィックスの使用を避ける (推奨) - 「動的ユーザーのログイン」が有効になっている場合、ユーザーのデフォルトのドメインプレフィックスの設定を使用しません。
• ユーザーが入力しなければならない別のプレフィックスを使用するか、ユーザーにドメインプレフィックスを 2 回入力してもらう - DOMAIN\SamAccountName を介したログインに必要な、DOMAIN\ プレフィックス以外の追加のプレフィックスを指定できます。たとえば、プレフィックスを PREFIX- にした場合、ユーザーは PREFIX-DOMAIN\prefix でログインします。
トラブルシューティング: UserExtension プロパティの無効な名前
Active Directory 属性を ThingWorx UserExtension プロパティにマッピングする際には、UserExtension プロパティの名前をドロップダウンメニューから選択します。ThingWorx アプリケーションログに次のエラーメッセージが表示されることがあります。
Property name: <property_name> not found
in UserExtensions properties
このエラーは、次の条件によって発生します。
• Active Directory ディレクトリサービス用にインポートされた XML ファイルに、userExtensionPropertyName AND の無効な名前が含まれている。
• ユーザーが、無効な userExtensionPropertyName が設定されている Active Directory ディレクトリサービスによってログインおよび認証されている。
XML ファイルを手動で編集した場合にこのエラーが発生する可能性があります。無効なエントリを、ThingWorx Composer のディレクトリサービスエンティティ上にある「コンフィギュレーション」ページのユーザー拡張機能プロパティマッピングのテーブルから除去できます。