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

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

重要な考慮事項

SharePoint の設定の優先

Cloud Search SharePoint Online コネクタは、SharePoint の [Search Visibility] 設定を常に適用します。この設定はオーバーライドできません。下書きドキュメントの場合、コネクタが SharePoint Online へのアクセスに使用するユーザー アカウントの権限によって、インデックス登録して返される下書きドキュメントを制御できます。アカウントに「完全な読み取り」権限のみがある場合、コネクタは SharePoint の「下書きアイテムの公開設定」設定に従います。

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

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

検索の最適化

関連性の高い検索結果を返すようにコネクタを設定することで、ユーザー エクスペリエンスを改善できます。

API を使用するには、SharePoint Online コネクタ構成ファイルで HTML 生成パラメータの値を設定します。これらのパラメータを使用して、一致への影響が大きいまたは低いフィールドを設定できます。

スキーマを設定するには、 スキーマを作成して登録するの手順に沿って操作します。スキーマを設定する場合:

  • SharePoint コンテンツ タイプの名前を対応するオブジェクト定義にマッピングするために、コネクタはサポートされていない文字を除外してコンテンツ タイプの名前を正規化します。オブジェクト定義では、有効な文字として AZ、az、0-9 のみがサポートされます。たとえば、コンテンツ タイプ「お知らせ」は、オブジェクト定義「お知らせ」にマッピングされます。コンテンツ タイプの「ニュース記事」は「NewsArticle」(スペースなし)にマッピングされます。

  • コネクタによるオブジェクト定義とオブジェクト定義が一致しない場合、コネクタでは代替オブジェクト タイプ(itemMetadata.objectType)が使用されます。詳しくは、メタデータ構成パラメータをご覧ください。

  • コネクタは SharePoint プロパティ名をプロパティ定義にマッピングします。

  • コネクタでコンテンツをインデックスに登録する際に Microsoft Outlook の .msg ファイルが検出されると、そのファイルのコンテンツ タイプがオーバーライドされ、application/vnd.ms-outlook. としてインデックスに登録されます。

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

  • 各コネクタ インスタンスに対してインデックスに登録できるのは、1 つのサイト コレクションに含まれるコンテンツのみです。複数のサイト コレクションをインデックスに登録するには、追加のコネクタ インスタンスを設定します。
  • メモリ消費量は、各サイト コレクションの ACL で使用するユニーク ユーザーとグループの数とともに増加します。
  • 削除通知は即時に行われるものではなく、ユーザーがソース リポジトリからコンテンツを削除したことをコネクタが認識するまでに 4 時間以上かかることがあります。

システム要件

システム要件
OS
  • Windows Server 2016
  • Ubuntu
  • Red Hat Enterprise Linux 5.0
  • SUSE Enterprise Linux 10(64 ビット)
認証
  • ライブ認証
ソフトウェア
  • SharePoint Online 環境
  • Google Cloud Search SharePoint Online コネクタを実行するコンピュータに Java JRE 1.8 がインストールされている。

コネクタのデプロイ

前提条件

  1. サービス アカウント ID を含む Google Workspace の秘密鍵を作成します。秘密鍵を取得する方法については、 Google Cloud Search REST API へのアクセスを構成するをご覧ください。

  2. Google Workspace 管理者は、検索対象のデータソースを追加する必要があります。データソースの ID を記録します。

  3. コネクタが ACL に基づいて結果を返す場合(結果は一般公開されません)、Google Workspace 管理者は 2 つの ID ソースを作成し、それぞれの ID を提示する必要があります。

    • Office 365 ユーザーとグループ用のアカウント
    • SharePoint グループ用

    また、管理者の方に、組織の Google Workspace のお客様 ID をお伝えください。

    これらの値を取得する方法については、Cloud Search でユーザー ID をマッピングするをご覧ください。

  4. SharePoint Online Site Collection Administrator 権限のあるコネクタのユーザー アカウントを設定します。

  5. コネクタが ACL に基づいて結果を返す場合(結果は公開されません)、Office 365 アカウントからユーザーとグループを読み取るための認証情報を作成します。Microsoft の指示に従って Azure Active Directory アプリケーションを作成します。アプリの設定では、次のことを行います。

    1. アプリに、「gcs-o365-identity-connector」などのわかりやすい名前を付けます。
    2. 権限を追加します。アプリには「Group.Read.All」と「User.Read.All」が必要です。
    3. コネクタ構成で使用する次の情報を記録します。
      • アプリケーション ID
      • テナント
      • クライアント シークレット

