Google Workspace のコンテンツに加えて、組織の Microsoft Windows 共有からも結果を返すように Google Cloud Search を設定できます。Google Cloud Search File Systems コネクタを使用して、指定した Windows 共有にアクセスできるように構成します。1 つのコネクタ インスタンスで複数の Microsoft Windows 共有をサポートできます。
重要な考慮事項
継続的な自動更新
デフォルトでは、コネクタは起動時に開始パス(コネクタ構成ファイル内の fs.src
の値)を継続的にモニタリングします。ファイル システムからコンテンツやアクセス制御の変更が報告されると、コネクタがトリガーされ、ファイル システムの再クロールが行われます。この再クロールはリソースを大量に消費する可能性があります。ファイル システムのモニタリングを無効にするには、fs.monitorForUpdates
を false
に設定します。コネクタのリソース使用量は大幅に削減されますが、コネクタに変更が反映されるまでに時間がかかる。詳細
DFS のアクセス制御
DFS システムはそのリンクにアクセス制御を適用します。通常、各 DFS リンクには独自の ACL があります。DFS が使用するメカニズムの一つに、ユーザーに返される DFS リンクを制限するアクセスベースの列挙(ABE)があります。ユーザーには、DFS リンクのサブセットのみ、または ABE がホストされたホーム ディレクトリを分離する場合に 1 つのリンクしか取得されない可能性があります。コネクタが DFS システムを走査する際、コネクタは DFS リンク ACL とターゲットの共有 ACL を尊重し、共有 ACL は DFS ACL を継承します。
既知の制限事項
- ファイル システム: ファイル システム コネクタは、マッピングされたドライブとローカル ドライブをサポートしていません。
- 分散ファイル システム: UNC DFS にマッピングされたドライブは正しく機能しません。一部の ACL が正しく読み取られません。
- ファイル システム コネクタは、分散ファイル システム(DFS)の名前空間とリンクをサポートしています。ただし、コネクタは DFS 名前空間内の DFS リンクのみをサポートし、DFS 名前空間内の通常のフォルダはサポートしません。
- cloudsearch.google.com で返されたファイルのリンクはクリックできません。Query API から返されるファイルリンクは、ほとんどのブラウザでもクリックできません。
システム要件
システム要件 | |
---|---|
OS |
|
ソフトウェア |
|
ファイル システム プロトコル |
サポート対象外: ローカル Windows ファイル システム、Sun Network File System(NFS)2.0、Sun Network File System(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 のメディアタイプを防止するメディアタイプを指定できます。
- コネクタ ディレクトリに、
mime-type.properties
という名前の Latin-1 暗号化ファイルを作成します。 次の例に示すように、ファイル拡張子とそれに対応するメディアタイプを入力します。
xlsx=application/vnd.openxmlformats-officedocument.spreadsheetml.sheet one=application/msonenote txt=text/plain pdf=application/pdf
ステップ 5: ファイル システム コネクタを実行する
ファイル システム コネクタをインストールして構成した後、ホストマシンで起動するには、次のようなコマンドを実行します。
> 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
必須。Google Workspace 管理者がセットアップした Cloud Search ID ソースの ID。GCDS を使用して Active Directory の 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 MB の RAM を消費します。 |
タイムスタンプの保持とクロールの制御
設定 | パラメータ |
最終アクセス タイムスタンプを保持する | fs.preserveLastAccessTime=value
コネクタはファイルとフォルダをクロールする際に、ファイルとフォルダの最終アクセス タイムスタンプをクロール時刻に変更します。最終アクセス時間が保持されていない場合、バックアップ システムやアーカイブ システムでは、コネクタへのアクセスが原因で、適切なファイルとフォルダがセカンダリ ストレージに移動されないことがあります。 デフォルトでは、コネクタは最終アクセス日時を保持しようとします( 考えられる値は次のとおりです。
|
特定の日付以降にアクセスされたファイルのみをクロールする | fs.lastAccessedDate=YYYY-MM-DD
最終アクセス時間が指定した日付より後である場合にのみ、コンテンツをクロールします。デフォルト値は 日付は ISO8601 日付形式(YYYY-MM-DD)で指定します。たとえば、値が 2010-01-01 の場合、コネクタは 2010 年の初め以降にアクセスされたコンテンツのみをクロールします。
|
過去数日以内にアクセスされたファイルのみをクロールする | fs.lastAccessedDays=number-of-days
最終アクセス日時が現時点までの日数以内の場合にのみ、コンテンツをクロールします。デフォルト値は このプロパティを使用して、しばらくアクセスされていない以前にインデックスに登録されたコンテンツを期限切れにします。たとえば、過去 1 年間にアクセスした場合にのみコンテンツをクロールするには、365 に設定します。
|
特定の日付以降に変更されたファイルのみをクロールする | fs.lastModifiedDate=YYYY-MM-DD
最終更新日時が指定した日付より後の場合のみコンテンツをクロールします。デフォルト値は 日付は ISO8601 日付形式(YYYY-MM-DD)で指定します。たとえば、値が 2010-01-01 の場合、コネクタは 2010 年の開始以降に変更されたコンテンツのみをクロールします。
|
過去数日以内に変更されたファイルのみをクロールする | fs.lastModifiedDays=number-of-days
最終更新日時が現在までの日数以内の場合にのみ、コンテンツをクロールします。デフォルト値は このプロパティを使用すると、以前にインデックスに登録されたコンテンツのうち、しばらく変更されていないものが期限切れになります。たとえば、過去 1 年間に変更された場合にのみコンテンツをクロールするには、365 に設定します。
|
ファイル共有のアクセス制御をスキップする
デフォルトでは、コネクタはアクセス制御リスト(ACL)をインデックス API に送信するときにアクセス制御リスト(ファイル共有の ACL を含む)を保持します。ただし、設定によっては、共有 ACL の読み取りに必要な権限がコネクタにない可能性があります。この場合、そのファイル共有で管理されているファイルはコネクタから返されません。
コンテンツが常に検索結果にコンテンツを返すように、共有 ACL を無視するようにコネクタを設定できます。この場合、Indexing API は実際の共有 ACL ではなく、完全に制限の緩い共有 ACL を取得します。
設定 | パラメータ |
ファイル共有のアクセス制御をスキップする | fs.skipShareAccessControl=boolean
共有 ACL を適用するには、 |