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 が使用するメカニズムの 1 つとして、アクセスベースの列挙(ABE)があります。これにより、ユーザーに返される DFS リンクを制限できます。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、Local 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. 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 に移動します。
- [クローンまたはダウンロード] [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
必須。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
コンテンツをクロールできるのは、最終アクセス時間が現在の日数よりも長い場合に限られます。デフォルト値は このプロパティを使用すると、しばらくの間アクセスされていない、以前にインデックスに登録されたコンテンツが期限切れになります。たとえば、過去 1 年間にアクセスされた場合にのみコンテンツをクロールするように、365 に設定します。
|
特定の日付以降に変更されたファイルのみをクロールする | fs.lastModifiedDate=YYYY-MM-DD
最終更新日時が指定した日付より後の場合のみ、コンテンツをクロールします。デフォルト値は 日付は ISO8601 形式の日付(YYYY-MM-DD)で指定します。たとえば、値が 2010-01-01 の場合、コネクタは 2010 年の初め以降に変更されたコンテンツのみをクロールします。
|
過去数日以内に変更されたファイルのみをクロールする | fs.lastModifiedDays=number-of-days
最終変更日時が現在の日付から日数以内の場合にのみコンテンツをクロールしてください。デフォルト値は しばらく変更されていない、以前にインデックス登録されたコンテンツの有効期限を設定するには、このプロパティを使用します。たとえば、過去 1 年間に変更されたコンテンツのみをクロールするように 365 に設定します。
|
ファイル共有のアクセス制御をスキップする
デフォルトでは、ファイル共有の ACL を含めてアクセス制御リスト(ACL)を Indexing API に送信するときに、アクセス制御の整合性が維持されます。ただし、一部の設定では、コネクタが共有 ACL を読み取るための十分な権限を持っていない場合があります。そのような場合、コネクタは、そのファイル共有で保持されているファイルを検索結果で返しません。
コンテンツが検索結果で常に返されるように、共有 ACL を無視するようにコネクタを設定できます。この場合、Indexing API は、実際の共有 ACL ではなく、制限の緩い共有 ACL を取得します。
設定 | パラメータ |
ファイル共有のアクセス制御をスキップする | fs.skipShareAccessControl=boolean
共有 ACL を適用するには、 |