Google Cloud Search を設定すると、Google Workspace のコンテンツに加えて、組織の Microsoft Windows 共有から結果を返すことができます。Google Cloud Search File Systems コネクタを使用して、指定した Windows 共有にアクセスするように構成します。1 つのコネクタ インスタンスで複数の Microsoft Windows 共有をサポートできます。
重要な考慮事項
継続的な自動更新
デフォルトでは、コネクタは起動時に開始パス(コネクタ構成ファイルの fs.src
の値)を継続的にモニタリングします。ファイル システムがコンテンツまたはアクセス制御の変更を報告すると、コネクタがトリガーされ、ファイル システムが再クロールされます。この再クロールでは、リソースを大量に消費する可能性があります。ファイル システムのモニタリングを無効にするには、fs.monitorForUpdates
を false
に設定します。コネクタのリソース使用量が大幅に減少しますが、コネクタが変更を反映するまでに時間がかかります。詳細
DFS のアクセス制御
DFS システムはリンクにアクセス制御を適用し、通常は各 DFS リンクに独自の ACL があります。DFS で使用されるメカニズムの 1 つがアクセスベースの列挙(ABE)です。これにより、ユーザーに返される DFS リンクを制限できます。ユーザーには DFS リンクのサブセットのみが表示される場合があります。ABE がホストされているホーム ディレクトリを分離している場合は、1 つのリンクしか表示されないこともあります。コネクタが DFS システムを走査すると、コネクタは DFS リンク ACL とターゲットの共有 ACL を尊重します。共有 ACL は DFS ACL から継承されます。
既知の制限事項
- ファイル システム: File Systems コネクタは、マッピングされたドライブとローカル ドライブをサポートしていません。
- 分散ファイル システム: UNC DFS にマッピングされたドライブは正しく機能しません。一部の ACL が正しく読み取られません。
- File Systems コネクタは、分散ファイル システム(DFS)の名前空間とリンクをサポートしています。ただし、コネクタでサポートされているのは DFS 名前空間内の DFS リンクのみで、DFS 名前空間内の通常のフォルダはサポートされていません。
- cloudsearch.google.com で返されたファイルリンクはクリックできません。Query API から返されたファイルリンクも、ほとんどのブラウザではクリックできません。
システム要件
システム要件 | |
---|---|
オペレーティング システム |
|
ソフトウェア |
|
ファイル システム プロトコル |
サポート対象外: ローカル Windows ファイル システム、Sun ネットワーク ファイル システム(NFS)2.0、Sun ネットワーク ファイル システム(NFS)3.0、ローカル Linux ファイル システム。 |
コネクタをデプロイする
前提条件
Cloud Search File Systems コネクタをデプロイする前に、次に示す前提条件となるコンポーネントがすべて環境にあることを確認してください。
Google Cloud Search とデータソースの関係を確立するために必要な Google Workspace 情報:
- Google Workspace の秘密鍵(サービス アカウント ID を含む)。秘密鍵を取得する方法については、 Google Cloud Search REST API へのアクセスを構成するをご覧ください。
- Google Workspace データソース ID。データソース ID の取得方法については、検索対象のデータソースを追加するをご覧ください。
- ID ソース ID。ID ソース ID の取得方法については、ID ソースを作成するをご覧ください。Google Workspace ディレクトリを Active Directory と同期する場合は、GCDS を使用して ID ソースを設定します。
通常、これらの認証情報は組織の Google Workspace 管理者から取得できます。
次のセクションで説明するように、Windows アカウントに十分な権限がある。
必要な Microsoft Windows アカウントの権限
コネクタを実行する Microsoft Windows アカウントには、次の操作を行うための十分な権限が必要です。
- フォルダの内容を一覧表示する
- ドキュメントの内容を読み取る
- ファイルやフォルダの属性を読み取る
- ファイルとフォルダ両方の権限(ACL)を読み取る
- 基本属性を書き込む
次のいずれかのグループのメンバーになると、コネクタで必要となる十分な権限が Windows アカウントに付与されます。
- 管理者
- Power Users
- Print Operators
- Server Operators
ステップ 1. Google Cloud Search File Systems コネクタをインストールする
GitHub からコネクタ リポジトリを取得してビルドします。
Windows サーバーで git を使用するには:
リポジトリのクローンを作成します。
> git clone https://github.com/google-cloudsearch/windows-filesystems-connector.git > cd windows-filesystems-connector
希望するバージョンのコネクタをチェックアウトします。
> git checkout tags/v1-0.0.3
GitHub から直接ダウンロードするには:
- https://github.com/google-cloudsearch/windows-filesystems-connector に移動します。
- [Clone or download] [Download zip] をクリックします。
- パッケージを解凍します。
- 新しいディレクトリに移動します。
> cd windows-filesystems-connector
コネクタをビルドします。必要に応じて、Apache Maven をインストールします。
> mvn package
コネクタをビルドするときにテストをスキップするには、
mvn package
の代わりにmvn package -DskipTests
を実行します。コネクタ zip ファイルをローカルのインストール ディレクトリにコピーします。
> cp target/google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip installation-dir > cd installation-dir > unzip google-cloudsearch-windows-filesystems-connector-v1-0.0.3.zip > cd google-cloudsearch-windows-filesystems-connector-v1-0.0.3
ステップ 2. コネクタ構成ファイルを作成する
コネクタのインストールと同じディレクトリにファイルを作成し、
connector-config.properties
という名前を付けます。次の例のように、パラメータを Key-Value ペアとしてファイルの内容に追加します。
### File system connector configuration ### # Required parameters for Cloud Search data source and identity source access api.serviceAccountPrivateKeyFile=/path/to/file.json api.sourceId=0123456789abcde api.identitySourceId=a1b1c1234567 # Required parameters for file system access fs.src=\\\\host\\share;\\\\dfshost\\dfsnamespace;\\\\dfshost\\dfsnamespace\\link # Optional parameters for file system monitoring traverse.abortAfterExceptions=500 fs.monitorForUpdates = true fs.preserveLastAccessTime = IF_ALLOWED
各パラメータの詳細については、 構成パラメータのリファレンスをご覧ください。
(省略可)必要に応じて、他のコネクタ パラメータを構成します。詳細については、Google 提供のコネクタ パラメータをご覧ください。
ステップ 3. ロギングを有効にする
- コネクタ バイナリを含むディレクトリに
logs
という名前のフォルダを作成します。 コネクタ バイナリを含むディレクトリに
logging.properties
という名前の ASCII または UTF-8 ファイルを作成し、次の内容を追加します。handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler # Default log level .level = WARNING com.google.enterprise.cloudsearch.level = INFO com.google.enterprise.cloudsearch.fs.level = INFO # uncomment line below to increase logging level to enable API trace #com.google.api.client.http.level = FINE java.util.logging.ConsoleHandler.level = INFO java.util.logging.FileHandler.pattern=logs/connector-fs.%g.log java.util.logging.FileHandler.limit=10485760 java.util.logging.FileHandler.count=10 java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
ステップ 4. (省略可)メディアタイプを設定する
デフォルトでは、コネクタは JDK が提供するメディア タイプ検出機能を使用して、各ファイルのメディア タイプを検出しようとします。Microsoft Windows では、JDK は Windows レジストリに基づいてファイルのメディアタイプを特定します。レジストリ エントリがない場合、特定のファイルのメディアタイプが null になることがあります。
必要に応じて、既存のバインディングを上書きするメディアタイプを指定したり、null メディアタイプを防いだりできます。
- コネクタ ディレクトリに、Latin-1 で暗号化された
mime-type.properties
という名前のファイルを作成します。 次の例のように、ファイル拡張子と対応するメディアタイプを入力します。
xlsx=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet one=application/msonenote txt=text/plain pdf=application/pdf
ステップ 5: File Systems コネクタを実行する
File Systems コネクタをインストールして構成したら、ホストマシンで起動するには、次の例のようなコマンドを実行します。
> java -jar google-cloudsearch-windows-filesystems-connector-v1-0.0.3.jar -Djava.util.logging.config.file=logging.properties[ -Dconfig=my.config]
構成ファイルのパスがデフォルトと異なる場合は、そのパスを指定します(connector-config.properties
という名前のバイナリと同じディレクトリに配置します)。
構成パラメータのリファレンス
データソース アクセス
設定 | パラメータ |
データソースの ID | api.sourceId=1234567890abcdef
必須。Google Workspace 管理者がセットアップした、Google Cloud Search ソースの ID。 |
サービス アカウントの秘密鍵ファイルへのパス | api.serviceAccountPrivateKeyFile=./PrivateKey.json
必須。Google Cloud Search File Systems コネクタへのアクセスに必要な Google Cloud Search サービス アカウント キー ファイル。 |
ID ソースの ID | api.identitySourceId=x0987654321
必須。GCDS を使用して Active Directory の ID を同期するために、Google Workspace 管理者がセットアップした Cloud Search ID ソースの ID。 |
ファイル システムへのアクセス
設定 | パラメータ |
ソース ファイル システム | fs.src=path1[,path2, ...]
必須。ソース ファイル システムを、 |
パス区切り文字
設定 | パラメータ |
パス区切り文字 | fs.src.separator=separator-character
デフォルトの区切り文字は「;」です。ソースパスにセミコロンが含まれている場合は、パス内の文字と競合せず、プロパティ ファイルの構文自体で予約されていない別の区切り文字(カンマ(,)など)を設定できます。
|
コネクタの動作
設定 | パラメータ |
Windows ドメイン | fs.supportedDomain=domain
GCDS を使用して設定されたユーザーが Cloud Search を介してドキュメントにアクセスできるようにするために必要です。Active Directory の単一の NetBIOS ドメイン名として指定します。 |
ACL にアカウントを含める | fs.supportedAccounts=account-1[, account-2,...]
組み込みアカウントであるかどうかにかかわらず、ACL に含めるアカウントのカンマ区切りリスト。 デフォルト値は |
ACL から組み込みアカウントを除外する | fs.builtinGroupPrefix=prefix
組み込みアカウントの接頭辞を指定します。この接頭辞で始まるアカウントは組み込みアカウントとみなされ、ACL から除外されます。 デフォルト値は |
隠しファイルと隠しフォルダのインデックス登録を許可する | fs.crawlHiddenFiles=boolean
|
クロールされたフォルダ一覧と DFS 名前空間列挙のインデックス登録を許可する | fs.indexFolders=boolean
|
ファイル システムの変更モニタリングを有効にする | fs.monitorForUpdates=boolean
|
ディレクトリのキャッシュの最大サイズを設定する | fs.directoryCacheSize=number-of-entries
ディレクトリ キャッシュの最大サイズ。コネクタはキャッシュを使用して隠しフォルダを識別し、隠しフォルダ内のファイルとフォルダのインデックス登録を回避します。 デフォルトは 50,000 エントリで、通常は 10 ~ 15 メガバイトの RAM を消費します。 |
タイムスタンプの保持とクロール制御
設定 | パラメータ |
最終アクセス タイムスタンプを保持する | fs.preserveLastAccessTime=value
コネクタがファイルとフォルダをクロールすると、ファイルとフォルダの最終アクセス タイムスタンプがクロール時刻に変更される場合があります。最終アクセス時刻が保持されていない場合、バックアップ システムとアーカイブ システムは、コネクタのアクセスが原因で、適切なファイルとフォルダをセカンダリ ストレージに移動しない可能性があります。 デフォルトでは、コネクタは最終アクセス時刻を保持しようとします( 考えられる値は次のとおりです。
|
特定の日付以降にアクセスされたファイルのみをクロールする | fs.lastAccessedDate=YYYY-MM-DD
最終アクセス日時が指定した日付より後の場合のみ、コンテンツをクロールします。デフォルト値は 日付は ISO8601 日付形式(YYYY-MM-DD)で指定します。たとえば、値が 2010-01-01 の場合、コネクタは 2010 年の初め以降にアクセスされたコンテンツのみをクロールします。
|
過去の日数以内にアクセスされたファイルのみをクロールする | fs.lastAccessedDays=number-of-days
最終アクセス日時が指定した日数以内の場合のみ、コンテンツをクロールします。デフォルト値は このプロパティを使用すると、以前にインデックス登録されたコンテンツがしばらくアクセスされていない場合、そのコンテンツを期限切れにできます。たとえば、365 に設定すると、過去 1 年間にアクセスされたコンテンツのみがクロールされます。
|
特定の日付以降に変更されたファイルのみをクロールする | fs.lastModifiedDate=YYYY-MM-DD
最終更新日時が指定された日付より後の場合のみ、コンテンツをクロールします。デフォルト値は 日付は ISO8601 日付形式(YYYY-MM-DD)で指定します。たとえば、値が 2010-01-01 の場合、コネクタは 2010 年の初め以降に変更されたコンテンツのみをクロールします。
|
過去数日以内に変更されたファイルのみをクロールする | fs.lastModifiedDays=number-of-days
最終更新日が指定した日数以内である場合にのみコンテンツをクロールします。デフォルト値は このプロパティは、以前にインデックス登録されたコンテンツがしばらく変更されていない場合に期限切れにするために使用します。たとえば、365 に設定すると、過去 1 年間に変更されたコンテンツのみがクロールされます。
|
ファイル共有のアクセス制御をスキップする
デフォルトでは、コネクタは、ファイル共有の ACL など、アクセス制御リスト(ACL)をインデックス API に送信するときにアクセス制御の整合性を維持します。ただし、構成によっては、コネクタに共有 ACL を読み取る十分な権限がない場合があります。このような場合、コネクタは、そのファイル共有に保持されているファイルを検索結果に返しません。
共有 ACL を無視するようにコネクタを設定すると、コンテンツが常に検索結果に返されるようになります。この場合、インデックス API は実際の共有 ACL ではなく、まったく制限のない共有 ACL を取得します。
設定 | パラメータ |
ファイル共有のアクセス制御をスキップする | fs.skipShareAccessControl=boolean
共有 ACL を適用するには、 |