CData Sync App は、Google Directory データをデータベース、データレイク、またはデータウェアハウスに継続的にパイプライン化する簡単な方法を提供し、分析、レポート、AI、および機械学習で簡単に利用できるようにします。
Google Directory コネクタはCData Sync アプリケーションから使用可能で、Google Directory からデータを取得して、サポートされている任意の同期先に移動できます。
Sync App アプリケーションの接続 ページに移動し、接続の追加 パネルで対応するアイコンを選択して、Google Directory への接続を作成します。Google Directory アイコンが利用できない場合は、Add More アイコンをクリックしてCData サイトからGoogle Directory コネクタをダウンロードおよびインストールします。
必須プロパティは[設定]タブにリストされています。[Advanced]タブには、通常は必要ない接続プロパティが表示されます。
Sync App は、認証にユーザーアカウントおよびGCP インスタンスアカウントの使用をサポートします。
以下のセクションでは、Google Directory の利用可能な認証スキームについて説明します。
AuthScheme は、すべてのユーザーアカウントフローでOAuth に設定する必要があります。
OAuth アクセストークンの取得
次の接続プロパティを設定し、OAuthAccessToken を取得します。
続いてストアドプロシージャを呼び出し、OAuth 交換を完了します。
アクセストークンとリフレッシュトークンを取得すると、データに接続し、OAuth アクセストークンを自動または手動でリフレッシュすることができるようになります。
OAuth アクセストークンの自動リフレッシュ
ドライバーがOAuth アクセストークンを自動的にリフレッシュするようにするには、最初のデータ接続で次のように設定します。
OAuth アクセストークンの手動リフレッシュ
データ接続時に手動でOAuth アクセストークンをリフレッシュするために必要な値は、OAuth リフレッシュトークンのみです。
GetOAuthAccessToken によって返されたExpiresIn パラメータ値が経過した後に、RefreshOAuthAccessToken ストアドプロシージャを使用し、手動でOAuthAccessToken をリフレッシュします。次の接続プロパティを設定します。
次に、RefreshOAuthAccessToken を呼び出し、OAuthRefreshToken にGetOAuthAccessToken によって返されたOAuth リフレッシュトークンを指定します。新しいトークンが取得できたら、OAuthAccessToken プロパティにRefreshOAuthAccessToken によって返された値を設定し、新しい接続をオープンします。
最後に、OAuth リフレッシュトークンを保存し、OAuth アクセストークンの有効期限が切れた後に手動でリフレッシュできるようにします。
オプション1:Verifier code を取得および交換
Verifier code を取得するには、OAuth Authorization URL で認証する必要があります。
インターネットブラウザに対応したマシンから認証してOAuthVerifier 接続プロパティを取得する方法は次のとおりです。
ヘッドレスマシンでは、次の接続プロパティを設定してOAuth 認証値を取得します。
OAuth 設定ファイルが生成されたら、以下のように接続プロパティをリセットする必要があります。
オプション2:OAuth 設定を転送
ヘッドレスマシンでの接続に先立ち、インターネットブラウザに対応したデバイスでドライバとの接続を作成し、インストールする必要があります。上述の「デスクトップアプリケーション」の説明に従って、接続プロパティを設定します。
「デスクトップアプリケーション」の手順が完了すると、生成された認証値は、OAuthSettingsLocation で指定されたパスに暗号化されて書き込まれます。デフォルトのファイル名はOAuthSettings.txt です。
接続が正常にテストされたら、OAuth 設定ファイルをヘッドレスマシンにコピーします。
ヘッドレスマシンで、次の接続プロパティを設定し、データに接続します。
GCP 仮想マシン上で実行している場合は、Sync App は仮想マシンに関連付けられたサービスアカウントを使用して認証できます。 このモードを使用するには、AuthScheme をGCPInstanceAccount に設定します。
このセクションでは、Google Directory Sync App の高度な機能を厳選して説明します。
Sync App を使用すると、事前設定されたクエリによって内容が決定されるユーザー定義ビューと呼ばれる仮想テーブルを定義できます。 このビューは、ドライバーに発行されるクエリを直接制御できない場合に有効です。 カスタムビューの作成と設定の概要については、ユーザー定義ビュー を参照してください。
SSL の設定 を使用して、Sync App が証明書のネゴシエーションをどのように扱うかを調整します。さまざまな証明書形式を選択できます。 詳しくは、接続文字列オプションにあるSSLServerCert プロパティを参照してください。
Windows プロキシとHTTP プロキシを含むファイアウォールとプロキシ に合致するようSync App を設定します。トンネル接続を設定することもできます。
Sync App は、Google Directory にできるだけ多くのSELECT ステートメント処理をオフロードし、残りのクエリをクライアント側のインメモリで処理します。
詳しくはクエリ処理 を参照してください。
CData ログを調整するために使用可能な設定の概要については、ログ を参照してください。基本的なロギングでは、 次の2つの接続プロパティを設定するだけです。LogModules 接続プロパティを使用してログに記録する情報のサブセットを選択できる、 より洗練されたロギングをサポートする多数の機能があります。
デフォルトでは、Sync App はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL / TLS のネゴシエーションを試みます。
別の証明書を指定するには、利用可能なフォーマットについてSSLServerCert プロパティを参照してください。
Windows のシステムプロキシ経由の接続では、接続プロパティを追加で設定する必要はありません。他のプロキシに接続するには、ProxyAutoDetect をfalse に設定します。
さらにHTTP プロキシへの認証には、ProxyServer とProxyPort に加えてProxyAuthScheme、ProxyUser、およびProxyPassword を設定します。
次のプロパティを設定します。
CData Sync App は、Google Directory API をリレーショナルテーブル、ビュー、およびストアドプロシージャとしてモデル化します。 使用可能なオブジェクトのAPI の制限事項および要件について、このセクションで説明します。 Sync App は、Google Directory API にできるだけ多くのSELECT 構文処理をオフロードし、残りのクエリをインメモリで処理します。API の制限事項および要件については、テーブル およびビュー で説明します。
Sync App がクライアントサイドのインメモリ処理でAPI 制限を回避する方法の詳細については、SupportEnhancedSQL を参照してください。
Sync App プロバイダーは、Google Directory API をリレーショナルテーブル としてモデル化します。
ビュー は、Google Directory のいくつかの追加情報を提供します。
ストアドプロシージャ は、データソースのファンクションライクなインターフェースです。
Sync App はGoogle Directory のデータを、標準のSQL ステートメントを使用してクエリできるテーブルのリストにモデル化します。
一般的には、Google Directory テーブルのクエリは、リレーショナルデータベースのテーブルのクエリと同じです。時には特別なケースもあります。例えば、テーブルの特定のカラムデータを取得するために特定のカラムをWHERE 句に含める必要がある場合などです。これは通常、特定のカラムを取得するために行ごとに個別のリクエストを行う必要がある場合に必要です。これらの特別な状況は、以下にリンクされているテーブルページの上部に明確に文書化されています。
Name | Description |
ChromeOsDevices | Retrieve all Chrome devices for an account. |
DomainAliases | Create, update, and query aliases of a domain. |
Domains | Create, delete, and query the domains for a user. |
GroupAliases | Create, delete, and query aliases for a group. |
GroupMembers | Create, update, delete, and query the members for a group. |
Groups | Create, update, delete, and query groups. |
Notifications | Update, delete, and query notifications for a customer. |
OrganizationUnits | Create, update, delete, and query the organization units for a customer. |
RoleAssignments | Create, delete, and query roles assigned to users. |
Tokens | Query and delete tokens for a user. |
UserAliases | Lists aliases, which are alternative email addresses for a user. |
Users | Query user information. |
Retrieve all Chrome devices for an account.
To get a list of all Chrome devices for an account, the CustomerId column is required. It can be set in the connection string or in the WHERE clause condition. If not specified, the CustomerId of the current account will be used. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM ChromeOsDevices
Inserts are not supported for this table.
Updates a device's annotatedUser, annotatedLocation, or notes properties. To update a notification, the following columns are required: CustomerId and Id. If not specified, the CustomerId of the current account will be used.
UPDATE ChromeOsDevices SET AnnotatedUser='User_2' WHERE Id = '12345' AND CustomerId = '1234'.
Deletes are not supported for this table.
Name | Type | ReadOnly | Description |
Id [KEY] | String | True |
The unique ID of the Chrome device. |
SerialNumber | String | True |
The Chrome device serial number entered when the device was enabled. This value is the same as the Admin console's Serial Number in the Chrome OS Devices tab. |
Model | String | True |
The device's model information. If the device does not have this information, this property is not included in the response. |
MEID | String | True |
The Mobile Equipment Identifier (MEID) for the 3G mobile card in a mobile device. A MEID is typically used when adding a device to a wireless carrier's post-pay service plan. If the device does not have this information, this property is not included in the response. |
LastSync | Datetime | True |
The date and time the device was last enrolled. |
AnnotatedUser | String | False |
The user of the device as noted by the administrator. Maximum length is 100 characters. Empty values are allowed. |
AnnotatedLocation | String | False |
The address or location of the device as noted by the administrator. Maximum length is 200 characters. Empty values are allowed. |
AnnotatedAssetId | String | False |
The asset identifier as noted by an administrator or specified during enrollment. |
Notes | String | False |
Notes about this device added by the administrator. This property can be searched with the list method's query parameter. Maximum length is 500 characters. Empty values are allowed. |
OrgUnitPath | String | False |
The full parent path with the organizational unit's name associated with the device. Path names are case insensitive. If the parent organizational unit is the top-level organization, it is represented as a forward slash, /. This property can be updated using the API |
OrderNumber | String | True |
The device's order number. Only devices directly purchased from Google have an order number. |
MacAddress | String | True |
The device's wireless MAC address. If the device does not have this information, it is not included in the response. |
WillAutoRenew | Boolean | True |
Determines if the device will auto renew its support after the support end date. This is a read-only property. |
OsVersion | String | True |
The Chrome device's operating system version. |
PlatformVersion | String | True |
The Chrome device's platform version. |
FirmwareVersion | String | True |
The Chrome device's firmware version. |
BootMode | String | True |
The boot mode for the device. |
LastEnrollmentTime | String | True |
The date and time the device was last enrolled. |
TmpVersionInfoAggr | String | True |
Trusted Platform Module (TPM). |
ActiveTimeRangesAggr | String | True |
List of active time ranges. |
RecentUsersAggr | String | True |
List of recent device users, in descending order, by last login time. |
DeviceFilesAggr | String | True |
List of device files to download. |
ETag | String | True |
ETag of the resource. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
CustomerId | String |
Id of the customer |
Create, update, and query aliases of a domain.
To get a list of all the aliases for a domain, the CustomerId column is required. It can be set in the connection string or in the WHERE clause condition. If not specified, the CustomerId of the current account will be used. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM DomainAliases
To insert an alias, the following columns are required: CustomerId, ParentDomain, and DomainAliasName.
INSERT INTO DomainAliases (CustomerId, DomainAliasName, ParentDomain) VALUES ('12345','Alias', 'parentdomain.com')
Updates are not supported for this table.
To delete an alias, the following columns are required: CustomerId and DomainAliasName.
DELETE FROM DomainAliases WHERE CustomerId='C020vaw0q' AND DomainAliasName='Alias'
Name | Type | ReadOnly | Description |
DomainAliasName [KEY] | String | False |
The domain alias name. |
ParentDomain | String | False |
The parent domain name that the domain alias is associated with. |
IsVerified | Boolean | True |
Indicates the verification state of a domain alias. |
CreationDate | Timestamp | True |
Creation date timestamp of the domain alias in milliseconds. |
ETag | String | True |
ETag of the resource |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
CustomerId | String |
Id of the customer |
Create, delete, and query the domains for a user.
To get a list of all the domains, the CustomerId column is required. It can be set in the connection string or in the WHERE clause condition. If not specified, the CustomerId of the current account will be used, as in the following query. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM Domains
To insert a domain, the following columns are required: CustomerId and DomainName.
INSERT INTO Domains (CustomerId, DomainName) VALUES ('12345', 'exampledomain.com')
Updates are not supported for this table.
To delete a domain, the DomainName column is required.
DELETE FROM Domains WHERE DomainName='exampledomain.com'
Name | Type | ReadOnly | Description |
DomainName [KEY] | String | False |
The domain name. |
IsPrimary | Boolean | True |
Indicates if the domain is a primary domain. |
IsVerified | Boolean | True |
Indicates the verification state of a domain. |
CreationDate | Datetime | True |
The creation date of the domain. |
Aliases | String | True |
The aliases of the domain. |
ETag | String | True |
ETag of the resource. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
CustomerId | String |
Id of the customer |
Create, delete, and query aliases for a group.
To get a list of all the aliases for a group, the GroupId column is required. If not specified, the GroupId of the first group from the Groups table will be used. The Sync App processes other queries client-side in memory.
The following query shows the only filter processed server side by the Google Directory API:
SELECT * FROM GroupAliases WHERE GroupId = '12345'
To insert an alias, the following columns are required: GroupId and Alias.
INSERT INTO GroupAliases (GroupId, Alias) VALUES ('12345', 'Alias')
Updates are not supported for this table.
To delete an alias, the following columns are required: GroupId and Alias.
DELETE FROM GroupAliases WHERE GroupId = '12345' AND Alias = 'Alias'
Name | Type | ReadOnly | Description |
Alias [KEY] | String | False |
The alias email address. |
GroupId | String | True |
Id of the group. |
PrimaryEmail | String | True |
PrimaryEmail of the group. |
ETag | String | True |
ETag of the resource. |
Create, update, delete, and query the members for a group.
To get a list of all the members of a group, the GroupId column is required. If not specified, the Id of the first group from the Groups table will be used. The Sync App processes other queries client-side in memory.
The following query shows the only filter processed server side by the Google Directory API:
SELECT * FROM GroupMembers WHERE GroupId = '12345'
To insert a member, the following columns are required: Email and GroupId.
The Role column only accepts the following values: MEMBER, MANAGER, and OWNER.
INSERT INTO GroupMembers (Email, GroupId, Role) VALUES ('[email protected]', '12345', 'MEMBER')
To update a member, the following columns are required: GroupId and Id.
UPDATE GroupMembers SET Role='MEMBER' WHERE GroupId='1234' AND Id='12345'
To delete a member, the following columns are required: GroupId and Id.
DELETE FROM GroupMembers WHERE GroupId='1234' AND Id='12345'
Name | Type | ReadOnly | Description |
Id [KEY] | String | False |
The unique identifier for the member. |
GroupId | String | True |
The unique identifier for the member. |
String | False |
The email of the member. | |
Role | String | False |
The name of the member. |
Status | String | True |
The status of the member. |
Type | String | True |
The type of members. |
ETag | String | True |
ETag of the resource |
Create, update, delete, and query groups.
To get a list of all the groups, the CustomerId is required. You can either set it in the connection string or in the WHERE clause condition. If not specified, the CustomerId of the current account will be used. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory API:
SELECT * FROM Groups
To insert a group, the Email column is required.
INSERT INTO Groups (Email, Name, Description) VALUES ('[email protected]', 'Group Example Name', 'Example Description')
To update a group, the Id is required.
UPDATE Groups SET Email = '[email protected]', Name = 'Group', Description = 'Description' WHERE Id = 1231
To delete a group, the Id column is required.
DELETE FROM Groups WHERE Id='12345'
Name | Type | ReadOnly | Description |
Id [KEY] | String | True |
The unique identifier for the group. |
String | False |
The email of the group. | |
Name | String | False |
The name of the group. |
MembersCount | Long | True |
The number of members. |
Description | String | False |
Description of the group. |
Aliases | String | True |
Aliases of the group. |
AdminCreated | Boolean | True |
Indicates if the group was created by an admin. |
ETag | String | True |
ETag of the resource |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
CustomerId | String |
The customer Id of the group. |
Domain | String |
Domain name. |
Update, delete, and query notifications for a customer.
To get a list of all the notifications, the CustomerId column is required. It can be set in the connection string or in the WHERE clause condition. If not specified, the CustomerId of the current account will be used. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM Notifications
Inserts are not supported for this table.
To update a notification, the following columns are required: CustomerId and Id. If not specified, the CustomerId of the current account will be used.
UPDATE Notifications SET IsUnread = true WHERE Id = '12345' AND CustomerId = '1234'.
To delete a notification, the following columns are required: CustomerId and Id. If not specified, the CustomerId of the current account will be used.
DELETE FROM Notifications WHERE CustomerId = '1234' AND Id = '12345'
Name | Type | ReadOnly | Description |
Id [KEY] | String | True |
Id of the notification |
Subject | String | False |
Subject of the notification |
Body | String | True |
The body of the notification |
SendDate | Datetime | True |
The date when the notification was sent |
FromAddress | String | True |
The address from which the notification is recieved |
IsUnread | Boolean | False |
Indicates wether the notification is unread or not |
ETag | String | True |
ETag of the resource |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
CustomerId | String |
Id of the customer |
Create, update, delete, and query the organization units for a customer.
To get a list of all the organization units, the CustomerId column is required. It can be set in the connection string or in the WHERE clause condition. If not specified, the CustomerId of the current account will be used. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM OrganizationUnits
To insert an organization unit, the following columns are required: CustomerId, Name, and ParentOrgUnitId. If not specified, the CustomerId of the current account will be used.
INSERT INTO OrganizationUnits (CustomerId, Name, Description, OrgUnitPath, ParentOrgUnitId, ParentOrgUnitPath) VALUES ('12345', 'OrgUnit Name', 'OrgUnit Description', 'Path', '123456', 'ParentPath', '1234')
To update an organization unit, the following columns are required: CustomerId and Id. If not specified, the CustomerId of the current account will be used.
UPDATE OrganizationUnits SET Name='OrgUnit Name', 'Description = 'OrgUnit Description', OrgUnitPath = 'Path', ParentOrgUnitId = '123456', ParentOrgUnitPath = 'ParentPath' WHERE CustomerId='1234' AND Id='12345'
To delete an organization unit, the following columns are required: CustomerId and Id. If not specified, the CustomerId of the current account will be used.
DELETE FROM OrganizationUnits WHERE CustomerId = '1234' AND Id = '12345'
Name | Type | ReadOnly | Description |
Id [KEY] | String | True |
Id of the Organization Unit. |
Name | String | False |
Name of the Organization Unit. |
Description | String | False |
Description of the Organization Unit. |
OrgUnitPath | String | False |
Path of the OrgOrganization Unit.Unit |
ParentOrgUnitPath | String | False |
Path of the Organization Unit's parent. |
ParentOrgUnitId | String | False |
Id of the Organization Unit's parent |
ETag | String | True |
ETag of the resource. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
CustomerId | String |
Id of the customer |
Create, delete, and query roles assigned to users.
To get a list of all the roles assigned to users, the CustomerId column is required. If not specified, the CustomerId of the current account will be used. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM RoleAssignments
To assign a role to a user, the following columns are required: RoleId, UserId, ScopeType, and CustomerId. If not specified, the CustomerId of the current account will be used.
ScopeType has only two acceptable values : CUSTOMER and ORG_UNIT.
INSERT INTO RoleAssignments (RoleId, UserId, ScopeType) VALUES ('12345', '123456', 'CUSTOMER')
Updates are not supported for this table.
To remove an assigned role from a user, the Id and CustomerId columns are required. If not specified, the CustomerId of the current account will be used.
DELETE FROM RoleAssignments WHERE Id = '12345'
Name | Type | ReadOnly | Description |
Id [KEY] | String | True |
The unique identifier of the role assignment. |
RoleId | String | False |
The Id of the role that is assigned. |
UserId | String | False |
The Id of the user this role is assigned to. |
OrgUnitId | String | False |
If the role is restricted to an organizational unit, this contains the ID for the organizational unit the exercise of this role is restricted to. |
ScopeType | String | False |
The scope in which this role is assigned. Acceptable values are |
Etag | String | True |
Etag of the resource. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
CustomerId | String |
Id of the customer |
Query and delete tokens for a user.
To get a current set of tokens a specified user has issued to 3rd party applications, the UserId column is required. It can be set in the connection string or in the WHERE clause condition. If not specified, the Id of the first user from the Users table will be used. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM Tokens
Inserts are not supported for this table.
Updates are not supported for this table.
To delete a token, the UserId and Id columns are required.
DELETE FROM Tokens WHERE UserId='12345' AND Id='123456'
Name | Type | ReadOnly | Description |
Id [KEY] | String | False |
The Client ID of the application the token is issued to. |
UserId | String | False |
Aggregate of child privileges. |
DisplayText | String | False |
The displayable name of the application the token is issued to. |
IsAnonymous | Boolean | False |
Indicates if the name of the privilege. |
IsNativeApp | Boolean | False |
Indicates if the token is issued to an installed application. |
ScopesAggregate | String | False |
Aggregate of child privileges. |
Etag | String | False |
Etag of the resource. |
Lists aliases, which are alternative email addresses for a user.
To get a list of all the aliases for a user, the UserId column is required. It can be set in the connection string or in the WHERE clause condition. Otherwise, the Sync App will automatically use the Id of the first user from the Users table. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM Aliases
To insert an alias, the following columns are required: UserId and Alias.
INSERT INTO Aliases (UserId, Alias) VALUES ('12345', 'Alias')
Updates are not supported for this table.
To delete an alias, the following columns are required: UserId and Alias.
DELETE FROM Aliases WHERE Id = '12345' AND Alias = 'Alias'
Name | Type | ReadOnly | Description |
Alias [KEY] | String | False |
The alias email address. |
UserId | String | True |
Id of the user. |
PrimaryEmail | String | True |
PrimaryEmail of the user. |
ETag | String | True |
ETag of the resource. |
Query user information.
To get a list of all the users, CustomerId is required. You can either set it in the connection string or in the WHERE clause condition. If not specified, the CustomerId of the current account will be used. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM Users
To insert a user, the following columns are required: PrimaryEmail, FirstName, Surname, and Password.
INSERT INTO Users (PrimaryEmail, FirstName, Surname, Password, Suspended) VALUES ('[email protected]', 'John', 'Doe', '12345', true)
To update a user, the Id column is required.
UPDATE Users SET PrimaryEmail = '[email protected]', FirstName = 'John' , Surname = 'Doe', Suspended = true WHERE Id = 1231
To delete users, the Id column is required.
DELETE FROM Users WHERE Id = '12345'
Name | Type | ReadOnly | Description |
Id [KEY] | String | True |
The unique identifier for the user. |
CustomerId | String | True |
The customer Id of the user. |
PrimaryEmail | String | False |
The primary email of the user. |
FirstName | String | False |
The first name of the user. |
Surname | String | False |
The surname of the user. |
Aliases | String | True |
The aliases of the user. |
IsAdmin | Boolean | True |
Indicates if the user is an admin. |
IsDelegatedAdmin | Boolean | True |
Indicates if the user is a delegated admin. |
LastLoginDate | Datetime | True |
Last time the user logged on. |
CreationDate | Datetime | True |
Creation date of the user. |
DeletionDate | Datetime | True |
Deletion date of the user. |
AgreedToTerms | Boolean | True |
Indicates if the user agreed to the terms or not. |
Suspended | Boolean | False |
Indicates if the user got supsended. |
SuspensionReason | String | True |
The reason the user got supsended. |
OrgUnitPath | String | False |
The full path of the parent organization associated with the user. If the parent organization is the top-level, it is represented as a forward slash (/). |
IsMailBoxSetup | Boolean | True |
Indicates if the user's Google mailbox is created. This property is only applicable if the user has been assigned a Gmail license. |
IsEnrolledIn2Sv | Boolean | True |
Indicates if the user is enrolled in 2-step verification. |
IsEnforcedIn2Sv | Boolean | True |
Indicates if the user is enforced in 2-step verification. |
IncludeInGlobalAddressList | Boolean | True |
Indicates if the user's profile is visible in the G Suite global address list when the contact sharing feature is enabled for the domain. |
ThumbnailPhotoUrl | String | True |
Photo Url of the user |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
Password | String |
The password of the user. |
Domain | String |
Domain name |
ビューは、カラムと疑似カラムで構成されます。ビューは、データを示すという点でテーブルに似ていますが、ビューでは更新はサポートされません。通常、ビューとして表されるエンティティは、読み取り専用のエンティティです。多くの場合、これらのデータはストアドプロシージャを使用することで更新できます(その機能がデータソースに適用できる場合)。
ビューに対しては、通常のテーブルと同じようにクエリを実行でき、このときに返されるデータも同様です。
ビューとして公開されるクエリなどの動的ビューや、project_team ワークアイテムの特定の組み合わせを検索するためのビューがサポートされています。
Name | Description |
AppSpecificPasswords | Lists all Application Specific Passwords (passwords that are used with applications that do not accept verification codes) issued by a user. |
MobileDevices | Lists mobile devices for an account. |
Privileges | Lists all Privileges. |
Roles | Lists roles in a domain. |
UserAddresses | Lists the addresses for a user. |
UserEmails | Query the emails for a user. |
UserInstantMessagingAccounts | Query the IM accounts for a user. |
UserLocations | Query the locations for a user. |
UserOrganizations | Query the organizations for a user. |
UserPhones | Query the phone numbers for a user. |
UserWebsites | Retrieve a list of the websites of a user. |
VerificationCodes | Query verification codes for a user. |
Lists all Application Specific Passwords (passwords that are used with applications that do not accept verification codes) issued by a user.
To get a list of all the application specific tokens issued by a user, the UserId column is required. It can be set in the connection string or in the WHERE clause condition. If not specified, the Id of the first user from the Users table will be used. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory API:
SELECT * FROM AppSpecificPasswords
Name | Type | Description |
Id [KEY] | String | The unique identifier of the ASP. |
UserId | String | The unique identifier of the user who issued the ASP. |
Name | String | Name of the ASP. |
CreationDate | Datetime | The date when the ASP was created. |
LastTimeUsed | Datetime | The time when the ASP was last used. |
Etag | String | Etag of the resource. |
Lists mobile devices for an account.
To get a list of all mobile devices for an account, the CustomerId column is required. It can be set in the connection string or in the WHERE clause condition. If not specified, the CustomerId of the current account will be used. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM MobileDevices
Name | Type | Description |
Id [KEY] | String | The serial number for a Google Sync mobile device. For Android and iOS devices, this is a software generated unique identifier. |
ResourceId | String | The unique ID the API service uses to identify the mobile device. |
Name | String | List of the owner's usernames. |
AccountsList | String | List of accounts added on device. |
String | List of the owner's emails. | |
Model | String | The mobile device's model name. |
OS | String | The mobile device's operating system |
Type | String | The type of mobile device. |
Status | String | The device's status. |
HardwareId | String | The IMEI/MEID unique identifier for Android hardware. |
FirstSyncDate | Datetime | The date and time the device was initially synchronized with the policy settings in the Admin console. |
LastSyncDate | Datetime | The date and time the device was last synchronized with the policy settings in the Admin console. |
UserAgent | String | Gives information about the device such as os version. |
SerialNumber | String | The device's serial number. |
IMEI | String | The device's IMEI number. |
MEID | String | The device's MEID number. |
WiFiMacAddress | String | The device's MAC address on Wi-Fi networks. |
NetworkOperator | String | Mobile Device mobile or network operator. |
DefaultLanguage | String | The default langauge used on the device. |
DeviceCompromisedStatus | String | The compromised device status. |
BuildNumber | String | The device's operating system build number. |
KernelVersion | String | The device's kernel version. |
BasebandVersion | String | The device's baseband version. |
Manufacturer | String | The device's manufacturer. |
ReleaseVersion | String | Mobile Device release version version. |
SecurityPatchLevel | String | The device's security patch level. |
Brand | String | The device's brand. |
BootloaderVersion | String | The device's bootloader version. |
Hardware | String | The device's hardware. |
EncryptionStatus | String | The device's encryption status. |
DevicePasswordStatus | String | The device's password status |
Privilege | String | DMAgentPermission. |
UnknownSourcesStatus | Boolean | Indicates if unknown sources are enabled or disabled on device |
AdbStatus | Boolean | Indicates if adb(USB debugging) is enabled or disabled on device |
IsOnOwnerProfile | Boolean | Indicates if this account is on owner/primary profile or not. |
SupportsWorkProfile | Boolean | Indicates if work profile is supported on device. |
Etag | String | Etag of the resource |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
CustomerId | String | The Id of the customer |
Lists all Privileges.
To get a list of all privileges for an account, the CustomerId column is required. It can be set in the connection string or in the WHERE clause condition. If not specified, the CustomerId of the current account will be used. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM Privileges
Name | Type | Description |
ServiceId [KEY] | String | The obfuscated ID of the service this privilege is for. |
ServiceName [KEY] | String | The name of the service this privilege is for. |
PrivilegeName | String | The name of the privilege. |
ParentServiceId | String | The service Id of the parent privilege. |
ParentPrivilegeName | String | The privilege name of the parent privilege. |
IsOrganizationUnitRestrictable | Boolean | Indicates if the privilege can be restricted to an organization unit. |
Etag | String | Etag of the resource. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
CustomerId | String | Id of the customer |
Lists roles in a domain.
To get a list of all the roles, the CustomerId column is required. It can be set in the connection string or in the WHERE clause condition. If not specified, the CustomerId of the current account will be used. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM Roles
Name | Type | Description |
Id [KEY] | String | The unique identifier for the role. |
Name | String | Name of the role. |
Description | String | A short description of the role. |
PrivilegeName | String | The name of the privilege. |
ServiceId | String | The ID of the service the privilege is for. |
IsSystemRole | Boolean | Indicates if it is a pre-defined system role. |
IsSuperAdminRole | Boolean | Indicates if the role is a super admin role. |
Etag | String | Etag of the resource. |
SELECT ステートメントのWHERE 句では、疑似カラムフィールドを使用して、データソースから返されるタプルを詳細に制御することができます。
Name | Type | Description |
CustomerId | String | Id of the customer |
Lists the addresses for a user.
To get a list of addresses for a user, the UserId column is required. It can be set in the connection string or in the WHERE clause condition. Otherwise, the Sync App will automatically use the UserId of the first user from the Users table. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM UserAddresses
Name | Type | Description |
UserId | String | The unique identifier for the user. |
Type | String | The address type. |
CustomType | String | The custom type of the address. |
FormattedAddress | String | The full unstructured postal address. |
PoBox | String | Post office box of the address. |
ExtendedAddress | String | The extended address |
StreetAddress | String | The street address |
Locality | String | The town or city of the address. |
Region | String | The abbreviated province or state. |
PostalCode | String | The ZIP or postal code, if applicable. |
Country | String | Country in the address. |
CountryCode | String | The country code. Uses the ISO 3166-1 standard. |
IsPrimary | Boolean | Indicates if this is the primary address of the user |
Query the emails for a user.
To get a list of email addresses for a user, the UserId column is required. It can be set in the connection string or in the WHERE clause condition. Otherwise, the Sync App will automatically use the Id of the first user from the Users table. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM UserEmails
Name | Type | Description |
Address | String | The user's email address |
UserId | String | The unique identifier for the user. |
IsPrimary | String | Indicates if this is the user's primary email. |
CustomType | String | The custom type of the email. |
Type | String | The type of the email account. |
Query the IM accounts for a user.
To get a list of IM accounts for a user, the UserId column is required. It can be set in the connection string or in the WHERE clause condition. Otherwise, the Sync App will automatically use the Id of the first user from the Users table. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM UserInstantMessagingAccounts
Name | Type | Description |
IM | String | The user's IM network ID. |
UserId | String | The unique identifier for the user. |
Protocol | String | The IM protocol identifies the IM network. |
CustomProtocol | String | The custom type of the IM protcol. |
IsPrimary | String | Indicates if this is the user's primary IM. |
CustomType | String | The custom type of the IM account. |
Type | String | The type of the IM account. |
Query the locations for a user.
To get a list of locations for a user, the UserId column is required. It can be set in the connection string or in the WHERE clause condition. Otherwise, the Sync App will automatically use the Id of the first user from the Users table. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM UserLocations
Name | Type | Description |
Area | String | Textual location of the user. |
UserId | String | The unique identifier for the user. |
BuildingId | String | The building identifier. |
DeskCode | String | The desk location. |
FloorName | String | The floor name/number |
FloorSection | String | The floor section. |
CustomType | String | The custom type of the location. |
Type | String | The type of the location. |
Query the organizations for a user.
To get a list of organizations for a user, the UserId column is required. It can be set in the connection string or in the WHERE clause condition. Otherwise, the Sync App will automatically use the Id of the first user from the Users table. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM UserOrganizations
Name | Type | Description |
Name | String | The name of the organization. |
UserId | String | The unique identifier for the user. |
OrganizationDomain | String | The domain the organization belongs to. |
Department | String | Specifies the department within the organization. |
Description | String | The description of the organization. |
Title | String | The user's title within the organization. |
CostCenter | String | The cost center of the user's organization. |
Location | String | The physical location of the organization. |
IsPrimary | Boolean | Indicates if this is the user's primary organization. |
Symbol | String | Text string symbol of the organization. |
Type | String | Country in the address. |
CustomType | String | If the value of type is custom, this property contains the custom type. |
Query the phone numbers for a user.
To get a list of phones for a user, the UserId column is required. It can be set in the connection string or in the WHERE clause condition. Otherwise, the Sync App will automatically use the Id of the first user from the Users table. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM UserPhones
Name | Type | Description |
PhoneNumber | String | The user's phone number. |
UserId | String | The unique identifier for the user. |
IsPrimary | String | Indicates if this is the user's primary IM. |
CustomType | String | The custom type of the phone number. |
Type | String | The type of the phone number. |
Retrieve a list of the websites of a user.
To get a list of websites for a user, the UserId column is required. It can be set in the connection string or in the WHERE clause condition. Otherwise, the Sync App will automatically use the Id of the first user from the Users table. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM UserWebsites
Name | Type | Description |
URL | String | The URL of the website. |
UserId | String | The unique identifier for the user. |
CustomType | String | The custom type of the website. |
Type | String | The type of the website. |
IsPrimary | Boolean | Indicates if this is the user's primary website or not |
Query verification codes for a user.
To get a current set of valid backup verification codes for a specified user, the UserId column is required. It can be set in the connection string or in the WHERE clause condition. If not specified, the Id of the first user from the Users table will be used. The Sync App processes other queries client-side in memory.
For example, the following query is processed server side by the Google Directory APIs:
SELECT * FROM VerificationCodes
Name | Type | Description |
UserId | String | The unique ID of the user. |
VerificationCode | String | A current verification code for the user. |
Etag | String | Etag of the resource. |
プロパティ | 説明 |
AuthScheme | Google Directory に接続する際に使用する認証の種類。 |
プロパティ | 説明 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
Scope | 初期アクセストークンとリフレッシュトークンを取得するスコープを指定します。 |
プロパティ | 説明 |
OAuthJWTCert | JWT 証明書のストア。 |
OAuthJWTCertType | JWT 証明書を格納するキーストアの種類。 |
OAuthJWTCertPassword | OAuth JWT 証明書のパスワード。 |
OAuthJWTCertSubject | OAuth JWT 証明書のサブジェクト。 |
OAuthJWTIssuer | Java Web Token の発行者。 |
OAuthJWTSubject | アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクト。 |
プロパティ | 説明 |
SSLServerCert | TLS/SSL を使用して接続するときに、サーバーが受け入れ可能な証明書。 |
プロパティ | 説明 |
FirewallType | プロキシベースのファイアウォールで使われるプロトコル。 |
FirewallServer | プロキシベースのファイアウォールの名前もしくはIP アドレス。 |
FirewallPort | プロキシベースのファイアウォールのTCP ポート。 |
FirewallUser | プロキシベースのファイアウォールに認証するために使うユーザー名。 |
FirewallPassword | プロキシベースのファイアウォールへの認証に使われるパスワード。 |
プロパティ | 説明 |
ProxyAutoDetect | これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。 |
ProxyServer | HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。 |
ProxyPort | ProxyServer プロキシが起動しているTCP ポート。 |
ProxyAuthScheme | ProxyServer プロキシへの認証で使われる認証タイプ。 |
ProxyUser | ProxyServer プロキシへの認証に使われるユーザー名。 |
ProxyPassword | ProxyServer プロキシへの認証に使われるパスワード。 |
ProxySSLType | ProxyServer プロキシへの接続時に使用するSSL タイプ。 |
ProxyExceptions | ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
プロパティ | 説明 |
LogModules | ログファイルに含めるコアモジュール。 |
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
プロパティ | 説明 |
CustomerId | Restrict query results to this customer. |
Domain | Restrict queries to this domain. |
GroupId | Restrict query results to this group. |
MaxRows | クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
Pagesize | Google Directory から返されるページあたりの結果の最大数。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UserDefinedViews | カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。 |
UserId | Restrict query results to this user. |
このセクションでは、本プロバイダーの接続文字列で設定可能なAuthentication プロパティの全リストを提供します。
プロパティ | 説明 |
AuthScheme | Google Directory に接続する際に使用する認証の種類。 |
Google Directory に接続する際に使用する認証の種類。
このセクションでは、本プロバイダーの接続文字列で設定可能なOAuth プロパティの全リストを提供します。
プロパティ | 説明 |
OAuthClientId | OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。 |
OAuthClientSecret | OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。 |
Scope | 初期アクセストークンとリフレッシュトークンを取得するスコープを指定します。 |
OAuth 認証サーバーを使用してアプリケーションを登録する場合に割り当てられたクライアントId。
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId 値、およびクライアントシークレットOAuthClientSecret が提供されます。
OAuth 認証サーバーにアプリケーションを登録する場合に割り当てられたクライアントシークレット。
OAuth アプリケーションの登録の一環として、コンシューマキーとも呼ばれるOAuthClientId が提供されます。また、コンシューマーシークレットと呼ばれるクライアントシークレットも提供されます。クライアントシークレットをOAuthClientSecret プロパティに設定します。
初期アクセストークンとリフレッシュトークンを取得するスコープを指定します。
初期アクセストークンとリフレッシュトークンを取得するスコープを指定します。
このセクションでは、本プロバイダーの接続文字列で設定可能なJWT OAuth プロパティの全リストを提供します。
プロパティ | 説明 |
OAuthJWTCert | JWT 証明書のストア。 |
OAuthJWTCertType | JWT 証明書を格納するキーストアの種類。 |
OAuthJWTCertPassword | OAuth JWT 証明書のパスワード。 |
OAuthJWTCertSubject | OAuth JWT 証明書のサブジェクト。 |
OAuthJWTIssuer | Java Web Token の発行者。 |
OAuthJWTSubject | アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクト。 |
JWT 証明書のストア。
クライアント証明書のための証明書ストア名。
OAuthJWTCertType フィールドは、OAuthJWTCert により指定された証明書ストアの種類を指定します。 ストアがパスワードで保護されている場合は、OAuthJWTCertPassword でパスワードを指定します。
OAuthJWTCert は、OAuthJWTCertSubject フィールドとともにクライアント証明書を指定するために使われます。 OAuthJWTCert に値がある場合で、OAuthJWTCertSubject が設定されている場合は、証明書の検索が始まります。 詳しくは、OAuthJWTCertSubject フィールドを参照してください。
証明書ストアの指定はプラットフォームに依存します。
Windows の共通のユーザとシステム証明書ストアの指定は以下のとおりです。
MY | 個人証明書と関連付けられた秘密キーを格納している証明書ストア。 |
CA | 証明機関の証明書。 |
ROOT | ルート証明書。 |
SPC | ソフトウェア発行元証明書。 |
Javaでは、証明書ストアは通常、証明書および任意の秘密キーを含むファイルです。
証明書ストアの種類がPFXFile の場合は、このプロパティにファイル名を設定します。 PFXBlob の場合は、このプロパティをPFX ファイルのバイナリコンテンツ(例えば、PKCS12証明書ストア)に設定する必要があります。
JWT 証明書を格納するキーストアの種類。
このプロパティには次の値の一つを設定できます。
USER | Windows の場合、現在のユーザーにより所有された証明書ストアであることを指定します。 Note:この種類はJava では利用できません。 |
MACHINE | Windows の場合、この証明書ストアがシステムストアであることを指定します。 Note:この種類はJava では利用できません。 |
PFXFILE | この証明書ストアは、証明書を含むPFX(PKCS12)ファイルの名前です。 |
PFXBLOB | この証明書ストアは、PFX(PKCS12)形式の証明書ストアを表すBase-64でエンコードされた文字列です。 |
JKSFILE | この証明書ストアは、証明書を含むJava key store(JKS)ファイルの名前です。 Note:この種類はJava のみで利用できます。 |
JKSBLOB | この証明書ストアは、Java key store(JKS)形式の証明書ストアを表すBase-64でエンコードされた文字列です。 Note:この種類はJava のみで利用できます。 |
PEMKEY_FILE | この証明書ストアは、秘密キーと任意の証明書を含むPEM でエンコードされたファイルの名前です。 |
PEMKEY_BLOB | この証明書ストアは、秘密キーと任意の証明書を含むBase-64でエンコードされた文字列です。 |
PUBLIC_KEY_FILE | この証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むファイルの名前です。 |
PUBLIC_KEY_BLOB | この証明書ストアは、PEM またはDER でエンコードされた公開キーの証明書を含むBase-64でエンコードされた文字列です。 |
SSHPUBLIC_KEY_FILE | この証明書ストアは、SSH 公開キーを含むファイルの名前です。 |
SSHPUBLIC_KEY_BLOB | この証明書ストアは、SSH 公開キーを含むBase-64でエンコードされた文字列です。 |
P7BFILE | この証明書ストアは、証明書を含むPKCS7 ファイルの名前です。 |
PPKFILE | この証明書ストアは、PuTTY 秘密キー(PPK)を含むファイルの名前です。 |
XMLFILE | この証明書ストアは、XML 形式の証明書を含むファイルの名前です。 |
XMLBLOB | この証明書ストアは、XML 形式の証明書を含む文字列の名前です。 |
GOOGLEJSON | この証明書ストアは、サービスアカウント情報を含むJSON ファイルの名前です。Google サービスに接続する場合にのみ有効です。 |
GOOGLEJSONBLOB | この証明書ストアは、サービスアカウントのJSON を含む文字列です。Google サービスに接続する場合にのみ有効です。 |
OAuth JWT 証明書のパスワード。
証明書ストアでパスワードが必要である場合、このプロパティを使用してパスワードを指定し、証明書ストアにアクセスできます。
GOOGLEJSON OAuthJWTCertType を使用する場合は必要ありません。Google JSON キーは暗号化されていません。
OAuth JWT 証明書のサブジェクト。
証明書のサブジェクトは、証明書をロードするときにストア内の証明書を検索するために使用されます。
完全に一致するものが見つからない場合、ストアはプロパティの値を含むサブジェクトを検索します。
それでも一致するものが見つからない場合、プロパティは空白で設定され、証明書は選択されません。
"*" に設定すると、証明書ストアの1番目の証明書が選択されます。
証明書のサブジェクトは識別の名前フィールドおよび値のカンマ区切りのリストです。 例えば、"CN=www.server.com, OU=test, C=US, [email protected]"。共通のフィールドとその説明は以下のとおりです。
フィールド | 説明 |
CN | 共通名。一般的には、www.server.com のようなホスト名です。 |
O | 法人名 |
OU | 法人の部署名 |
L | 法人の住所(市町村名) |
S | 法人の住所(都道府県) |
C | 国名 |
E | Eメールアドレス |
フィールド値にカンマが含まれている場合は、それを引用符で囲む必要があります。
Java Web Token の発行者。
Java Web Token の発行者。通常は、OAuth アプリケーションのクライアントId またはE メールアドレスとなります。
GOOGLEJSON OAuthJWTCertType を使用する場合は必要ありません。Google JSON キーには、発行者アカウントのコピーが含まれています。
アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクト。
アプリケーションからデリゲートアクセスの要求対象となるユーザーサブジェクトです。通常は、ユーザーのアカウント名またはE メールアドレスとなります。
このセクションでは、本プロバイダーの接続文字列で設定可能な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 | プロキシベースのファイアウォールで使われるプロトコル。 |
FirewallServer | プロキシベースのファイアウォールの名前もしくはIP アドレス。 |
FirewallPort | プロキシベースのファイアウォールのTCP ポート。 |
FirewallUser | プロキシベースのファイアウォールに認証するために使うユーザー名。 |
FirewallPassword | プロキシベースのファイアウォールへの認証に使われるパスワード。 |
プロキシベースのファイアウォールで使われるプロトコル。
このプロパティは、Sync App がFirewallServer プロキシ経由でトンネルトラフィックを使うためのプロトコルを指定します。デフォルトでは、Sync App はシステムプロキシに接続します。この動作を無効化し次のプロキシタイプのどれかで接続するには、ProxyAutoDetect をfalse に設定します。
タイプ | デフォルトポート | 説明 |
TUNNEL | 80 | これが設定されている場合、Sync App はGoogle Directory への接続を開き、プロキシを経由して通信が行われます。 |
SOCKS4 | 1080 | これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 4 プロキシ経由で送信し、接続リクエストが許容されるかどうかを決定します。 |
SOCKS5 | 1080 | これが設定されている場合、Sync App はデータをFirewallServer およびFirewallPort で指定されたSOCS 5 プロキシ経由で送信します。プロキシに認証が必要な場合には、FirewallUser およびFirewallPassword をプロキシが認識する認証情報に設定します。 |
HTTP プロキシへの接続には、ProxyServer およびProxyPort ポートを使ってください。HTTP プロキシへの認証には、ProxyAuthScheme、ProxyUser、およびProxyPassword を使ってください。
プロキシベースのファイアウォールの名前もしくはIP アドレス。
ファイアウォールトラバーサルを許容するために設定するIP アドレス、DNS 名、もしくはプロキシホスト名を指定するプロパティです。プロトコルはFirewallType で指定されます。このプロパティとFirewallServer を使って、SOCKS 経由での接続、もしくはトンネリングが可能です。HTTP プロキシへの接続には、ProxyServer を使用します。
Sync App はデフォルトでシステムプロキシを使うので注意してください。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定してください。
プロキシベースのファイアウォールのTCP ポート。
ファイアウォールトラバーサルを許容するために設定するプロキシベースのファイアウォールのTCP ポート。名前もしくはIP アドレスを指定するには、FirewallServer を使います。FirewallType でプロトコルを指定します。
プロキシベースのファイアウォールに認証するために使うユーザー名。
FirewallUser およびFirewallPassword プロパティは、FirewallType により指定された認証方式に則り、FirewallServer、およびFirewallPort で指定されたプロキシに対しての認証に使われます。
プロキシベースのファイアウォールへの認証に使われるパスワード。
このプロパティは、FirewallType により指定された認証メソッドに則り、FirewallServer およびFirewallPort で指定されたプロキシに渡されます。
このセクションでは、本プロバイダーの接続文字列で設定可能なProxy プロパティの全リストを提供します。
プロパティ | 説明 |
ProxyAutoDetect | これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。 |
ProxyServer | HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。 |
ProxyPort | ProxyServer プロキシが起動しているTCP ポート。 |
ProxyAuthScheme | ProxyServer プロキシへの認証で使われる認証タイプ。 |
ProxyUser | ProxyServer プロキシへの認証に使われるユーザー名。 |
ProxyPassword | ProxyServer プロキシへの認証に使われるパスワード。 |
ProxySSLType | ProxyServer プロキシへの接続時に使用するSSL タイプ。 |
ProxyExceptions | ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。 |
これは、システムプロキシ設定を使用するかどうかを示します。これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
これは他のプロキシ設定よりも優先されるため、カスタムプロキシ設定を使用するにはProxyAutoDetect をFALSE に設定する必要があります。
HTTP プロキシへの接続には、ProxyServer を参照してください。SOCKS やトンネリングなどの他のプロキシには、FirewallType を参照してください。
HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。
HTTP トラフィックをルートするためのプロキシのホストネームもしくはIP アドレス。HTTP プロキシへの認証には、Sync App はHTTP、Windows(NTLM)、もしくはKerberos 認証タイプを使用することができます。
SOCKS プロキシを経由して接続する、もしくは接続をトンネルするには、FirewallType を参照してください。
デフォルトで、Sync App はsystem プロキシを使います。他のプロキシを使う場合には、ProxyAutoDetect をfalse に設定します。
ProxyServer プロキシが起動しているTCP ポート。
HTTP トラフィックをリダイレクトするHTTP プロキシが実行されているポート。ProxyServer でHTTP プロキシを指定します。その他のプロキシタイプについては、FirewallType を参照してください。
ProxyServer プロキシへの認証で使われる認証タイプ。
この値は、ProxyServer およびProxyPort で指定されるHTTP プロキシに認証するために使われる認証タイプを指定します。
Sync App は、デフォルトでsystem proxy settings を使い、追加での設定が不要です。他のプロキシへの接続をする場合には、ProxyServer およびProxyPort に加え、ProxyAutoDetect をfalse に設定します。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。
認証タイプは、次のどれかになります。
SOCKS 5 認証のような他の認証タイプを使用するには、FirewallType を参照してください。
ProxyServer プロキシへの認証に使われるユーザー名。
ProxyUser および ProxyPassword オプションは、ProxyServer で指定されたHTTP プロキシに対して接続および認証するために使用されます。
ProxyAuthScheme で使用可能な認証タイプを選択することができます。HTTP 認証を使う場合、これをHTTP プロキシで識別可能なユーザーのユーザー名に設定します。Windows もしくはKerberos 認証を使用する場合、このプロパティを次の形式のどれかでユーザー名に設定します。
user@domain domain\user
ProxyServer プロキシへの認証に使われるパスワード。
このプロパティは、NTLM(Windows)、Kerberos、もしくはHTTP 認証をサポートするHTTP プロキシサーバーに認証するために使われます。HTTP プロキシを指定するためには、ProxyServer およびProxyPort を設定します。認証タイプを指定するためにはProxyAuthScheme を設定します。
HTTP 認証を使う場合、さらにHTTP プロキシにProxyUser およびProxyPassword を設定します。
NTLM 認証を使う場合、Windows パスワードにProxyUser およびProxyPassword を設定します。Kerberos 認証には、これらを入力する必要があります。
SOCKS 5 認証もしくは、トンネリングは、FirewallType を参照してください。
デフォルトで、Sync App はsystem プロキシを使います。他のプロキシに接続する場合には、これをfalse に設定します。
ProxyServer プロキシへの接続時に使用するSSL タイプ。
このプロパティは、ProxyServer で指定されたHTTP プロキシへの接続にSSL を使用するかどうかを決定します。この値は、AUTO、ALWAYS、NEVER、TUNNEL のいずれかです。有効な値は次のとおりです。
AUTO | デフォルト設定。URL がHTTPS URL の場合、Sync App は、TUNNEL オプションを使います。URL がHTTP URL の場合、コンポーネントはNEVER オプションを使います。 |
ALWAYS | 接続は、常にSSL 有効となります。 |
NEVER | 接続は、SSL 有効になりません。 |
TUNNEL | 接続は、トンネリングプロキシを経由します。プロキシサーバーがリモートホストへの接続を開き、プロキシを経由して通信が行われます。 |
ProxyServer 経由での接続が免除される宛先ホスト名またはIP のセミコロン区切りのリスト。
ProxyServer は、このプロパティで定義されたアドレスを除くすべてのアドレスに使用されます。セミコロンを使用してエントリを区切ります。
Sync App は、追加設定なしにデフォルトでシステムのプロキシ設定を使います。この接続のプロキシ例外を明示的に構成するには、ProxyAutoDetect をfalse に設定して、ProxyServer およびProxyPort を設定する必要があります。認証するには、ProxyAuthScheme を設定し、必要な場合にはProxyUser およびProxyPassword を設定します。
ログファイルに含めるコアモジュール。
指定された(';' で区切られた)モジュールのみがログファイルに含まれます。デフォルトではすべてのモジュールが含まれます。
概要はログ ページを参照してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なSchema プロパティの全リストを提供します。
プロパティ | 説明 |
Location | テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。 |
BrowsableSchemas | このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。 |
Tables | このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。 |
Views | 使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。 |
テーブル、ビュー、およびストアドプロシージャを定義するスキーマファイルを格納するディレクトリへのパス。
Sync App のスキーマファイル(テーブルとビューの場合は.rsd ファイル、ストアドプロシージャの場合は.rsb ファイル)を含むディレクトリへのパス。このフォルダの場所は、実行ファイルの場所からの相対パスにすることができます。Location プロパティは、定義をカスタマイズしたり(例えば、カラム名を変更する、カラムを無視するなど)、新しいテーブル、ビュー、またはストアドプロシージャでデータモデルを拡張する場合にのみ必要です。
指定しない場合、デフォルトの場所は"%APPDATA%\\CData\\GoogleDirectory Data Provider\\Schema" となり、%APPDATA% はユーザーのコンフィギュレーションディレクトリに設定されます:
このプロパティは、使用可能なスキーマのサブセットにレポートされるスキーマを制限します。例えば、BrowsableSchemas=SchemaA,SchemaB,SchemaC です。
スキーマをデータベースからリストすると、負荷がかかる可能性があります。接続文字列でスキーマのリストを提供すると、 パフォーマンスが向上します。
このプロパティは、使用可能なテーブルのサブセットにレポートされるテーブルを制限します。例えば、Tables=TableA,TableB,TableC です。
テーブルを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でテーブルのリストを提供すると、Sync App のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいテーブルを指定します。各テーブルは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
使用可能なテーブルのサブセットにレポートされるビューを制限します。例えば、Views=ViewA,ViewB,ViewC です。
ビューを複数のデータベースからリストすると、負荷がかかる可能性があります。接続文字列でビューのリストを提供すると、Sync App のパフォーマンスが向上します。
このプロパティは、作業したいビューがすでにわかっていて、ビューが多すぎる場合に、ビューを自動的にリストする代わりに使用することもできます。
カンマ区切りのリストで使用したいビューを指定します。各ビューは、角かっこ、二重引用符、またはバッククオートを使用してエスケープされた特殊文字列を含む有効なSQL 識別子である必要があります。 例えば、Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space` です。
複数のスキーマまたはカタログを持つデータソースに接続する場合は、複数のカタログやスキーマに存在するテーブル間の曖昧さを避けるため、最後の例のように、このプロパティにテーブルの完全修飾名を指定する必要があることに注意してください。
このセクションでは、本プロバイダーの接続文字列で設定可能なMiscellaneous プロパティの全リストを提供します。
プロパティ | 説明 |
CustomerId | Restrict query results to this customer. |
Domain | Restrict queries to this domain. |
GroupId | Restrict query results to this group. |
MaxRows | クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。 |
Other | これらの隠しプロパティは特定のユースケースでのみ使用されます。 |
Pagesize | Google Directory から返されるページあたりの結果の最大数。 |
PseudoColumns | このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。 |
Timeout | タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。 |
UserDefinedViews | カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。 |
UserId | Restrict query results to this user. |
Restrict query results to this customer.
This property can be set in the connection string or query. Otherwise, the Sync App will use the Customer Id of the authenticated user. You can also get this value from the Users table.
Restrict queries to this domain.
The domain name (e.g., cdata.com). Use this connection property to get results from only one domain.
Restrict query results to this group.
This property must be set in the connection string or query. Otherwise, the Sync App will use the first found Group Id. You can get this value from the Groups table.
クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
クエリで集計またはグループ化を使用しない場合に返される行数を制限します。これにより、設計時にパフォーマンスの問題を回避できます。
これらの隠しプロパティは特定のユースケースでのみ使用されます。
以下にリストされているプロパティは、特定のユースケースで使用可能です。通常のドライバーのユースケースおよび機能では、これらのプロパティは必要ありません。
複数のプロパティをセミコロン区切りリストで指定します。
DefaultColumnSize | データソースがメタデータにカラムの長さを提供しない場合に、文字列フィールドのデフォルトの長さを設定します。デフォルト値は2000です。 |
ConvertDateTimeToGMT | 日時の値を、マシンのローカルタイムではなくGMT グリニッジ標準時に変換するかどうかを決定します。 |
RecordToFile=filename | 基底のソケットデータ転送を指定のファイルに記録します。 |
Google Directory から返されるページあたりの結果の最大数。
Pagesize プロパティは、Google Directory から返されるページあたりの結果の最大数に影響を与えます。より大きい値を設定すると、1ページあたりの消費メモリが増える代わりに、パフォーマンスが向上する場合があります。
このプロパティは、テーブルのカラムとして疑似カラムが含まれているかどうかを示します。
Entity Framework ではテーブルカラムでない疑似カラムに値を設定できないため、この設定はEntity Framework で特に便利です。この接続設定の値は、"Table1=Column1, Table1=Column2, Table2=Column3" の形式です。"*=*" のように"*" 文字を使用して、すべてのテーブルとすべてのカラムを含めることができます。
タイムアウトエラーがスローされ、処理をキャンセルするまでの秒数。
Timeout が0に設定されている場合は、操作がタイムアウトしません。処理が正常に完了するか、エラー状態になるまで実行されます。
Timeout の有効期限が切れても処理が完了していない場合は、Sync App は例外をスローします。
カスタムビューを含むJSON コンフィギュレーションファイルを指すファイルパス。
ユーザー定義ビューは、UserDefinedViews.json というJSON 形式のコンフィギュレーションファイルで定義されています。Sync App は、このファイルで指定されたビューを自動的に検出します。
また、複数のビュー定義を持ち、UserDefinedViews 接続プロパティを使用して制御することも可能です。このプロパティを使用すると、指定されたビューのみがSync App によって検知されます。
このユーザー定義ビューのコンフィギュレーションファイルは、次のようにフォーマットされています。
次に例を示します。
{ "MyView": { "query": "SELECT * FROM Group WHERE MyColumn = 'value'" }, "MyView2": { "query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)" } }UserDefinedViews 接続プロパティを使用して、JSON コンフィギュレーションファイルの場所を指定します。次に例を示します。
"UserDefinedViews", "C:\\Users\\yourusername\\Desktop\\tmp\\UserDefinedViews.json"
Restrict query results to this user.
The Id of the user. If not specified, the first user from the Users table will be used.