ステップ 1. 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 コネクタ構成ファイルを作成する

  1. コネクタのインストールと同じディレクトリに、新しいファイルを作成し、sharepoint-online-connector.config という名前を付けます。多数のコネクタ インスタンスを実行する予定がある場合は、名前をより区別して区別できるようにします。

  2. 次の例のように、パラメータは Key-Value ペアとしてファイルの内容に追加します。

    ### SharePoint Online connector configuration ###
    
    # Required parameters for data source access
    api.sourceId=08ef8becd116faa4546b8ca2c84b2879
    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
    
    # Optional SharePoint List Item metadata parameters
    contentTemplate.sharepointItem.title=Title
    contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
    

    各パラメータの詳細な説明については、 構成パラメータのリファレンスをご覧ください。

  3. (省略可)必要に応じて、追加のコネクタ パラメータを設定します。詳しくは、Google 提供のコネクタ パラメータをご覧ください。

ステップ 3: SharePoint Online コネクタのロギングを設定する

  1. コネクタ バイナリを含むディレクトリに、logs という名前のフォルダを作成します。

  2. 同じディレクトリに logging.properties という Latin-1 エンコード ファイルを作成し、次の内容を追加します。

    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 Online ID コネクタを構成する

この手順は、SharePoint Online の ID ベースの ACL を検索結果に適用するために必要です。公開 ACL を使用してコネクタを設定した場合は、この手順を省略できます。

  1. SharePoint Online コネクタと同じディレクトリに、新しいファイルを作成し、sharepoint-online-identity-connector.config という名前を付けます。

  2. 次の例のように、パラメータは Key-Value ペアとしてファイルの内容に追加します。

    ### 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
    

    値は、SharePoint Online コネクタとほぼ同じですが、パラメータ api.sourceId の代わりに api.customerId が使用されている点が異なります。api.customerId の値は、Google Workspace 管理者から取得したお客様 ID です。

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

この手順は、SharePoint Online の ID ベースの ACL を検索結果に適用するために必要です。公開 ACL を使用してコネクタを設定した場合は、この手順を省略できます。

  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

ステップ 6. Office 365 ID コネクタを設定し、ロギングを設定する

  1. ID コネクタのインストールと同じディレクトリに、新しいファイルを作成し、o365-identity-connector.config という名前を付けます。

  2. 次の例のように、パラメータは Key-Value ペアとしてファイルの内容に追加します。注: すべてのパラメータは必須です。

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

    各パラメータの詳細な説明については、 Office 365 Identity コネクタの設定リファレンスをご覧ください。

  3. コネクタ バイナリを含むディレクトリに、logs という名前のフォルダを作成します。

  4. 同じディレクトリに 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 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. SharePoint Online コネクタを起動する

次の手順では、Office 365 と SharePoint サイト コレクションの両方のプリンシパルを Google Cloud Identity サービスの ID にマッピングします。この同期は、Office 365 Identity コネクタと SharePoint Online ID コネクタによって行われます。

Office 365 コネクタがユーザーとグループを同期した後、SharePoint Online ID コネクタを実行して、SharePoint サイト コレクション グループを同期します。その後、SharePoint Online コネクタを実行し、結果をインデックスに登録して Cloud Search ユーザーに提供します。

  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 -cp "google-cloudsearch-sharepoint-connector-v1-0.0.3.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector -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

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

データソース アクセス

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

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

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

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

SharePoint Online アクセス

設定 パラメータ
SharePoint Site Collection の完全修飾ドメイン名 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 アプリケーション設定の認証情報 Secret