Microsoft SharePoint Online コネクタをデプロイする

このガイドは、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 管理者から提供されます。

  • コネクタのユーザー アカウント。このアカウントには、サイト コレクション管理者権限が必要です。

デプロイ手順

Google Cloud Search SharePoint Online コネクタをデプロイする手順は、次のとおりです。

  1. Google Cloud Search SharePoint Online コネクタ ソフトウェアをインストールする
  2. SharePoint Online コネクタの構成を指定する
  3. Google Cloud Search データソースへのアクセスを構成する
  4. SharePoint Online へのアクセスを構成する
  5. Google Cloud Search で SharePoint の ID マッピングを構成する
  6. SharePoint リストアイテムの HTML コンテンツ生成と構造化データのサポートを構成する
  7. Google Cloud Search で O365 の ID マッピングを構成する
  8. ロギングを有効にする

1. Google Cloud Search SharePoint Online コネクタ ソフトウェアをインストールする

  1. GitHub からコネクタ リポジトリのクローンを作成します。

    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
        $ cd sharepoint-connector
  2. 希望するバージョンのコネクタをチェックアウトします。

    git checkout tags/v1-0.0.3
        
  3. コネクタをビルドします。

    mvn package
        

    コネクタをビルドするときにテストをスキップするには、mvn package の代わりに mvn package -DskipTests を実行します。

  4. コネクタ 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 へのアクセス

構成ファイルを作成するには:

  1. 任意のテキスト エディタを開き、次のセクションで説明するように、ファイルの内容に Key-Value ペアを追加します。
  2. 構成ファイルに名前を付けて保存します。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 をインストールしていない場合は、次の手順でインストールします。

  1. GitHub から SDK リポジトリのクローンを作成します。

    $ git clone https://github.com/google-cloudsearch/connector-sdk.git
        $ cd connector-sdk
  2. 希望するバージョンの SDK をチェックアウトします。

    git checkout tags/v1-0.0.3
        
  3. SDK コンポーネントをインストールします。

    mvn install
        

コネクタをビルドします。

  1. GitHub からコネクタ リポジトリのクローンを作成します。

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
        $ cd office-365-connector
  2. 希望するバージョンのコネクタをチェックアウトします。

    git checkout tags/v1-0.0.3
        
  3. コネクタをビルドします。

    mvn package
        

    コネクタをビルドするときにテストをスキップするには、mvn package の代わりに mvn package -DskipTests を実行します。

  4. コネクタ 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 アプリケーションを作成します。アプリの設定では、次のことを行います。

  1. アプリに、「gcs-o365-identity-connector」などのわかりやすい名前を付けます。
  2. 権限を追加します。アプリには「Group.Read.All」と「User.Read.All」が必要です。
  3. 次のステップで使用する、次の情報を記録します。
    • アプリケーション 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. としてインデックス登録します。