このガイドは、Google Cloud Search SharePoint Online コネクタの管理者、つまり、コネクタのダウンロード、構成、実行、モニタリングを担当するすべての方を対象としています。
このガイドでは、SharePoint Online コネクタのデプロイ関連の主要なタスクを実行する手順を説明しています。
- Google Cloud Search SharePoint Online コネクタ ソフトウェアをダウンロードする
- コネクタを特定の SharePoint Online データソースに合わせて構成する
- コネクタをデプロイして稼働させる
このドキュメントのコンセプトを理解するには、G Suite と SharePoint Online に関する基本的な知識が必要です。
Google Cloud Search SharePoint Online コネクタの概要
Google Cloud Search は、デフォルトで Google ドキュメントや Gmail などの G Suite データからコンテンツを検出し、インデックスに登録して提供できます。Sharepoint Online コネクタを使用することで、Google Cloud Search を拡張し、SharePoint Online コンテンツをユーザーに提供できます。
構成プロパティ ファイル
コネクタが SharePoint Online からコンテンツを検出してインデックス API にアップロードできるようにするには、デプロイ手順で説明している手順を使用して構成ファイルを作成し、SharePoint Online コネクタに設定を指定する必要があります。
このドキュメントで説明している SharePoint Online コネクタ パラメータ以外にも、すべての Cloud Search コネクタで使用される構成パラメータがあります。詳細については、Google 提供のコネクタ パラメータをご覧ください。
サポートされているオペレーティング システム
- Windows Server 2016
- Ubuntu
- Red Hat Enterprise Linux 5.0
- SUSE Enterprise Linux 10(64 ビット)
未公開ドキュメントのインデックス登録
Cloud Search SharePoint Online コネクタは、SharePoint の検索の表示設定に常に従います(これをオーバーライドすることはできません)。ドラフト ドキュメントの場合、インデックス登録はコネクタのユーザー アカウントに付与された権限によって異なります。ユーザーに「完全な読み取り」権限のみが付与されている場合、コネクタは SharePoint のすべての「下書きアイテムの表示」設定に従います。
サポートされている認証メカニズム
Cloud Search SharePoint Online コネクタは、ライブ認証をサポートしています。
コネクタの既知の制限事項
- コネクタ インスタンスは、単一のサイト コレクションのコンテンツのみをインデックスに登録できます。複数のサイト コレクションをインデックスに登録するには、個別のコネクタ インスタンスが必要です。
- 各サイト コレクションの ACL で使用される一意のユーザーとグループの数は、メモリ消費に影響します。
- 現在のバージョンのコネクタでは、即時削除通知は生成されません。
- コネクタは、ソース リポジトリからの削除を識別するためにコンテンツのインデックス再登録を利用します。以前にインデックスに登録されたコンテンツの場合、削除検出のレイテンシは 4 時間を超えることがあります。
要件
Google Cloud Search SharePoint Online コネクタは、Linux または Windows にインストールできます。Google Cloud Search SharePoint Online コネクタをデプロイする前に、前提条件となる次のコンポーネントがあることを確認してください。
- SharePoint Online 環境。
- Google Cloud Search SharePoint Online コネクタを実行するコンピュータに Java JRE 1.8 がインストールされている。
Google Cloud Search とデータソースの関係を確立するために必要な G Suite 情報:
- G Suite の秘密鍵(サービス アカウント ID を含む)。秘密鍵を取得する方法については、Google Cloud Search REST API へのアクセスを構成するをご覧ください。
- G Suite のデータソース ID。データソース ID を取得する方法については、検索対象のデータソースを追加するをご覧ください。
通常、これらの認証情報はドメインの G Suite 管理者から提供されます。
コネクタのユーザー アカウント。このアカウントには、サイト コレクション管理者権限が必要です。
デプロイ手順
Google Cloud Search SharePoint Online コネクタをデプロイする手順は、次のとおりです。
- Google Cloud Search SharePoint Online コネクタ ソフトウェアをインストールする
- SharePoint Online コネクタの構成を指定する
- Google Cloud Search データソースへのアクセスを構成する
- SharePoint Online へのアクセスを構成する
- Google Cloud Search で SharePoint の ID マッピングを構成する
- SharePoint リストアイテムの HTML コンテンツ生成と構造化データのサポートを構成する
- Google Cloud Search で O365 の ID マッピングを構成する
- ロギングを有効にする
1. Google Cloud Search SharePoint Online コネクタ ソフトウェアをインストールする
GitHub からコネクタ リポジトリのクローンを作成します。
$ git clone https://github.com/google-cloudsearch/sharepoint-connector.git $ cd sharepoint-connector
希望するバージョンのコネクタをチェックアウトします。
git checkout tags/v1-0.0.3
コネクタをビルドします。
mvn package
コネクタをビルドするときにテストをスキップするには、
mvn package
の代わりにmvn package -DskipTests
を実行します。コネクタ zip ファイルをローカルのインストール ディレクトリにコピーします。
$ cp target/google-cloudsearch-sharepoint-connector-v1-0.0.3.zip installation-dir $ cd installation-dir $ unzip google-cloudsearch-sharepoint-connector-v1-0.0.3.zip $ cd google-cloudsearch-sharepoint-connector-v1-0.0.3
2. SharePoint Online コネクタの構成を指定する
コネクタが SharePoint Online に正しくアクセスし、コンテンツをインデックスに登録できるようにするには、まず、コネクタの構成ファイルを作成する必要があります。コネクタの管理者は、コネクタの構成ファイル内でパラメータを定義して、SharePoint Online コネクタの動作と属性を制御します。構成可能なパラメータによって、次のことが制御されます。
- データソースへのアクセス
- SharePoint Online へのアクセス
構成ファイルを作成するには:
- 任意のテキスト エディタを開き、次のセクションで説明するように、ファイルの内容に Key-Value ペアを追加します。
- 構成ファイルに名前を付けて保存します。Google は構成ファイルの名前を
connector-config.properties
にすることを推奨しています。これで、追加のコマンドライン パラメータを指定しなくてもコネクタが実行されます。
3. Google Cloud Search データソースへのアクセスを構成する
すべての構成ファイルでは、Cloud Search データソースにアクセスするために必要なパラメータを最初に指定する必要があります。次の表をご覧ください。Cloud Search へのコネクタのアクセスを構成するには、通常、データソースの ID、ID ソースの ID、サービス アカウントの秘密鍵ファイルへのパスが必要です。データソースを設定するために必要な手順については、検索対象のデータソースを追加するをご覧ください。
設定 | パラメータ |
データソース ID | api.sourceId=1234567890abcdef 必須。G Suite 管理者がセットアップした、Google Cloud Search ソースの ID。 |
サービス アカウントの秘密鍵ファイルへのパス | api.serviceAccountPrivateKeyFile=./PrivateKey.json 必須。Google Cloud Search SharePoint Online コネクタへのアクセスに必要な Google Cloud Search サービス アカウント キー ファイル。 |
ID ソースの ID | api.identitySourceId=x0987654321 必須。G Suite 管理者がセットアップした、Cloud Search ID ソースの ID。 |
4. SharePoint Online へのアクセスを構成する
コネクタが SharePoint Online にアクセスし、インデックスに登録するデータを抽出できるようにするには、SharePoint Online へのアクセスを構成する必要があります。次のパラメータを使用して、アクセス情報を構成ファイルに追加します。
設定 | パラメータ |
SharePoint サイト コレクションの完全修飾ドメイン名 | sharepoint.server= http://yoursharepoint.example.com/ 必須。ドメイン名が完全修飾されていない場合は、コネクタホストで DNS オーバーライドを設定する必要があります。 |
サイト コレクション専用モード | sharepoint.siteCollectionOnly=true 必須。SharePoint Online の場合、常に true に設定します。 |
SharePoint ユーザー名 | sharepoint.username=username
必須。SharePoint Online へのアクセスに使用されるアカウントのユーザー名。
|
SharePoint パスワード | sharepoint.password=user_password 必須。SharePoint Online へのアクセスに使用されるアカウントのパスワード。 |
認証モード | sharepoint.formsAuthenticationMode=LIVE 必須。SharePoint Online の場合、LIVE に設定します。 |
デプロイメント タイプ | sharepoint.deploymentType=ONLINE 必須。SharePoint Online の場合、ONLINE に設定します。 |
5. Google Cloud Search で SharePoint の ID マッピングを構成する
Google Cloud Search では、検索結果に ACL トリミングを適用できます。こうした ACL は、Google プリンシパルと外部プリンシパルを使用して定義できます。
SharePoint Online コネクタは、次の ID をサポートしています。
- Office 365 / Azure AD ユーザー
- Office 365 / Azure AD セキュリティ グループ
- SharePoint ローカル グループ(メンバーは O365 ユーザーとグループ)
SharePoint コンテンツに適切なセキュリティ トリミングを適用するには、次の外部 ID を Google と同期する必要もあります。
- SharePoint ローカル グループを同期するには、SharePoint ID コネクタを使用します。
- O365 の ID を同期するには、O365 ID コネクタを使用します。
このような設定をサポートするには、2 つの ID ソースを作成する必要があります。
- O365 ユーザーとグループを同期するための ID ソース。
- SharePoint ローカル グループの ID ソース。
設定 | パラメータ |
ID ソースの ID | api.identitySourceId=1234567890abcdef SharePoint ローカル グループを同期するための ID ソースの ID。 必須。G Suite 管理者がセットアップした、Google Cloud Search ソースの ID。検索対象のデータソースを追加するをご覧ください。 |
参照 ID ソース | api.referenceIdentitySources=defaultIdentitySource 必須。SharePoint Online では固定値 defaultIdentitySource が使用されます。 |
参照 ID ソースの ID | api.referenceIdentitySource.defaultIdentitySource.id=112233abcd 必須。O365 の ID を同期するための ID ソースの ID。 |
6. SharePoint リストアイテムの HTML コンテンツ生成と構造化データのサポートを構成する
SharePoint リストアイテムの追加メタデータをインデックスに登録するには、HTML コンテンツの生成や構造化データをサポートするようにコネクタを構成します。
HTML コンテンツの生成
HTML コンテンツの生成を構成するには、次の表のパラメータを使用します。
設定 | パラメータ |
HTML テンプレート タイトル項目 | contentTemplate.sharePointItem.title=Title 生成された HTML の「タイトル」として使用される SharePoint 項目。 |
HTML コンテンツの高検索精度項目 | contentTemplate.sharePointItem.quality.high=highField1,highField2 生成された HTML に精度の高い項目として含める項目。これらの項目内の検索語句の一致は上位にランク付けされます。 |
HTML コンテンツの中検索精度項目 | contentTemplate.sharePointItem.quality.medium=mediumField1,mediumField2 生成された HTML に中程度の精度の項目として含める項目。 |
HTML コンテンツの低検索精度項目 | contentTemplate.sharePointItem.quality.low=lowField1,lowField2 生成された HTML に精度の低い項目として含める項目。 |
HTML コンテンツのマッピングされていない列 | contentTemplate.sharepointItem.unmappedColumnsMode=APPEND デフォルトは APPEND です。IGNORE に設定すると、コネクタはマッピングされた列のみを使用して HTML を生成します。マッピングされていない(高、中、低の構成に含まれていない)項目を生成される HTML コンテンツに含めるには、APPEND に設定します。 |
構造化データのサポート
データソースのスキーマが次のガイドラインを使用して定義されている場合、コネクタは SharePoint リストアイテムの構造化データを入力します。
コネクタは、Cloud Search API で定義された仕様に従って SharePoint コンテンツ タイプ名を正規化することにより、SharePoint コンテンツ タイプ名を対応するオブジェクト定義にマッピングします。Cloud Search API では、オブジェクト定義の有効な文字として、A~Z、a~z、0~9 のみがサポートされます。コネクタは、サポートされていない文字を除外することでコンテンツ タイプ名を正規化します。たとえば、コンテンツ タイプ「Announcements」はオブジェクト定義「Announcements」にマッピングされますが、コンテンツ タイプ「News Article」は「NewsArticle」にマッピングされます。
コネクタは、
itemMetadata.objectType
構成による代替オブジェクト タイプの構成もサポートします。スキーマで SharePoint コンテンツ タイプに対応するオブジェクト定義が使用できない場合、コネクタは代替オブジェクト タイプを使用します。コネクタは SharePoint プロパティ名をプロパティ定義にマッピングします。
7. Google Cloud Search で O365 の ID マッピングを構成する
O365 の ID に基づいて SharePoint コンテンツに適切なセキュリティ トリミングを適用するには、SharePoint Online コネクタ パッケージにバンドルされた O365 ID コネクタを構成する必要があります。
Office 365 ID コネクタをビルドする
まだローカルの Maven リポジトリに SDK をインストールしていない場合は、次の手順でインストールします。
GitHub から SDK リポジトリのクローンを作成します。
$ git clone https://github.com/google-cloudsearch/connector-sdk.git $ cd connector-sdk
希望するバージョンの SDK をチェックアウトします。
git checkout tags/v1-0.0.3
SDK コンポーネントをインストールします。
mvn install
コネクタをビルドします。
GitHub からコネクタ リポジトリのクローンを作成します。
$ git clone https://github.com/google-cloudsearch/office-365-connector.git $ cd office-365-connector
希望するバージョンのコネクタをチェックアウトします。
git checkout tags/v1-0.0.3
コネクタをビルドします。
mvn package
コネクタをビルドするときにテストをスキップするには、
mvn package
の代わりにmvn package -DskipTests
を実行します。コネクタ zip ファイルをローカルのインストール ディレクトリにコピーします。
$ cp target/google-cloudsearch-office-365-connector-v1-0.0.3.zip installation-dir $ cd installation-dir $ unzip google-cloudsearch-office-365-connector-v1-0.0.3.zip $ cd google-cloudsearch-office-365-connector-v1-0.0.3
O365 認証情報を取得する
O365 ID コネクタを使用するには、O365 アカウントからユーザーとグループを読み取るための認証情報を設定する必要があります。
Microsoft の指示に従って、O365 ID 接続用の Azure Active Directory アプリケーションを作成します。アプリの設定では、次のことを行います。
- アプリに、「gcs-o365-identity-connector」などのわかりやすい名前を付けます。
- 権限を追加します。アプリには「Group.Read.All」と「User.Read.All」が必要です。
- 次のステップで使用する、次の情報を記録します。
- アプリケーション ID
- テナント
- クライアント シークレット
コネクタ構成
設定 | パラメータ |
ID ソースの ID | api.identitySourceId=1234567890abcdef 必須。O365 の ID を同期するための ID ソースの ID。 G Suite 管理者がセットアップした、Google Cloud Search ソースの ID。検索対象のデータソースを追加するをご覧ください。この値は、SharePoint Online コネクタの「defaultIdentitySource」構成と一致する必要があります。 |
Google お客様 ID | api.customerId=c1b1d1e1 必須。Google ドメインに関連付けられたお客様 ID。 お客様 ID を取得するには、こちらの手順に従ってください。 |
O365 アプリケーション ID | o365.clientId= a63c6eb3-29e7-486
必須。O365 アプリケーション設定のアプリケーション ID。 |
O365 テナント | o365.tenant= 185ef9ed-29e7-486
必須。O365 アカウントのテナント。 |
O365 クライアント シークレット | o365.clientSecret= raHJN15vRLBKs
必須。O365 アプリケーション設定の認証情報シークレット。 |
コネクタログ
コネクタ バイナリを含むディレクトリに、logs という名前のフォルダを作成します。
logging.properties という名前の ASCII または UTF-8 ファイルを同じディレクトリに作成し、次の内容を追加します。
handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
# Default log level
.level = INFO
# uncomment line below to increase logging level for O365 APIs
#com.google.enterprise.cloudsearch.o365.level=FINE
# uncomment line below to increase logging level to enable Google API traces
#com.google.api.client.http.level = FINE
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.FileHandler.pattern=logs/connector-o365.%g.log
java.util.logging.FileHandler.limit=10485760
java.util.logging.FileHandler.count=10
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
O365 ID コネクタを実行する
コネクタを実行するには、次のコマンドを入力します。
java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-office-365-connector-v1-0.0.3.jar
8. ロギングを有効にする
コネクタ バイナリを含むディレクトリに、logs という名前のフォルダを作成します。
logging.properties という名前の ASCII または UTF-8 ファイルを同じディレクトリに作成し、次の内容を追加します。
handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
# Default log level
.level = INFO
# uncomment line below to increase logging level for SharePoint APIsa
#com.google.enterprise.cloudsearch.sharepoint.level=FINE
# 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-sharepoint.%g.log
java.util.logging.FileHandler.limit=10485760
java.util.logging.FileHandler.count=10
java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter
例: 構成ファイル
次の構成ファイルの例は、コネクタの動作の例を定義するパラメータの Key-Value ペアを示しています。
api.sourceId=08ef8becd116faa4546b8ca2c84b2879
api.serviceAccountPrivateKeyFile=service_account.json
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
# Optional
contentTemplate.sharepointItem.title=Title
contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
sharepoint.server=https://mydomain.onmicrosoft.com
sharepoint.siteCollectionOnly=true
sharepoint.username=admin@mydomain.onmicrosoft.com
sharepoint.password=pa$sw0rd
sharepoint.formsAuthenticationMode=LIVE
sharepoint.deploymentType=ONLINE
api.referenceIdentitySources=defaultIdentitySource
api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
SharePoint Online ID コネクタを実行する
ユーザーがアクセス権を持つ Cloud Search for SharePoint コンテンツで結果を取得するには、まず、O365 と SharePoint サイト コレクションの両方のプリンシパルを Google Cloud Identity サービスの ID にマッピングする必要があります。この同期は、O365 ID コネクタと SharePoint Online ID コネクタを介して行われます。O365 コネクタがユーザーとグループを同期した後、以下で説明するように SharePoint Online ID コネクタを実行して、SharePoint サイト コレクション グループを同期します。
ID コネクタは、コンテンツをインデックスに登録するものと同様の構成ファイルを使用します。次に例を示します。
api.customerId=C05d3djk8
api.serviceAccountPrivateKeyFile=service_account.json
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
sharepoint.server=https://mydomain.onmicrosoft.com
sharepoint.siteCollectionOnly=true
sharepoint.username=admin@mydomain.onmicrosoft.com
sharepoint.password=pa$sw0rd
sharepoint.formsAuthenticationMode=LIVE
sharepoint.deploymentType=ONLINE
api.referenceIdentitySources=defaultIdentitySource
api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
api.customerId
プロパティが追加されていることに注意してください。お客様 ID を取得するには、こちらの手順に従ってください。
コンテンツをインデックスに登録するのに使用される JAR ファイルには、ID コネクタも含まれています。実行するには、構成ファイルを含むディレクトリで、次のコマンドを入力します。version の代わりに、現在のバージョン番号を使用します。これは GitHub リリースのページにあります。
java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-version.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector
SharePoint Online コネクタを実行する
SharePoint オンライン コネクタを実行するには、次のコマンドを入力します。
java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar
高度なトピック
このセクションの情報は、基本的な SharePoint コネクタ構成の範囲を超えています。
Microsoft Outlook .msg ファイルの Content-Type をオーバーライドする
コネクタがコンテンツのクロール時に Outlook の .msg ファイルを検出すると、ファイルの Content-Type をオーバーライドし、application/vnd.ms-outlook.
としてインデックス登録します。