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

Google Cloud Search を設定して、Google Workspace コンテンツに加えて組織の SharePoint Online コンテンツの結果も返すことができます。Cloud Search SharePoint Online コネクタを使用して、特定の SharePoint Online データソースにアクセスするように構成します。

重要な考慮事項

SharePoint Online コネクタをデプロイする前に、次の点に注意してください。

適用される SharePoint の設定

コネクタは、SharePoint の検索の表示設定に常に従います。ドラフト ドキュメントの場合、コネクタが SharePoint Online へのアクセスに使用するユーザー アカウントの権限によって、インデックス登録と返信を行うドラフト ドキュメントが制御されます。アカウントに「完全な読み取り」権限のみが付与されている場合、コネクタは「下書きアイテムの表示」設定に従います。

また、ユーザー アカウントのアクセス権に基づいて結果を制限するようにコネクタを構成します。セキュリティ トリミングを適用するには、次の外部 ID を Google Cloud Directory と同期します。

  • Office 365 / Azure AD ユーザー。
  • Office 365 / Azure AD セキュリティ グループ。
  • SharePoint グループ(メンバーは Office 365 ユーザーとグループ)。

検索の最適化

関連性の高い結果を返すようにコネクタを構成して、検索エクスペリエンスを改善します。構成ファイルで HTML 生成パラメータを使用して、フィールドの影響レベルを設定します。

スキーマを設定するには、スキーマを作成して登録するをご覧ください。スキーマを設定するときは、次の点に注意してください。

  • コネクタは、SharePoint コンテンツ タイプを有効なオブジェクト定義名(A ~ Z、a ~ z、0 ~ 9)に正規化します。たとえば、「ニュース記事」は「NewsArticle」になります。
  • コネクタがオブジェクト定義を照合できない場合は、代替オブジェクト タイプ(itemMetadata.objectType)を使用します。メタデータ構成パラメータをご覧ください。
  • コネクタは SharePoint プロパティ名をプロパティ定義にマッピングします。
  • コネクタは、Microsoft Outlook .msg ファイルのメディアタイプをオーバーライドし、application/vnd.ms-outlook としてインデックス登録します。

コネクタの既知の制限事項

  • 各コネクタ インスタンスは、単一のサイト コレクションのコンテンツのみをインデックスに登録します。複数のサイト コレクションをインデックスに登録するには、追加のインスタンスを設定します。
  • メモリ消費量は、ACL 内の一意のユーザーとグループの数に応じて増加します。
  • 削除通知が伝播されるまでに 4 時間以上かかることがあります。

システム要件

システム要件
オペレーティング システム Windows Server 2016、Ubuntu、Red Hat Enterprise Linux 5.0、SUSE Enterprise Linux 10(64 ビット)。
認証 ライブ認証。
ソフトウェア SharePoint Online 環境、Java JRE 1.8。

コネクタをデプロイする

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

前提条件

  1. Google Workspace の秘密鍵を作成します。Cloud Search API へのアクセスを構成するをご覧ください。
  2. 検索対象のデータソースを追加し、その ID を記録します。検索対象のデータソースを追加するをご覧ください。
  3. ACL ベースの結果の場合、管理者は 2 つの ID ソース(Office 365 用と SharePoint グループ用)を作成し、Google Workspace の顧客 ID を指定する必要があります。ユーザー ID をマッピングするをご覧ください。
  4. SharePoint Online サイト コレクション管理者権限を持つコネクタのユーザー アカウントを設定します。
  5. Group.Read.All 権限と User.Read.All 権限を持つ Azure Active Directory アプリケーションの認証情報を作成します。アプリケーション ID、テナント、クライアント シークレットをメモします。

ステップ 1. コネクタ ソフトウェアをインストールする

  1. リポジトリのクローンを作成します。
    $ git clone https://github.com/google-cloudsearch/sharepoint-connector.git
    $ cd sharepoint-connector
  2. 選択したバージョン(v1-0.0.3):
    $ git checkout tags/v1-0.0.3
  3. コネクタをビルドします。
    $ mvn package
    テストをスキップするには、mvn package -DskipTests を使用します。
  4. ZIP ファイルをインストール ディレクトリに解凍します。

ステップ 2. 構成ファイルを作成する

インストール ディレクトリに sharepoint-online-connector.config を作成します。次の例に示すように、パラメータを Key-Value ペアとして追加します。

api.sourceId=08ef8becd116faa4546b8ca2c84b2879
api.serviceAccountPrivateKeyFile=service_account.json
sharepoint.server=https://mydomain.onmicrosoft.com
sharepoint.siteCollectionOnly=true
sharepoint.username=admin@mydomain.onmicrosoft.com
sharepoint.password=password
sharepoint.formsAuthenticationMode=LIVE
sharepoint.deploymentType=ONLINE
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
api.referenceIdentitySources=defaultIdentitySource
api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa

詳細については、リファレンスまたは Google 提供のパラメータをご覧ください。

ステップ 3. ロギングの設定

logs フォルダと、次の内容の logging.properties ファイルを作成します。

   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

ステップ 4. SharePoint ID コネクタを構成する

