CData Sync App は、LDAP データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。
LDAP コネクタはCData Sync アプリケーションから使用可能で、LDAP からデータを取得して、サポートされている任意の同期先に移動できます。
Sync App はLDAP 2 & 3 オブジェクト を双方向のテーブルとしてモデル化します。Sync App は、RFC 1777、2251、およびその他のLDAP RFC で指定された標準LDAP クライアントです。
必須プロパティについては、設定タブを参照してください。
通常必須ではない接続プロパティについては、高度な設定タブを参照してください。
CData driver for LDAP は、LDAP サーバーオブジェクトへの接続をサポートします。接続するには必要なプロパティを設定します。
Optional properties can be used to further refine control of the returned results.
リクエストを認証するには、User およびPassword プロパティを有効なLDAP クレデンシャルに設定します。例えば、User をDomain\\BobF またはcn=Bob F,ou=Employees,dc=Domain に設定します。
The AuthMechanism properties for the Sync App are as follows:
By default, the driver uses plaintext when communicating with the server set to port=389. The driver automatically switches to use SSL when talking to the LDAP on port=636. You can force the connection to use the SSL connection property when set to SSL=TRUE.
Sync App は、LDAP エンティティから最も頻繁に必要とされるカラムを表示します。ただし、その他のデータを使用する必要がある場合は、テーブルを簡単に変更できます。テーブルは、シンプルな形式のスキーマファイルで定義されます。
デフォルトのスキーマを拡張する方法や独自のスキーマを記述する方法については、LDAP テーブルとの連携 を参照してください。カスタムスキーマを使用するには、Location プロパティをスキーマファイルを有するフォルダに設定します。テーブルおよびビューについて詳しくは、サンプルデータモデル を参照してください。
LDAP オブジェクトクラスへのテーブルスキーマのマッピングを定義する。
このセクションでは、Person.rsd ファイルを使ってCData Sync App において希望するオブジェクトクラスの新テーブルを作成する方法を説明します。Person.rsd は、Sync App のインストールフォルダのdb サブフォルダに格納されています。
カスタムスキーマを使用するには、Location プロパティをスキーマファイルを有するフォルダに設定します。スキーマを.rsd ファイルで定義する。
新しいテーブルを、そのテーブルが表すオブジェクトクラスと同じ名前に定義することは大切です。これにより、Sync App はLDAP サーバーをクエリする際に、ターゲットのオブジェクトクラスのみを検索します。
rsb:info エレメントでテーブル名を定義する。次の例では、Person.rsd のテーブル名およびカラムの定義について説明します:
<rsb:script xmlns:rsb="http://www.rssbus.com/ns/rsbscript/2">
<rsb:info title="Person" description="Create, update, delete, and query person entries in LDAP.">
<!-- Required Columns -->
<attr name="Id" xs:type="string" readonly="true" key="true" desc="The index of the row, when 'splitDataByRow' is set for a column, combined with the full distinguished name." />
...
まず、オブジェクトクラスに関係なく、すべてのテーブルに含まれるカラムがあります:
<!-- Required Columns -->
<attr name="Id" xs:type="string" readonly="true" key="true" desc="The index of the row, when 'splitDataByRow' is set for a column, combined with the full distinguished name." />
<attr name="DN" xs:type="string" readonly="true" required="false" other:ldaptype="OID" desc="The full distinguished name." />
<attr name="RDN" xs:type="string" readonly="true" required="false" other:ldaptype="Directory String" desc="The relative distinguished name."/>
<attr name="BaseDN" xs:type="string" readonly="true" required="false" other:ldaptype="OID" desc="The base distinguished name." />
必須カラムに加えて、希望するオブジェクトクラスからのアトリビュートが指定される必要があります。追加で、データがテーブルからどのように返されるかを規定するdataFormat を指定する必要があります。次に例を示します。
<!-- Person Required Attributes -->
<attr name="ObjectClass" other:dataFormat="splitDataByRow" xs:type="string" readonly="false" required="false" other:ldaptype="OID" desc="The object class of the entry."/>
<attr name="SN" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="Directory String" desc="The required attribute SN for the user object class."/>
<attr name="CN" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="Directory String" desc="The required attribute CN for the user object class."/>
<!-- Person Optional Attributes -->
<attr name="UserPassword" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="Binary" desc="The optional attribute UserPassword for the user object class."/>
<attr name="TelephoneNumber" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="Directory String" desc="The optional attribute TelephoneNumber for the user object class."/>
<attr name="SeeAlso" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="DN" desc="The optional attribute SeeAlso for the user object class."/>
<attr name="Description_1" other:dataFormat="splitDataByCol" xs:type="string" readonly="false" required="false" other:ldaptype="Directory String" desc="The optional attribute Description for the user object class."/>
<attr name="Description_2" other:dataFormat="splitDataByCol" xs:type="string" readonly="false" required="false" other:ldaptype="Directory String" desc="The optional attribute Description for the user object class."/>
<attr name="Description_3" other:dataFormat="splitDataByCol" xs:type="string" readonly="false" required="false" other:ldaptype="Directory String" desc="The optional attribute Description for the user object class."/>
The other: dataFormat には3つのオプションがあります:
| delimitedData | Table Setting にて定義された"区切り" により区切られた文字列として、複数のアトリビュートを返します。(デフォルトはセミコロンです。) |
| splitDataByRow | 同じDN に対する複数のアトリビュート値は、別々の行として扱われます。他のすべてのカラムはそのままプッシュされ、Id のインデックスは増分されます。(このように複数のカラムをプッシュすることは、結果セットを大きくしてパフォーマンスの問題を引き起こす可能性があります。) |
| splitDataByCol | 同じDN に対する複数のアトリビュート値は、カラム名の付属インデックスとともにプッシュされます。複数のカラムを定義して終わりに"_n" を付ける必要があります。例えば、ObjectClass_1、ObjectClass_2、ObjectClass_3 のようにします。このサンプルでは、3つを超える値がある場合、カラムが追加されない限り、テーブルでは残りの値は表示されません。 |
例えば、次のコードはObjectClass アトリビュートの異なる値をそれぞれの行に分割して、Description をそれぞれのカラムにします。カラム定義には、Description アトリビュートの複数のカラムが含まれることに注意してください。<attr> に対する、other dataFormat アトリビュートにも注意してください。
...
<attr name="ObjectClass" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="OID" desc="The object class of the entry."/>
<attr name="SN" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="Directory String" desc="The surname of the person."/>
<attr name="CN" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="Directory String" desc="The common name of the person."/>
<attr name="UserPassword" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="Binary" desc="The user password of the person."/>
<attr name="TelephoneNumber" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="Directory String" desc="The telephone number of the person."/>
<attr name="SeeAlso" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="DN" desc="The see-also distinguished name of the person."/>
<attr name="Description_1" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="Directory String" desc="The description of the person."/>
<attr name="Description_2" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="Directory String" desc="The description of the person."/>
<attr name="Description_3" other:dataFormat="delimitedData" xs:type="string" readonly="false" required="false" other:ldaptype="Directory String" desc="The description of the person."/>
</rsb:info>
<!-- Table Settings -->
<rsb:set attr="delimiter" value=";"/>
...
サンプルの結果はこのようになります:
| Id | DN | ObjectClass | SN | CN | UserPassword | TelephoneNumber | SeeAlso | Description_1 | Description_2 | Description_3 |
| 1|CN=User1,DC=Test | CN=User1,DC=Test | Top | TestSN | User1 | 555-5555 | A;B;C | Desc1 | Desc2 | Desc3 | |
| 2|CN=User1,DC=Test | CN=User1,DC=Test | User | TestSN | User1 | 555-5555 | A;B;C | Desc1 | Desc2 | Desc3 |
インプットのデータ形式に加え、エンコードも指定が可能です。現在、UTF8 エンコード、もしくはBASE64 エンコードでのデータの戻りがサポートされています。特定のエンコードでデータを取得したい場合には、'other:encoding' フィールドを、使いたいエンコードのアトリビュートに指定する必要があります。エンコードの指定がない場合、UTF8 がデフォルトです。
アトリビュートのエンコード指定の例:
...
<attr name="ObjectClass" other:dataFormat="delimitedData" other:encoding="UTF8" xs:type="string" readonly="false" required="false" other:ldaptype="OID" desc="The object class of the entry."/>
<attr name="SN" other:dataFormat="delimitedData" other:encoding="BASE64" xs:type="string" readonly="false" required="false" other:ldaptype="Directory String" desc="The surname of the person."/>
...
区切り記号(Delimiter)は、区切りデータで使われる文字です。区切りデータは、一つのオブジェクトに複数回出現するアトリビュートすべてにおいて返されます(他のdataFormat に指定されている場合を除いて)。
例えば、下のコードは';' 記号を使って、アトリビュートの複数の値をコンカテネイトします。
...
</rsb:info>
<!-- Table Settings -->
<rsb:set attr="delimiter" value=";"/>
...
<!-- Operation definitions -->
<rsb:script method="GET">
<rsb:set attr="action" value="Get" />
<rsb:call op="ldapadoLDAP" >
<rsb:push />
</rsb:call>
</rsb:script>
<rsb:script method="POST">
<rsb:set attr="action" value="Post" />
<rsb:call op="ldapadoLDAP" >
<rsb:push item="toout"/>
</rsb:call>
</rsb:script>
<rsb:script method="MERGE">
<rsb:set attr="action" value="Merge" />
<rsb:call op="ldapadoLDAP" >
<rsb:push />
</rsb:call>
</rsb:script>
<rsb:script method="DELETE">
<rsb:set attr="action" value="Delete" />
<rsb:call op="ldapadoLDAP" >
<rsb:push />
</rsb:call>
</rsb:script>
このセクションでは、LDAP Sync App の高度な機能を厳選して説明します。
Sync App はユーザー定義ビューの使用をサポートします。これは事前設定されたユーザー定義クエリによって内容が決定される仮想テーブルです。 このビューは、ドライバーに発行されるクエリを直接制御できない場合に有効です。 カスタムビューの作成と設定の概要については、ユーザー定義ビュー を参照してください。
SSL の設定 を使用して、Sync App が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。詳しくは、「接続文字列オプション」にあるSSLServerCert プロパティを参照してください。
Windows プロキシを含むファイアウォールとプロキシ に合致するようSync App を設定します。トンネル接続を設定することもできます。
詳しくは、クエリ処理 を参照してください。
To enable TLS, set the following:
With this configuration, the Sync App attempts to negotiate TLS with the server. The server certificate is validated against the default system trusted certificate store. You can override how the certificate gets validated using the SSLServerCert connection property.
別の証明書を指定するには、SSLServerCert 接続プロパティを参照してください。
次のプロパティを設定します。
CData Sync App はLDAP データを使いやすいSQL データベースとしてモデル化します。また、Sync App の機能性を拡張するストアドプロシージャ も含まれます。
付属のテーブル は多くの標準オブジェクトクラスをカバーしており、LDAP ディレクトリエントリの構造とルールを定義しています。簡単な設定ファイルを変更するだけで、テーブルスキーマを簡単に拡張してLDAP クラスにさらに密接にマッピングできます。テーブルスキーマをカスタマイズする方法については、LDAP テーブルとの連携 を参照してください。
Note:カスタムテーブルおよびカスタムスキーマを使用するには、Location プロパティをスキーマファイルを有するフォルダに設定します。
以下のテーブルはSync App に同梱されています。
| テーブル | 説明 |
| Group | 組織リソースへのアクセスとセキュリティのロールを管理するためのユーザーの識別名(DN)の一覧を保存します。 |
| OrganizationalPerson | 社員番号、部署、マネージャー、役職、勤務先住所など、ユーザーに関する組織の詳細情報を含んでいます。このクラスは、ディレクトリ情報システムで一般的に使用されています。 |
| Person | ユーザーに関する個人情報を保存します。氏名や連絡先などの一般的な詳細情報を含みます。 |
| Top | 他のすべてのLDAP クラスが派生するルートクラス。他のディレクトリクラスに基本的な属性を提供します。 |
| User | 組織内の従業員、契約社員、または長期訪問者に関する情報を保存します。氏名、連絡先、職務関連情報などの属性を含みます。 |
Sync App はLDAP のデータを、標準のSQL ステートメントを使用してクエリできるリレーショナルデータベースのテーブルのリストとしてモデル化します。
| Name | Description |
| Group | Stores a list of user Distinguished Names (DNs) for managing access and security roles on organizational resources. |
| OrganizationalPerson | Contains organizational details about a user, such as employee number, department, manager, job title, office address, and more. This class is commonly used for directory information systems. |
| Person | Stores personal information about a user, including general details such as name and contact information. |
| Top | The root class from which all other LDAP classes are derived. It provides foundational attributes for other directory classes. |
| User | Stores information about employees, contractors, or long-term visitors in an organization. Includes attributes such as name, contact details, and job-related information. |
Stores a list of user Distinguished Names (DNs) for managing access and security roles on organizational resources.
すべてのカラムは、演算子=、>=、<=、!=、LIKE、AND、およびOR のサーバー側の処理をサポートします。その他のフィルタはSync App 内でクライアント側で実行されます。例えば、次のクエリはLDAP によって処理されます。
SELECT * FROM Group WHERE GroupType != '-2147483644' AND ObjectClass = 'top;group' LIMIT 5
Group を追加するには、Id、DN、およびBaseDN 以外のすべてのフィールドを指定できます。必須のフィールドはRDN とObjectClass です。次に例を示します。
INSERT INTO Group (RDN, ObjectClass) VALUES ('CN=Domain Admins', 'group')
Id、DN、およびBaseDN 以外のすべてのカラムは、WHERE 句にId を指定することで更新できます。次に例を示します。
UPDATE Group SET Member = 'CN=SUPPORT_388945a0,CN=Users,DC=MyDC' WHERE Id = '1|CN=HelpServicesGroup,CN=Users,DC=MyDC'
DELETE ステートメントにGroup のId を指定することで、グループを削除できます。次に例を示します。
DELETE FROM Group WHERE Id = '1|CN=HelpServicesGroup,CN=Users,DC=MyDC'
| Name | Type | ReadOnly | References | DataFormat | Description |
| Id [KEY] | String | True |
A combined index and Distinguished Name (DN) uniquely identifying the group. Multiple indices are supported if the column is set to 'SplitDataByRow'. | ||
| DN | String | True |
The full Distinguished Name (DN) that uniquely identifies the group in the LDAP directory. | ||
| RDN | String | False |
The Relative Distinguished Name (RDN), representing the unique portion of the DN within its parent container. | ||
| BaseDN | String | True |
The base Distinguished Name (BaseDN) indicating the starting point for LDAP operations related to the group. | ||
| GroupType | String | False | DelimitedData |
A set of flags that define the type and scope of the group object, such as whether it is a security or distribution group. Refer to LDAP documentation for possible values. | |
| ObjectClass | String | False | SplitDataByRow |
A list of LDAP object classes from which the group is derived, defining its attributes and behavior. | |
| Member | String | False | DelimitedData |
A list of Distinguished Names (DNs) representing users or other groups that are members of this group. | |
| NTGroupMembers | String | False | DelimitedData |
An unused attribute related to legacy Windows NT group membership functionality. | |
| OperatorCount | String | False | DelimitedData |
Tracks the number of operators assigned to this group for administrative purposes. | |
| AdminCount | String | False | DelimitedData |
Indicates whether the object's Access Control Lists (ACLs) have been adjusted for higher security due to membership in an administrative group. | |
| GroupAttributes | String | False | DelimitedData |
An unused attribute associated with additional group-specific attributes. | |
| GroupMembershipSAM | String | False | DelimitedData |
Provides support for down-level Windows NT group membership functionality. | |
| ControlAccessRights | String | False | DelimitedData |
Specifies the access control rights for determining which users can perform specific operations on the group. | |
| DesktopProfile | String | False | DelimitedData |
Specifies the location of the desktop profile for a user or group of users. This attribute is no longer in use. | |
| NonSecurityMember | String | False | DelimitedData |
Specifies non-security members of the group, often used for Exchange distribution lists. | |
| ManagedBy | String | False | DelimitedData |
The Distinguished Name (DN) of the user assigned as the manager of this group object. | |
| PrimaryGroupToken | String | False | DelimitedData |
A computed attribute used to retrieve the membership list of certain groups, such as Domain Users. Membership lists are not explicitly stored for scalability. | |
| String | False | DelimitedData |
A list of email addresses associated with the group or its members. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description |
| Filter | String |
Defines an explicit LDAP filter that overrides other filter values set in the WHERE clause of the query. |
Contains organizational details about a user, such as employee number, department, manager, job title, office address, and more. This class is commonly used for directory information systems.
All columns support server-side processing for the operators =, >= , <=, !=, LIKE, AND, and OR. Other filters are executed client side within the Sync App. For example, the following query is processed by LDAP:
SELECT * FROM OrganizationalPerson WHERE CN != 'NewUser' AND BaseDN = 'CN=Users,DC=MyDC' LIMIT 5
To add a OrganizationalPerson, all fields can be specified except Id, DN, and BaseDN. Required fields that should be provided are RDN and ObjectClass. For example:
INSERT INTO OrganizationalPerson (RDN, ObjectClass) VALUES ('CN=NewUser', 'top;person;organizationalPerson;user;inetOrgPerson')
All columns except Id, DN, and BaseDN can be updated by providing the Id in the WHERE clause. For example:
UPDATE OrganizationalPerson SET Description = 'desc' WHERE Id = '1|CN=NewUser,CN=Users,DC=MyDC'
OrganizationalPersons can be deleted by providing the Id of the OrganizationalPerson in a DELETE statement. For example:
DELETE FROM OrganizationalPerson WHERE Id = '1|CN=NewUser,CN=Users,DC=MyDC'
| Name | Type | ReadOnly | References | DataFormat | Description |
| Id [KEY] | String | True |
A combined index and Distinguished Name (DN). Multiple indices are allowed if the column is set to 'SplitDataByRow'. | ||
| DN | String | True |
The full Distinguished Name (DN) representing the unique LDAP path of the object. | ||
| RDN | String | False |
The Relative Distinguished Name (RDN), which is the unique portion of the DN within its parent container. | ||
| BaseDN | String | True |
The base Distinguished Name (BaseDN) that specifies the starting point for LDAP operations. | ||
| ObjectClass | String | False | DelimitedData |
The hierarchical list of LDAP object classes from which this object is derived. | |
| SN | String | False | DelimitedData |
Contains the user's surname or family name, such as 'Smith'. | |
| CN | String | False | DelimitedData |
Represents the common name of the object, used in LDAP searches. For example, 'John Doe'. | |
| UserPassword | String | False | DelimitedData |
Stores the user's password in UTF-8 format. This is a write-only attribute and cannot be retrieved for security reasons. | |
| TelephoneNumber | String | False | DelimitedData |
The primary telephone number associated with the user or object. | |
| SeeAlso | String | False | DelimitedData |
A list of Distinguished Names (DNs) that are related or linked to this object. | |
| Description | String | False | DelimitedData |
Contains a textual description of the object. It is typically single-valued but may be multi-valued depending on LDAP schema settings. | |
| Title | String | False | DelimitedData |
The user's formal job title, such as 'Senior Programmer', rather than occupational class, such as programmer. It does not include suffix titles like 'Esq.' or 'DDS'. | |
| X121Address | String | False | DelimitedData |
Specifies the X.121 address associated with the object, often used in telecommunications. | |
| RegisteredAddress | String | False | DelimitedData |
A mnemonic address associated with the object, registered in the relevant country or region for Public Telegram Service. | |
| DestinationIndicator | String | False | DelimitedData |
Part of the X.500 specification but not used in NTDS. | |
| PreferredDeliveryMethod | String | False | DelimitedData |
Defines the preferred method of delivery for communication with this object, as specified by the X.500 standard. | |
| TelexNumber | String | False | DelimitedData |
A list of alternate telex numbers associated with the object. | |
| TeletexTerminalIdentifier | String | False | DelimitedData |
Specifies the Teletex terminal identifier and optional parameters for a teletex terminal linked to the object. | |
| InternationalISDNNumber | String | False | DelimitedData |
Specifies an International ISDN (Integrated Services Digital Network) number associated with the object. | |
| FacsimileTelephoneNumber | String | False | DelimitedData |
Contains the fax machine telephone number associated with the user or organization. | |
| Street | String | False | DelimitedData |
Specifies the street address for the user or object. | |
| PostOfficeBox | String | False | DelimitedData |
Specifies the post office box number associated with the object. | |
| PostalCode | String | False | DelimitedData |
The postal or ZIP code used for mail delivery to the object. | |
| PostalAddress | String | False | DelimitedData |
The complete mailing address associated with the object. | |
| PhysicalDeliveryOfficeName | String | False | DelimitedData |
Specifies the office location within the user's place of business. | |
| OU | String | False | DelimitedData |
The name of the Organizational Unit (OU) to which the object belongs. | |
| ST | String | False | DelimitedData |
The name of the state or province associated with the user or object. | |
| L | String | False | DelimitedData |
Represents the name of a locality, such as a town or city, associated with the object. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description |
| Filter | String |
Defines an explicit LDAP filter, overriding other filters defined in the WHERE clause of the query. |
Stores personal information about a user, including general details such as name and contact information.
All columns support server-side processing for the operators =, >= , <=, !=, LIKE, AND, and OR. Other filters are executed client side within the Sync App. For example, the following query is processed by LDAP:
SELECT * FROM Person WHERE ObjectClass = 'top' AND CN LIKE '%NewUser%' LIMIT 5
To add a Person, all fields can be specified except Id, DN, and BaseDN. Required fields that should be provided are RDN and ObjectClass. For example:
INSERT INTO Person (RDN, ObjectClass) VALUES ('CN=Domain Admins', 'Person')
All columns except Id, DN, and BaseDN can be updated by providing the Id in the WHERE clause. For example:
UPDATE Person SET Description = 'desc' WHERE Id = '1|CN=NewUser,CN=Users,DC=MyDC'
Person rows can be deleted by providing the Id of the Person in a DELETE statement. For example:
DELETE FROM Person WHERE Id = '1|CN=NewUser,CN=Users,DC=MyDC'
| Name | Type | ReadOnly | References | DataFormat | Description |
| Id [KEY] | String | True |
A combined index and Distinguished Name (DN). Multiple indices are supported if the column is set to 'SplitDataByRow'. | ||
| DN | String | True |
The full Distinguished Name (DN) representing the unique LDAP path of the object. | ||
| RDN | String | False |
The Relative Distinguished Name (RDN), which is the unique part of the DN within its parent container. | ||
| BaseDN | String | True |
The base Distinguished Name (BaseDN) that specifies the starting point for LDAP operations. | ||
| ObjectClass_1 | String | False | SplitDataByCol |
The primary object class from which this entry is derived, defining its core attributes and behavior. | |
| ObjectClass_2 | String | False | SplitDataByCol |
An additional object class from which this entry inherits attributes, defining extended behavior or properties. | |
| ObjectClass_3 | String | False | SplitDataByCol |
An optional object class specifying further attributes or extended functionality for the entry. | |
| ObjectClass_4 | String | False | SplitDataByCol |
An optional object class specifying additional attributes or properties for the entry. | |
| SN | String | False | DelimitedData |
Contains the user's surname or family name, such as 'Smith'. | |
| CN | String | False | DelimitedData |
Represents the common name of the object, often used in LDAP searches. For example, 'John Doe'. | |
| UserPassword | String | False | DelimitedData |
Stores the user's password in UTF-8 format. This is a write-only attribute and cannot be retrieved for security purposes. | |
| TelephoneNumber | String | False | DelimitedData |
The primary telephone number associated with the user or object. | |
| SeeAlso | String | False | SplitDataByRow |
A list of Distinguished Names (DNs) related to this object, establishing references to other LDAP entries. | |
| Description | String | False | DelimitedData |
Contains a textual description of the object. Typically single-valued but can be multi-valued depending on the LDAP schema. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description |
| Filter | String |
Defines an explicit LDAP filter, overriding other filters defined in the WHERE clause of the query. |
The root class from which all other LDAP classes are derived. It provides foundational attributes for other directory classes.
All columns support server-side processing for the following operators =, >= , <=, !=, LIKE, AND, and OR. Other filters are executed client side within the Sync App. For example, the following query is processed by LDAP:
SELECT * FROM Top WHERE CN != 'NewUser' AND BaseDN = 'CN=Users,DC=MyDC' LIMIT 5
To add a Top record, all fields can be specified except Id, DN, and BaseDN. Required fields that should be provided are RDN and ObjectClass. For example:
INSERT INTO Top (RDN, ObjectClass) VALUES ('CN=NewUser', 'top;person;organizationalPerson;user;inetOrgPerson')
All columns except Id, DN, and BaseDN can be updated by providing the Id in the WHERE clause. For example:
UPDATE Top SET Description = 'test' WHERE Id = '1|CN=NewUser,CN=Users,DC=MyDC'
Top records can be deleted by providing the Id of the Top record in a DELETE statement. For example:
DELETE FROM Top WHERE Id = '1|CN=NewUser,CN=Users,DC=MyDC'
| Name | Type | ReadOnly | References | DataFormat | Description |
| Id [KEY] | String | True |
A combined index and Distinguished Name (DN). Multiple indices are supported if the column is set to 'SplitDataByRow'. | ||
| DN | String | True |
The full Distinguished Name (DN) that represents the unique LDAP path of the object. | ||
| RDN | String | False |
The Relative Distinguished Name (RDN), which is the unique part of the DN within its parent container. | ||
| BaseDN | String | True |
The base Distinguished Name (BaseDN) that specifies the starting point for LDAP operations. | ||
| ObjectClass | String | False | DelimitedData |
The hierarchical list of LDAP object classes from which this object is derived, defining its attributes and behavior. | |
| SN | String | False | DelimitedData |
Contains the user's surname or family name, such as 'Smith'. | |
| CN | String | False | DelimitedData |
Represents the common name of the object, often used for LDAP searches. For example, 'John Doe'. | |
| GroupType | String | False | DelimitedData |
Defines a set of flags indicating the type and scope of the group object. For example, it identifies whether it is a security or distribution group. | |
| MemberOf | String | False | DelimitedData |
Specifies the Distinguished Names (DNs) of the groups to which this object belongs. This establishes group membership relationships. | |
| DC | String | False | DelimitedData |
Specifies the Domain Component (DC) attribute for the Domain object class, used to identify the domain. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description |
| Filter | String |
Defines an explicit LDAP filter that overrides any other filter values set in the WHERE clause of the query. |
Stores information about employees, contractors, or long-term visitors in an organization. Includes attributes such as name, contact details, and job-related information.
All columns support server-side processing for the operators =, >= , <=, !=, LIKE, AND, and OR. Other filters are executed client side within the Sync App. For example, the following query is processed by LDAP:
SELECT * FROM User WHERE Title LIKE '%abc%' AND AdminCount != '1' LIMIT 5
To add a User, all fields can be specified except Id, DN, and BaseDN. Required fields that should be provided are RDN and ObjectClass. For example:
INSERT INTO [User] (RDN, ObjectClass) VALUES ('CN=TestUser', 'Top; Person; OrganizationalPerson; User')
All columns except Id, DN, and BaseDN can be updated by providing the Id in the WHERE clause. For example:
UPDATE User SET PostalCode = '94042' WHERE Id = '1|CN=NewUser,CN=Users,DC=MyDC'
Users can be deleted by providing the Id of the User in a DELETE statement. For example:
DELETE FROM User WHERE Id = '1|CN=NewUser,CN=Users,DC=MyDC'
| Name | Type | ReadOnly | References | DataFormat | Description |
| Id [KEY] | String | True |
A combined index and Distinguished Name (DN). Multiple indices are supported when the column is set to 'SplitDataByRow'. | ||
| DN | String | True |
The full Distinguished Name (DN) that uniquely identifies the object in the LDAP directory. | ||
| RDN | String | False |
The Relative Distinguished Name (RDN), which is the unique portion of the DN within its parent container. | ||
| BaseDN | String | True |
The base Distinguished Name (BaseDN) that specifies the starting point for LDAP operations. | ||
| ObjectClass | String | False | DelimitedData |
A list of LDAP object classes that define the attributes and behavior of this object. | |
| SN | String | False | DelimitedData |
The surname or family name of the user, such as 'Smith'. | |
| CN | String | False | DelimitedData |
The common name of the object, used for identification and searches. For example, 'John Doe'. | |
| UserPassword | String | False | DelimitedData |
The user's password stored in UTF-8 format. This is a write-only attribute for security purposes. | |
| TelephoneNumber | String | False | DelimitedData |
The primary telephone number associated with the user or object. | |
| SeeAlso | String | False | DelimitedData |
A list of Distinguished Names (DNs) of objects that are related or linked to this one. | |
| Description | String | False | DelimitedData |
A textual description of the object. This attribute can be single-valued or multi-valued depending on compatibility requirements. | |
| Title | String | False | DelimitedData |
The user's formal job title, such as 'Senior Programmer', rather than occupational class, such as programmer. This does not include suffix titles like 'Esq.' or 'DDS'. | |
| X121Address | String | False | DelimitedData |
The X.121 address associated with the object, often used in telecommunications. | |
| RegisteredAddress | String | False | DelimitedData |
A mnemonic address associated with a specific city, registered in the relevant country or region. | |
| DestinationIndicator | String | False | DelimitedData |
An X.500 attribute that is not used in modern NTDS implementations. | |
| PreferredDeliveryMethod | String | False | DelimitedData |
The X.500-preferred method for delivering messages to the addressee. | |
| TelexNumber | String | False | DelimitedData |
A list of alternate telex numbers associated with the user or object. | |
| TeletexTerminalIdentifier | String | False | DelimitedData |
Specifies the Teletex terminal identifier and optional parameters for a teletex terminal linked to this object. | |
| InternationalISDNNumber | String | False | DelimitedData |
The International ISDN (Integrated Services Digital Network) number associated with the object. | |
| FacsimileTelephoneNumber | String | False | DelimitedData |
The telephone number of the user's business fax machine. | |
| Street | String | False | DelimitedData |
The street address of the user or object. | |
| PostOfficeBox | String | False | DelimitedData |
The post office box number associated with the user or object. | |
| PostalCode | String | False | DelimitedData |
The postal or ZIP code used for mail delivery to the user or object. | |
| PostalAddress | String | False | DelimitedData |
The complete mailing address of the user or object. | |
| PhysicalDeliveryOfficeName | String | False | DelimitedData |
The name or location of the user's office within their place of business. | |
| OU | String | False | DelimitedData |
The name of the Organizational Unit (OU) to which the user or object belongs. | |
| ST | String | False | DelimitedData |
The state or province associated with the user or object. | |
| L | String | False | DelimitedData |
The locality, such as a city or town, associated with the user or object. | |
| UserCertificate | String | False | DelimitedData |
A DER-encoded X.509v3 certificate issued to the user, including public key certificates provided by Microsoft Certificate Services. | |
| NetworkAddress | String | False | DelimitedData |
The TCP/IP address for a network segment, also referred to as the subnet address. | |
| UserAccountControl | String | False | DelimitedData |
Flags that define the behavior and access control of the user account. | |
| BadPwdCount | String | False | DelimitedData |
The number of failed login attempts for this account. A value of 0 indicates that the count is unknown. | |
| CodePage | String | False | DelimitedData |
Specifies the code page for the user's preferred language. This attribute is not used in modern Windows implementations. | |
| HomeDirectory | String | False | DelimitedData |
The home directory for the account. If 'homeDrive' specifies a drive letter, 'homeDirectory' must be a UNC path. Otherwise, it is a local path, including the drive letter (e.g., 'C:\Directory\Folder'). | |
| HomeDrive | String | False | DelimitedData |
The drive letter to map to the UNC path specified in 'homeDirectory'. Must be in the format 'DriveLetter:', where 'DriveLetter' is an uppercase letter. | |
| BadPasswordTime | Datetime | False | DelimitedData |
The last date and time a failed login attempt was made using an incorrect password. Stored as a large integer representing the number of 100-nanosecond intervals since January 1, 1601 (UTC). A value of 0 indicates no record of failed attempts. | |
| LastLogoff | String | False | DelimitedData |
This attribute is not currently used in modern implementations. | |
| LastLogon | Datetime | False | DelimitedData |
The last time the user successfully logged on. Stored as a large integer representing the number of 100-nanosecond intervals since January 1, 1601 (UTC). A value of 0 indicates no record of login. | |
| DBCSPwd | String | False | DelimitedData |
The LAN Manager password of the account. Used primarily for backward compatibility. | |
| LocaleID | String | False | DelimitedData |
A list of locale IDs representing the language and geographic preferences for the user. | |
| ScriptPath | String | False | DelimitedData |
The path to the user's login script. Can be null. | |
| LogonHours | String | False | DelimitedData |
Specifies the hours during which the user is allowed to log on to the domain. | |
| LogonWorkstation | String | False | DelimitedData |
Not used in modern implementations. Refer to the User-Workstations attribute instead. | |
| MaxStorage | String | False | DelimitedData |
Defines the maximum disk space the user can use. Use 'USER_MAXSTORAGE_UNLIMITED' to allow unlimited space. | |
| UserWorkstations | String | False | DelimitedData |
Lists the NetBIOS or DNS names of the computers from which the user can log on. Multiple names are separated by commas. | |
| UnicodePwd | String | False | DelimitedData |
The user's password stored in Windows NT one-way format (OWF). This is managed by the operating system, and the original password cannot be derived. | |
| OtherLoginWorkstations | String | False | DelimitedData |
Specifies non-Windows NT or LAN Manager workstations from which the user can log on. | |
| NtPwdHistory | String | False | DelimitedData |
The user's password history stored in Windows NT one-way format (OWF). | |
| PwdLastSet | Datetime | False | DelimitedData |
The date and time when the user's password was last changed. Stored as a large integer representing 100-nanosecond intervals since January 1, 1601 (UTC). A value of 0 indicates that the user must set a password at next login. | |
| PreferredOU | String | False | DelimitedData |
The Organizational Unit (OU) that is displayed by default on the user's desktop. | |
| PrimaryGroupID | String | False | DelimitedData |
The Relative Identifier (RID) for the user's primary group, typically the Domain Users group. | |
| UserParameters | String | False | DelimitedData |
A Unicode string reserved for application-specific user data. Can be null or contain any character string. | |
| ProfilePath | String | False | DelimitedData |
The path to the user's profile. This value can be a null string, a local absolute path, or a UNC path. | |
| OperatorCount | String | False | DelimitedData |
Tracks the number of operators assigned to the user. | |
| AdminCount | String | False | DelimitedData |
Indicates whether the system has adjusted the ACLs of the object for higher security due to membership in an administrative group. | |
| AccountExpires | Datetime | False | DelimitedData |
The date when the account expires. Stored as a large integer representing 100-nanosecond intervals since January 1, 1601 (UTC). A value of 0 or 0x7FFFFFFFFFFFFFFF indicates the account does not expire. | |
| LmPwdHistory | String | False | DelimitedData |
The password history of the user in LAN Manager (LM) format. Used for backward compatibility. | |
| GroupMembershipSAM | String | False | DelimitedData |
Provides support for down-level Windows NT group membership functionality. | |
| LogonCount | String | False | DelimitedData |
The number of successful logons for the account. A value of 0 indicates no record of successful logons. | |
| ControlAccessRights | String | False | DelimitedData |
Defines the specific rights required for users to perform operations on this object. | |
| DefaultClassStore | String | False | DelimitedData |
Specifies the default Class Store associated with the user. | |
| GroupsToIgnore | String | False | DelimitedData |
An attribute that is not currently used and has no functional effect. | |
| GroupPriority | String | False | DelimitedData |
An unused attribute associated with group priority. | |
| DesktopProfile | String | False | DelimitedData |
Specifies the desktop profile location for a user or group of users. This attribute is not currently used. | |
| DynamicLDAPServer | String | False | DelimitedData |
The DNS name of the server responsible for dynamic properties of this account. | |
| UserPrincipalName | String | False | DelimitedData |
An Internet-style login name for the user, based on RFC 822 standards. Typically maps to the user's email address for convenience. For more information about this attribute, see User Naming Attributes. | |
| LockoutTime | Datetime | False | DelimitedData |
The date and time (UTC) when the account was locked out. Stored as a large integer representing 100-nanosecond intervals since January 1, 1601 (UTC). A value of 0 indicates the account is not locked out. | |
| UserSharedFolder | String | False | DelimitedData |
Specifies a UNC path to the user's shared documents folder. The path must be a network UNC path of the form \\Server\Share\Directory. This value can be a null string. | |
| UserSharedFolderOther | String | False | DelimitedData |
Specifies an additional UNC path to the user's shared documents folder. The path must be a network UNC path of the form \\Server\Share\Directory. This value can be a null string. | |
| ServicePrincipalName | String | False | DelimitedData |
Lists the Service Principal Names (SPNs) used for mutual authentication with services on this computer. | |
| ACSPolicyName | String | False | DelimitedData |
Specifies the name of the ACS (Access Control System) policy that applies to the user. | |
| TerminalServer | String | False | DelimitedData |
Contains data used by the Windows NT Terminal Server. Not user-editable. | |
| MSMQSignCertificates | String | False | DelimitedData |
A collection of certificates issued to the user for Microsoft Message Queuing (MSMQ). Includes a digest for each certificate. | |
| MSMQDigests | String | False | DelimitedData |
An array of digests corresponding to the certificates in the MSMQSignCertificates attribute, used for certificate mapping. | |
| MSMQDigestsMig | String | False | DelimitedData |
In MSMQ mixed-mode, stores the previous value of the MSMQDigests attribute. | |
| MSMQSignCertificatesMig | String | False | DelimitedData |
In MSMQ mixed-mode, stores the previous value of the MSMQSignCertificates attribute. | |
| MsNPAllowDialin | String | False | DelimitedData |
Indicates whether the account is allowed to dial in to a RAS server. This value should be managed through RAS administration tools. | |
| MsNPCallingStationID | String | False | DelimitedData |
An attribute used internally for RAS. Do not modify directly. | |
| MsNPSavedCallingStationID | String | False | DelimitedData |
Stores the saved RAS calling station ID. This attribute is used internally and should not be modified directly. | |
| MsRADIUSCallbackNumber | String | False | DelimitedData |
The callback number used for RADIUS. This attribute is managed internally. | |
| MsRADIUSFramedIPAddress | String | False | DelimitedData |
Specifies the framed IP address for RADIUS. Managed internally. | |
| MsRADIUSFramedRoute | String | False | DelimitedData |
Defines the framed route for RADIUS. Managed internally. | |
| MsRADIUSServiceType | String | False | DelimitedData |
Indicates the RADIUS service type. Managed internally. | |
| MsRASSavedCallbackNumber | String | False | DelimitedData |
The saved RADIUS callback number. Managed internally. | |
| MsRASSavedFramedIPAddress | String | False | DelimitedData |
The saved RADIUS framed IP address. Managed internally. | |
| MsRASSavedFramedRoute | String | False | DelimitedData |
The saved RADIUS framed route. Managed internally. | |
| MS-DS-CreatorSID | String | False | DelimitedData |
The Security Identifier (SID) of the creator of the object containing this attribute. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
| Name | Type | Description |
| Filter | String |
Defines an explicit LDAP filter that overrides any other filter specified in the WHERE clause. |
| プロパティ | 説明 |
| Server | LDAP サーバーのドメイン名またはIP アドレスを指定します。このプロパティは接続を確立するために必要であり、LDAP:\\\\ 接頭辞を含める必要はありません。サーバーのドメイン名、およびIP アドレスだけで十分です。 |
| Port | LDAP サーバーが起動しているポート番号を指定します。 |
| User | LDAP サーバーとの認証に使用されるユーザーアカウントの識別名(DN)を指定します。このプロパティは、サーバーが認証を強制する場合に必要です。 |
| Password | LDAP サーバーとの認証に使用されるユーザーアカウントの識別名(DN)に関連付けられたパスワードを指定します。このプロパティは、サーバーが認証を強制する場合に必要です。 |
| BaseDN | LDAP クエリをディレクトリ内の特定のサブツリーに限定するために、識別名(DN)のベース部分を指定します。 ベースDN を使用すると、検索範囲が狭まり、特に大きなLDAP サーバーではクエリのパフォーマンスが向上します。 |
| UseSSL | Specifies whether SSL is used to secure the connection to the LDAP server. Enabling this property ensures that communication between the client and server is encrypted. |
| LDAPVersion | サーバーへの接続時に使用するLDAP プロトコルのバージョンを指定します。サポートされている値は2および3です。 |
| AuthMechanism | LDAP サーバーへの接続時に使用する認証メカニズムを指定します。サポートされる値は、プレーンテキスト認証の場合はSIMPLE、NTLM/Negotiate 認証の場合はNEGOTIATE です。 |
| Scope | LDAP 検索のスコープを指定します。このプロパティは、検索がサブツリー全体(BaseDN およびすべての下の階層)、単一のレベル(BaseDN および、直接の子階層)、もしくはベースオブジェクトのみ(BaseDN のみ)のいずれに適用されるかを定義します。 |
| DNAttributeFilter | Specifies whether to use distinguishedName or entryDN as the DN attribute in LDAP query filters. This property affects how the distinguished name is referenced during search operations. |
| プロパティ | 説明 |
| SSLServerCert | TLS/SSL を使用して接続する際に、サーバーが受け入れ可能な証明書を指定します。 |
| プロパティ | 説明 |
| FirewallType | provider がプロキシベースのファイアウォールを介してトラフィックをトンネリングするために使用するプロトコルを指定します。 |
| FirewallServer | ファイアウォールを通過し、ユーザーのクエリをネットワークリソースに中継するために使用されるプロキシのIP アドレス、DNS 名、またはホスト名を識別します。 |
| FirewallPort | プロキシベースのファイアウォールで使用するTCP ポートを指定します。 |
| FirewallUser | プロキシベースのファイアウォールに認証するアカウントのユーザーID を識別します。 |
| FirewallPassword | プロキシベースのファイアウォールで認証するユーザーアカウントのパスワードを指定します。 |
| プロパティ | 説明 |
| LogModules | ログファイルに含めるコアモジュールを指定します。セミコロンで区切られたモジュール名のリストを使用します。デフォルトでは、すべてのモジュールがログに記録されます。 |
| プロパティ | 説明 |
| Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリの場所を指定します。サービスの要件に応じて、これは絶対パスまたは相対パスのいずれかで表されます。 |
| BrowsableSchemas | レポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
| Tables | レポートされるテーブルを利用可能なすべてのテーブルのサブセットに制限するオプション設定。例えば、 Tables=TableA,TableB,TableC です。 |
| Views | レポートされたビューを使用可能なテーブルのサブセットに制限するオプション設定。例えば、 Views=ViewA,ViewB,ViewC です。 |
| プロパティ | 説明 |
| FollowReferrals | LDAP サーバーにより返されるLDAP リファーラルに従うかどうかを指定します。有効にすると、プロバイダーは元のサーバーではなく、リファーラルサーバーからデータを取得します。 |
| FriendlyGUID | Specifies whether GUID attributes, such as objectGUID, are returned in a human-readable string format or as base64-encoded binary objects. When enabled, the property converts GUIDs into a friendly string format. |
| FriendlySID | Specifies whether SID attributes, such as objectSid, are returned in a human-readable string format or as base64-encoded binary objects. When enabled, the property converts SIDs into a friendly string format. |
| MaxRows | 集計やGROUP BY を使用しないクエリで返される最大行数を指定します。 |
| Other | 特定のユースケースに対して追加の隠しプロパティを指定します。これらは通常のprovider の機能では必要ありません。複数のプロパティを定義するには、セミコロンで区切られたリストを使用します。 |
| PseudoColumns | テーブルカラムとして公開する擬似カラムを指定します。'TableName=ColumnName;TableName=ColumnName' という形式を使用します。デフォルトは空の文字列で、このプロパティを無効にします。 |
| Timeout | provider がタイムアウトエラーを返すまでにサーバーからの応答を待機する最大時間を秒単位で指定します。デフォルトは60秒です。タイムアウトを無効にするには0を設定します。 |
| UserDefinedViews | カスタムビューを定義するJSON 構成ファイルへのファイルパスを指定します。provider は、このファイルで指定されたビューを自動的に検出して使用します。 |
このセクションでは、本プロバイダーの接続文字列で設定可能なAuthentication プロパティの全リストを提供します。
| プロパティ | 説明 |
| Server | LDAP サーバーのドメイン名またはIP アドレスを指定します。このプロパティは接続を確立するために必要であり、LDAP:\\\\ 接頭辞を含める必要はありません。サーバーのドメイン名、およびIP アドレスだけで十分です。 |
| Port | LDAP サーバーが起動しているポート番号を指定します。 |
| User | LDAP サーバーとの認証に使用されるユーザーアカウントの識別名(DN)を指定します。このプロパティは、サーバーが認証を強制する場合に必要です。 |
| Password | LDAP サーバーとの認証に使用されるユーザーアカウントの識別名(DN)に関連付けられたパスワードを指定します。このプロパティは、サーバーが認証を強制する場合に必要です。 |
| BaseDN | LDAP クエリをディレクトリ内の特定のサブツリーに限定するために、識別名(DN)のベース部分を指定します。 ベースDN を使用すると、検索範囲が狭まり、特に大きなLDAP サーバーではクエリのパフォーマンスが向上します。 |
| UseSSL | Specifies whether SSL is used to secure the connection to the LDAP server. Enabling this property ensures that communication between the client and server is encrypted. |
| LDAPVersion | サーバーへの接続時に使用するLDAP プロトコルのバージョンを指定します。サポートされている値は2および3です。 |
| AuthMechanism | LDAP サーバーへの接続時に使用する認証メカニズムを指定します。サポートされる値は、プレーンテキスト認証の場合はSIMPLE、NTLM/Negotiate 認証の場合はNEGOTIATE です。 |
| Scope | LDAP 検索のスコープを指定します。このプロパティは、検索がサブツリー全体(BaseDN およびすべての下の階層)、単一のレベル(BaseDN および、直接の子階層)、もしくはベースオブジェクトのみ(BaseDN のみ)のいずれに適用されるかを定義します。 |
| DNAttributeFilter | Specifies whether to use distinguishedName or entryDN as the DN attribute in LDAP query filters. This property affects how the distinguished name is referenced during search operations. |
LDAP サーバーのドメイン名またはIP アドレスを指定します。このプロパティは接続を確立するために必要であり、LDAP:\\\\ 接頭辞を含める必要はありません。サーバーのドメイン名、およびIP アドレスだけで十分です。
このプロパティはLDAP サーバーの場所を定義し、"ldap.example.com" のようなドメイン名または192.168.1.1 のようなIP アドレスのいずれかを設定する必要があります。 プロバイダーが自動的に処理するため、LDAP:\\ 接頭辞は含めないでください。
LDAP サーバーが起動しているポート番号を指定します。
このプロパティは、LDAP サーバーが起動しているポートを定義します。 デフォルトでは、LDAP の標準ポートである389に設定されています。 このプロパティは、Server プロパティとともに、完全な接続エンドポイントを決定します。LDAP サーバーが標準以外のポートを使用するように構成されている場合は、このプロパティを適宜更新してください。
LDAP サーバーとの認証に使用されるユーザーアカウントの識別名(DN)を指定します。このプロパティは、サーバーが認証を強制する場合に必要です。
このプロパティはPassword プロパティとともに、LDAP サーバーに対する認証に使用されます。 値は、"CN=John Doe,OU=Users,DC=example,DC=com" のように、ユーザーアカウントの完全な識別名(DN)である必要があります。認証の失敗を避けるため、値がLDAP サーバーが期待するDN 形式と一致していることを確認してください。
LDAP サーバーとの認証に使用されるユーザーアカウントの識別名(DN)に関連付けられたパスワードを指定します。このプロパティは、サーバーが認証を強制する場合に必要です。
このプロパティはUser プロパティと組み合わせて使用され、LDAP サーバーに対して認証を行います。認証失敗を避けるために、パスワードが指定された識別名(DN)に対応していることを確認してください。 セキュリティ強化のため、パスワードが設定ファイルにハードコードされていないことを確認してください。代わりに、LDAP 認証を設定する際には、環境変数またはセキュアなクレデンシャルストレージを使用して機密性の高い値を処理します。
LDAP クエリをディレクトリ内の特定のサブツリーに限定するために、識別名(DN)のベース部分を指定します。 ベースDN を使用すると、検索範囲が狭まり、特に大きなLDAP サーバーではクエリのパフォーマンスが向上します。
このプロパティは、ベースDN を指定することにより、LDAP 検索の開始点を設定します。 検索を特定のサブツリーに限定することで、調べられるエントリ数を大幅に減らすことができ、大規模サーバーのパフォーマンスを大幅に向上させることができます。 この値は、"DC=example,DC=com" のような、目的のサブツリーを表す有効なDN である必要があります。空欄の場合、検索範囲は制限されず、ディレクトリ全体に適用されます。
Specifies whether SSL is used to secure the connection to the LDAP server. Enabling this property ensures that communication between the client and server is encrypted.
This property specifies whether the connection to the LDAP server should be encrypted using SSL. If set to true, SSL is used to secure the connection. By default, this property is set to false, meaning SSL is not enforced.
However, note the following about LDAP standard ports:
If the Sync App connects to an encrypted endpoint, SSL is automatically used regardless of the value of this property. Ensure that your LDAP server supports SSL if you enable this property.
サーバーへの接続時に使用するLDAP プロトコルのバージョンを指定します。サポートされている値は2および3です。
通信に使用するLDAP プロトコルのバージョンを指定するには、このプロパティを設定します。 デフォルト値は2ですが、最近のLDAP サーバーの多くは互換性のためにバージョン3を要求しています。 通信エラーを避けるため、接続先のサーバーが指定されたバージョンに対応していることを確認してください。 プロバイダーは、RFC 1777、RFC 2251、およびその他の関連するLDAP RFC で指定されているLDAP 標準に準拠しています。
LDAP サーバーへの接続時に使用する認証メカニズムを指定します。サポートされる値は、プレーンテキスト認証の場合はSIMPLE、NTLM/Negotiate 認証の場合はNEGOTIATE です。
このプロパティは、接続時に使用する認証方法を指定します。 デフォルト値はSIMPLE で、サーバーとの認証にプレーンテキストの認証情報を使用します。 NEGOTIATE に設定すると、NTLM/Negotiate 認証が使用され、Windows ベースの統合認証がサポートされます。 LDAP サーバーが指定された認証メカニズムをサポートしていることを確認します。 セキュアな統合認証が必要な環境ではNEGOTIATE を使用し、プレーンテキストの認証情報が受け入れられるシナリオではSIMPLE が適しています。
LDAP 検索のスコープを指定します。このプロパティは、検索がサブツリー全体(BaseDN およびすべての下の階層)、単一のレベル(BaseDN および、直接の子階層)、もしくはベースオブジェクトのみ(BaseDN のみ)のいずれに適用されるかを定義します。
このプロパティは、パフォーマンスとクエリ結果のバランスをとるのに役立ちます。 ディレクトリ階層全体のエントリを取得する必要がある幅広い検索には、WHOLESUBTREE を使用します。 より焦点を絞ったクエリには、SINGLELEVEL を選択して結果をBaseDN の直接の子階層に限定するか、BASEOBJECT を選択してBaseDN 自体だけを取得します。 検索スコープを狭めることで、不必要なオーバーヘッドを減らし、特に大きなディレクトリでのクエリ効率を向上させることができます。
Specifies whether to use distinguishedName or entryDN as the DN attribute in LDAP query filters. This property affects how the distinguished name is referenced during search operations.
This property is useful for specifying how the DN is handled in filters for LDAP queries. The default value is distinguishedName, which is widely used in most LDAP servers. For servers or configurations that rely on entryDN for DN filtering, update this property accordingly. Ensure that the chosen attribute is supported by your LDAP server to avoid query errors.
このセクションでは、本プロバイダーの接続文字列で設定可能なSSL プロパティの全リストを提供します。
| プロパティ | 説明 |
| SSLServerCert | TLS/SSL を使用して接続する際に、サーバーが受け入れ可能な証明書を指定します。 |
TLS/SSL を使用して接続する際に、サーバーが受け入れ可能な証明書を指定します。
TLS/SSL 接続を使用する場合は、このプロパティを使用して、サーバーが受け入れるTLS/SSL 証明書を指定できます。コンピュータによって信頼されていない他の証明書はすべて拒否されます。
このプロパティは、次のフォームを取ります:
| 説明 | 例 |
| フルPEM 証明書(例では省略されています) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
| 証明書を保有するローカルファイルへのパス。 | C:\cert.cer |
| 公開鍵(例では省略されています) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
| MD5 Thumbprint (hex 値はスペースおよびコロン区切り) | ecadbdda5a1529c58a1e9e09828d70e4 |
| SHA1 Thumbprint (hex 値はスペースおよびコロン区切り) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
これを指定しない場合は、マシンが信用するすべての証明書が受け入れられます。
すべての証明書の受け入れを示すには、'*'を使用します。セキュリティ上の理由から、これはお勧めできません。
このセクションでは、本プロバイダーの接続文字列で設定可能なFirewall プロパティの全リストを提供します。
| プロパティ | 説明 |
| FirewallType | provider がプロキシベースのファイアウォールを介してトラフィックをトンネリングするために使用するプロトコルを指定します。 |
| FirewallServer | ファイアウォールを通過し、ユーザーのクエリをネットワークリソースに中継するために使用されるプロキシのIP アドレス、DNS 名、またはホスト名を識別します。 |
| FirewallPort | プロキシベースのファイアウォールで使用するTCP ポートを指定します。 |
| FirewallUser | プロキシベースのファイアウォールに認証するアカウントのユーザーID を識別します。 |
| FirewallPassword | プロキシベースのファイアウォールで認証するユーザーアカウントのパスワードを指定します。 |
provider がプロキシベースのファイアウォールを介してトラフィックをトンネリングするために使用するプロトコルを指定します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
次の表は、サポートされている各プロトコルのポート番号情報です。
| プロトコル | デフォルトポート | 説明 |
| TUNNEL | 80 | Sync App がLDAP への接続を開くポート。トラフィックはこの場所のプロキシを経由して行き来します。 |
| SOCKS4 | 1080 | Sync App がLDAP への接続を開くポート。SOCKS 4 は次にFirewallUser 値をプロキシに渡し、接続リクエストが許容されるかどうかを決定します。 |
| SOCKS5 | 1080 | Sync App がLDAP にデータを送信するポート。SOCKS 5 プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。 |
ファイアウォールを通過し、ユーザーのクエリをネットワークリソースに中継するために使用されるプロキシのIP アドレス、DNS 名、またはホスト名を識別します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
プロキシベースのファイアウォールで使用するTCP ポートを指定します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
プロキシベースのファイアウォールに認証するアカウントのユーザーID を識別します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
プロキシベースのファイアウォールで認証するユーザーアカウントのパスワードを指定します。
プロキシベースのファイアウォール(またはプロキシファイアウォール)は、ユーザーのリクエストとそれがアクセスするリソースの間に介在するネットワークセキュリティデバイスです。 プロキシは認証済みのユーザーのリクエストを受け取り、ファイアウォールを通過して適切なサーバーにリクエストを送信します。
プロキシは、リクエストを送信したユーザーに代わってデータバケットを評価し転送するため、ユーザーはサーバーに直接接続することなく、プロキシのみに接続します。
このセクションでは、本プロバイダーの接続文字列で設定可能なLogging プロパティの全リストを提供します。
| プロパティ | 説明 |
| LogModules | ログファイルに含めるコアモジュールを指定します。セミコロンで区切られたモジュール名のリストを使用します。デフォルトでは、すべてのモジュールがログに記録されます。 |
ログファイルに含めるコアモジュールを指定します。セミコロンで区切られたモジュール名のリストを使用します。デフォルトでは、すべてのモジュールがログに記録されます。
このプロパティは、含めるログモジュールを指定することでログファイルの内容をカスタマイズすることができます。 ログモジュールは、クエリ実行、メタデータ、SSL 通信などの異なる領域にログ情報を分類します。 各モジュールは4文字のコードで表され、文字の名前の場合は末尾にスペースが必要なものもあります。
例えば、EXEC はクエリ実行をログに記録し、INFO は一般的なプロバイダーメッセージをログに記録します。 複数のモジュールを含めるには、次のように名前をセミコロンで区切ります:INFO;EXEC;SSL。
Verbosity 接続プロパティは、このプロパティで指定されたモジュールベースのフィルタリングよりも優先されます。 Verbosity レベルを満たし、指定されたモジュールに属するログエントリのみが記録されます。 利用可能なすべてのモジュールをログファイルに含めるには、このプロパティを空白のままにします。
利用可能なモジュールの完全なリストとログの設定に関する詳細な手引きについては、ログ の「高度なログの記録」セクションを参照してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。
| プロパティ | 説明 |
| Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリの場所を指定します。サービスの要件に応じて、これは絶対パスまたは相対パスのいずれかで表されます。 |
| BrowsableSchemas | レポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
| Tables | レポートされるテーブルを利用可能なすべてのテーブルのサブセットに制限するオプション設定。例えば、 Tables=TableA,TableB,TableC です。 |
| Views | レポートされたビューを使用可能なテーブルのサブセットに制限するオプション設定。例えば、 Views=ViewA,ViewB,ViewC です。 |
テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリの場所を指定します。サービスの要件に応じて、これは絶対パスまたは相対パスのいずれかで表されます。
Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。
指定しない場合、デフォルトの場所は%APPDATA%\\CData\\LDAP Data Provider\\Schema となり、%APPDATA%はユーザーのコンフィギュレーションディレクトリに設定されます:
| プラットフォーム | %APPDATA% |
| Windows | APPDATA 環境変数の値 |
| Linux | ~/.config |
レポートされるスキーマを利用可能なすべてのスキーマのサブセットに制限するオプション設定。例えば、 BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
利用可能なデータベーススキーマをすべてリストすると余分な時間がかかり、パフォーマンスが低下します。 接続文字列にスキーマのリストを指定することで、時間を節約しパフォーマンスを向上させることができます。
レポートされるテーブルを利用可能なすべてのテーブルのサブセットに制限するオプション設定。例えば、 Tables=TableA,TableB,TableC です。
データベースによっては、利用可能なすべてのテーブルをリストするのに時間がかかり、パフォーマンスが低下する場合があります。 接続文字列にテーブルのリストを指定することで、時間を節約しパフォーマンスを向上させることができます。
利用可能なテーブルがたくさんあり、すでに作業したいテーブルが決まっている場合、このプロパティを使用して対象のテーブルのみに表示を制限することができます。これを行うには、カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。
Note:複数のスキーマまたはカタログを持つデータソースに接続する場合は、表示する各テーブルを完全修飾名で指定する必要があります。これにより、複数のカタログやスキーマに存在するテーブルが混同されることを防ぎます。
レポートされたビューを使用可能なテーブルのサブセットに制限するオプション設定。例えば、 Views=ViewA,ViewB,ViewC です。
データベースによっては、利用可能なすべてのビューをリストするのに時間がかかり、パフォーマンスが低下する場合があります。 接続文字列にビューのリストを指定することで、時間を節約しパフォーマンスを向上させることができます。
利用可能なビューがたくさんあり、すでに作業したいビューが決まっている場合、このプロパティを使用して対象のビューのみに表示を制限することができます。これを行うには、カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。
Note:複数のスキーマまたはカタログを持つデータソースに接続する場合は、確認する各ビューを完全修飾名で指定する必要があります。これにより、複数のカタログやスキーマに存在するビューが混同されることを防ぎます。
このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。
| プロパティ | 説明 |
| FollowReferrals | LDAP サーバーにより返されるLDAP リファーラルに従うかどうかを指定します。有効にすると、プロバイダーは元のサーバーではなく、リファーラルサーバーからデータを取得します。 |
| FriendlyGUID | Specifies whether GUID attributes, such as objectGUID, are returned in a human-readable string format or as base64-encoded binary objects. When enabled, the property converts GUIDs into a friendly string format. |
| FriendlySID | Specifies whether SID attributes, such as objectSid, are returned in a human-readable string format or as base64-encoded binary objects. When enabled, the property converts SIDs into a friendly string format. |
| MaxRows | 集計やGROUP BY を使用しないクエリで返される最大行数を指定します。 |
| Other | 特定のユースケースに対して追加の隠しプロパティを指定します。これらは通常のprovider の機能では必要ありません。複数のプロパティを定義するには、セミコロンで区切られたリストを使用します。 |
| PseudoColumns | テーブルカラムとして公開する擬似カラムを指定します。'TableName=ColumnName;TableName=ColumnName' という形式を使用します。デフォルトは空の文字列で、このプロパティを無効にします。 |
| Timeout | provider がタイムアウトエラーを返すまでにサーバーからの応答を待機する最大時間を秒単位で指定します。デフォルトは60秒です。タイムアウトを無効にするには0を設定します。 |
| UserDefinedViews | カスタムビューを定義するJSON 構成ファイルへのファイルパスを指定します。provider は、このファイルで指定されたビューを自動的に検出して使用します。 |
LDAP サーバーにより返されるLDAP リファーラルに従うかどうかを指定します。有効にすると、プロバイダーは元のサーバーではなく、リファーラルサーバーからデータを取得します。
このプロパティは、クエリ中にプロバイダーがLDAP サーバーから返されるリファーラルに従うかどうかを指定します。 リファーラルは、要求されたデータを含む可能性のある他のLDAP サーバーへのポインタです。 FollowReferrals をtrue に設定すると、プロバイダーはデータを取得するためにリファーラルサーバーに接続します。 INSERT、UPDATE、DELETE などのデータ操作は、接続文字列がそれらのサーバーに直接接続するように更新されない限り、リファーラルサーバー上で実行できないことに注意してください。
Specifies whether GUID attributes, such as objectGUID, are returned in a human-readable string format or as base64-encoded binary objects. When enabled, the property converts GUIDs into a friendly string format.
This property specifies how GUID attributes, such as objectGUID, are returned when inspecting object attributes. If set to true, GUIDs are converted into a human-readable string format. If set to false, GUIDs are returned as base64-encoded binary objects. The friendly string format makes GUID values easier to interpret and work with during debugging or when creating readable reports. This property is useful in scenarios where GUIDs need to be reviewed manually or shared in a clear, human-readable format.
Specifies whether SID attributes, such as objectSid, are returned in a human-readable string format or as base64-encoded binary objects. When enabled, the property converts SIDs into a friendly string format.
This property specifies how SID attributes, such as objectSid, are returned when inspecting object attributes. If set to true, SIDs are converted into a human-readable string format. If set to false, SIDs are returned as base64-encoded binary objects. The friendly string format simplifies working with SID values, making them easier to interpret during debugging or when generating reports. This property is useful in scenarios where SIDs need to be reviewed manually or shared in a clear, human-readable format.
集計やGROUP BY を使用しないクエリで返される最大行数を指定します。
このプロパティは、集計やGROUP BY 句を含まないクエリに対してSync App が返す行数の上限を設定します。 この制限により、クエリがデフォルトで過度に大きな結果セットを返さないようにします。
クエリにLIMIT 句が含まれている場合、クエリで指定された値がMaxRows 設定よりも優先されます。 MaxRows が"-1" に設定されている場合、LIMIT 句が明示的にクエリに含まれていない限り、行の制限は行われません。
このプロパティは、非常に大きなデータセットを返す可能性のあるクエリを実行する際に、パフォーマンスを最適化し過剰なリソース消費を防ぐのに役立ちます。
特定のユースケースに対して追加の隠しプロパティを指定します。これらは通常のprovider の機能では必要ありません。複数のプロパティを定義するには、セミコロンで区切られたリストを使用します。
このプロパティは、シニアユーザーが特定のシナリオに対して隠しプロパティを設定できるようにします。 これらの設定は通常のユースケースには必要ありませんが、特定の要件に対応したり、追加の機能を提供したりすることができます。 複数のプロパティをセミコロン区切りのリストで定義できます。
Note: 特定のシナリオや問題に対処するためにサポートチームから助言があった場合にのみ、これらのプロパティを設定することを強く推奨します。
複数のプロパティをセミコロン区切りリストで指定します。
| DefaultColumnSize | データソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。 |
| ConvertDateTimeToGMT | 日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。 |
| RecordToFile=filename | 基底のソケットデータ転送を指定のファイルに記録します。 |
テーブルカラムとして公開する擬似カラムを指定します。'TableName=ColumnName;TableName=ColumnName' という形式を使用します。デフォルトは空の文字列で、このプロパティを無効にします。
このプロパティを使用すると、Sync App がテーブルカラムとして公開する擬似カラムを定義できます。
個々の擬似カラムを指定するには、以下の形式を使用します。"Table1=Column1;Table1=Column2;Table2=Column3"
すべてのテーブルのすべての擬似カラムを含めるには、次のようにします:"*=*"
provider がタイムアウトエラーを返すまでにサーバーからの応答を待機する最大時間を秒単位で指定します。デフォルトは60秒です。タイムアウトを無効にするには0を設定します。
このプロパティは、Sync App が操作をキャンセルする前に操作の完了を待機する最大時間を秒単位で制御します。 操作の完了前にタイムアウト時間が経過すると、Sync App は操作をキャンセルして例外をスローします。
タイムアウトは、クエリや操作全体ではなくサーバーとの個々の通信に適用されます。 例えば、各ページング呼び出しがタイムアウト制限内に完了する場合、クエリは60秒を超えて実行を続けることができます。
このプロパティを0に設定するとタイムアウトが無効になり、操作が成功するか、サーバー側のタイムアウト、ネットワークの中断、またはサーバーのリソース制限などの他の条件で失敗するまで無期限に実行されます。 このプロパティは慎重に使用してください。長時間実行される操作がパフォーマンスを低下させたり、応答しなくなる可能性があるためです。
カスタムビューを定義するJSON 構成ファイルへのファイルパスを指定します。provider は、このファイルで指定されたビューを自動的に検出して使用します。
このプロパティを使用すると、UserDefinedViews.json というJSON 形式の構成ファイルを通じてカスタムビューを定義および管理できます。 これらのビューはSync App によって自動的に認識され、標準のデータベースビューのようにカスタムSQL クエリを実行できるようになります。 JSON ファイルは、各ビューをルート要素として定義し、その子要素として"query" を持ちます。この"query" にはビューのSQL クエリが含まれています。次に例を示します。
{
"MyView": {
"query": "SELECT * FROM User WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
このプロパティを使用して、1つのファイルに複数のビューを定義し、ファイルパスを指定できます。 例:UserDefinedViews=C:\Path\To\UserDefinedViews.json。 このプロパティを使用すると、指定されたビューのみがSync App によって検知されます。
詳しくは、ユーザー定義ビュー を参照してください。