ID ベースの ACL を適用するには、次の例のように、api.customerId と他の接続パラメータを使用して sharepoint-online-identity-connector.config を作成します。

```properties
### SharePoint Online identity connector configuration ###
# Required parameters for data source access
api.customerId=C05d3djk8
api.serviceAccountPrivateKeyFile=service_account.json

# Required parameters for SharePoint Online access
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

# SharePoint identity mapping parameters
api.identitySourceId=08ef8becd116faa475de26d9b291fed9
api.referenceIdentitySources=defaultIdentitySource
api.referenceIdentitySource.defaultIdentitySource.id=08ef8becd116faa5d3783f8c5a80e5aa
```

ステップ 5. Office 365 ID コネクタをインストールする

SharePoint Online の ID ベースの ACL を使用している場合は、この手順を行います。パブリック ACL を使用している場合は、この手順をスキップします。

  1. Office 365 リポジトリのクローンを作成します。

    $ git clone https://github.com/google-cloudsearch/office-365-connector.git
    $ cd office-365-connector
    
  2. mvn package を使用してコネクタをチェックアウトしてビルドします。

  3. ZIP ファイルをインストール ディレクトリに解凍します。

ステップ 6. Office 365 ID コネクタを構成する

  1. ID コネクタのインストールと同じディレクトリに、o365-identity-connector.config という名前のファイルを作成し、パラメータを Key-Value ペアとして追加します。

    ### Office 365 Identity connector configuration ###
    api.identitySourceId=<var>12345abcde</var>
    api.customerId=<var>abcde12345</var>
    o365.clientId=<var>a63c6eb3-29e7-486</var>
    o365.tenant=<var>185ef9ed-29e7-486</var>
    o365.clientSecret=<var>raHJN15vRLBKs</var>
    

    パラメータの説明については、Office 365 ID コネクタをご覧ください。

  2. 同じディレクトリに、logs という名前のフォルダを作成します。

  3. 同じディレクトリに、次の内容を含む logging.properties という名前のファイルを作成します。

       handlers = java.util.logging.ConsoleHandler,java.util.logging.FileHandler
       # Default log level
       .level = INFO
       # uncomment line below to increase logging level for Office 365 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
    

ステップ 7. コネクタを起動する

コネクタを構成したら、コネクタを実行して同期とインデックス登録を開始します。各コマンドを独自のターミナル ウィンドウで実行します。

  1. Office 365 ID コネクタを実行して、ユーザーとグループを同期します。

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-office-365-connector-v1-0.0.3.jar -Dconfig=o365-identity-connector.config
    
  2. SharePoint Online ID コネクタを実行して、サイト コレクション グループを同期します。

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar -Dconfig=sharepoint-online-identity-connector.config
    
  3. SharePoint Online コネクタを実行してコンテンツのインデックスを作成します。

    $ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-0.0.3.jar -Dconfig=sharepoint-online-connector.config
    

構成パラメータのリファレンス

次のセクションでは、SharePoint Online コネクタの構成に使用される構成パラメータを一覧表示します。

データソース アクセス

設定 パラメータ
データソース ID api.sourceId=1234567890abcdef

必須。Google Workspace 管理者が設定した Google Cloud Search データソースの ID。

サービス アカウントの秘密鍵ファイルへのパス api.serviceAccountPrivateKeyFile=PrivateKey.json

必須。Google Cloud Search サービス アカウント キーファイルのパス。

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` です。

SharePoint の ID マッピング

設定 パラメータ
ID ソースの ID api.identitySourceId=1234567890abcdef

必須。SharePoint グループの ID ソースの Cloud Search ID ソース ID。

参照 ID ソース api.referenceIdentitySources=defaultIdentitySource

必須。SharePoint Online の場合、値は常に `defaultIdentitySource` です。

参照 ID ソースの ID api.referenceIdentitySource.defaultIdentitySource.id=112233abcd

必須。Office 365 ユーザーとグループの ID ソースの Cloud Search ID ソース ID。

HTML コンテンツの生成

設定 パラメータ
HTML テンプレート タイトル項目 contentTemplate.sharePointItem.title=Title

生成された HTML の 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 です。

  • APPEND - コネクタは、品質レベル(高、中、低)が設定されていない項目を含むすべての項目を使用して HTML コンテンツを生成します。
  • IGNORE - コネクタはマッピングされたフィールドのみを使用して HTML コンテンツを生成します。

Office 365 ID コネクタの構成

設定 パラメータ
ID ソースの ID api.identitySourceId=1234567890abcdef

必須。Office 365 ID ソースの ID。この値は、SharePoint Online コネクタ構成の `api.referenceIdentitySource.defaultIdentitySource.id` の値と一致する必要があります。

Google お客様 ID api.customerId=c1b1d1e1

必須。組織の Google Workspace お客様 ID。

Office 365 アプリケーション ID o365.clientId=a63c6eb3-29e7-486

必須。Office 365 アプリケーション設定のアプリケーション ID。

Office 365 テナント o365.tenant=185ef9ed-29e7-486

必須。Office 365 アカウントのテナント(Azure Activity Directory アプリ)

Office 365 クライアント シークレット o365.clientSecret=raHJN15vRLBKs

必須。Office 365 アプリケーション設定の認証情報シークレット