Google Workspace のコンテンツに加えて、組織の SharePoint オンプレミス コンテンツからの結果を返すように Google Cloud Search を設定できます。Google Cloud Search SharePoint On-Prem コネクタを使用し、特定の SharePoint データソースにアクセスするように構成します。
重要な考慮事項
優先される SharePoint 設定
Cloud Search SharePoint On-Prem コネクタは、SharePoint の [検索の公開設定] の設定を常に遵守します。この設定をオーバーライドすることはできません。下書きドキュメントの場合、ユーザー アカウントの権限(コネクタが SharePoint Online へのアクセスに使用する)によって、インデックスに登録される下書きドキュメントと返される下書きドキュメントが決まります。アカウントに「完全な読み取り」権限しかない場合、コネクタは SharePoint の「下書きアイテムの公開設定」設定に従います。
ユーザー アカウントのアクセス権に基づいて結果を制限するようにコネクタを構成することもできます。Google プリンシパルと外部プリンシパルを使用して ACL を定義できます。SharePoint コンテンツにセキュリティ トリミングを適用するには、次の外部 ID を Google Directory と同期します。
- Active Directory ユーザー
- Active Directory グループ
- SharePoint ローカル グループ(メンバーは Active Directory ユーザーとグループ)
AD のユーザーとグループを同期するには、Google Cloud Directory Sync を使用して ID マッピングされたグループを有効にします。SharePoint ローカル グループを同期するには、SharePoint Identity Connector を使用します。
また、コネクタは AD によるルックアップを実行して、プリンシパルを同期するための追加情報を取得する必要があります。たとえば、AD によるルックアップでは、コネクタで次のことができます。
- ドメイン グループの SID を対応する sAMAccountName にマッピングします。
- ユーザー sAMAccountName を SharePoint ローカル グループ メンバーシップのメールアドレスにマッピングします。
検索の最適化
より関連性の高い検索結果を返すようにコネクタを設定することで、ユーザー エクスペリエンスを向上させることができます。
API を使用するには、SharePoint Online コネクタ構成ファイルで HTML 生成パラメータの値を設定します。これらのパラメータを使用すると、一致への影響が大きい、または小さいフィールドを設定できます。
スキーマを設定するには、スキーマを作成して登録するの手順に沿って操作します。スキーマを設定すると、次のようになります。
SharePoint コンテンツ タイプの名前を対応するオブジェクト定義にマッピングするために、コネクタはサポートされていない文字を除外してコンテンツ タイプ名を正規化します。Cloud Search API のオブジェクト定義では、有効な文字として A ~ Z、a ~ z、0 ~ 9 のみがサポートされます。たとえば、コンテンツ タイプ「Announcements」はオブジェクト定義「Announcements」にマッピングされます。コンテンツ タイプ「News Article」は、「NewsArticle」(スペースなし)にマッピングされます。
オブジェクト定義とオブジェクト定義を照合できない場合、コネクタは代替オブジェクト タイプ(
itemMetadata.objectType
)を使用します。詳しくは、メタデータ設定パラメータをご覧ください。SharePoint のプロパティ名をプロパティ定義にマッピングするために、コネクタは、16 進数でエンコードされた文字をデコードし、「ows_」接頭辞を削除してから、サポートされていない文字(有効な文字として A ~ Z、a ~ z、0 ~ 9 を除くすべての文字)を除外することで、プロパティ名を正規化します。
Microsoft Outlook のメール処理
コネクタがコンテンツをインデックスに登録する際に Microsoft Outlook の .msg ファイルを検出すると、ファイルのメディアタイプをオーバーライドして application/vnd.ms-outlook.
としてインデックスに登録します
マルチテナント構成
SharePoint がマルチテナント デプロイで、複数の顧客サイトが同じウェブ アプリケーションでホストされている場合は、構成ファイルでサイト収集モードを構成する必要があります。マルチテナント デプロイでは、サイト コレクションに対する権限のみが付与され、SharePoint On-Prem コネクタに必要な完全な読み取り権限は取得できません。
サイト収集モードを有効にするには:
- コネクタ ユーザー アカウントにサイト コレクション管理者の権限を付与します。
- コネクタ構成ファイルの
sharepoint.server
をサイト コレクション URL(http://sharepoint.example.com/sites/sitecollection
など)に設定します。URL の大文字と小文字は SharePoint とまったく同じである必要はありません。 - コネクタ構成ファイルの
sharepoint.siteCollectionOnly
をtrue
に設定します。
マルチテナント環境でインデックス登録するサイト コレクションが複数ある場合は、サイト コレクションごとに 1 つのコネクタ インスタンスを構成する必要があります。
コネクタの既知の制限事項
- コネクタがモニタリングするデータベースの数に応じて、コネクタがデータベース内のアイテムの変更を検出するまでにかかる時間が長くなります。
- メモリ消費量は、各サイト コレクションの ACL で使用するユニーク ユーザーとグループの数に応じて増加します。
- コネクタは、1 つの Active Directory ドメインの ID のみを使用して構成できます。
- Active Directory と Windows の一般的なプリンシパル(
Everyone
、BUILTIN\Users
、All Authenticated Users
など)はサポートされていません。 - 削除通知は即時にではなく、ユーザーがソース リポジトリからコンテンツを削除したことをコネクタが認識するまでに 4 時間以上かかることがあります。
システム要件
システム要件 | |
---|---|
オペレーティング システム |
|
ソフトウェア |
|
認証 |
|
コネクタをデプロイする
前提条件
Google Workspace の秘密鍵を作成します。これにはサービス アカウント ID が含まれます。秘密鍵を取得する方法については、 Google Cloud Search API へのアクセスを構成するをご覧ください。
Google Workspace 管理者が検索するデータソースを追加する必要があります。データソースの ID を記録します。
コネクタが ACL に基づいて結果を返す場合(結果は公開されません)、Google Workspace 管理者は 2 つの ID ソースを作成し、その ID を提供する必要があります。
- Active Directory ユーザーとグループを同期するための ID ソース。
- SharePoint ローカル グループの ID ソース。
また、管理者は、組織の Google Workspace お客様 ID を入手して提供する必要があります。
これらの値を取得する方法については、Cloud Search でユーザー ID をマッピングするをご覧ください。
ユーザー ポリシーで、SharePoint ウェブ アプリケーションに対する完全な読み取り権限を持つコネクタのユーザー アカウントを設定します。
SharePoint Web アプリケーションにルートサイト コレクションがない場合は、作成します。
いずれかのサイト コレクションが書き込みロックされている場合は、管理者権限があるアカウントで SharePoint サーバーにログインし、
PrepareWriteLockedSites.ps1
スクリプトを実行します。コネクタ構成に通知するデータソースの指標を取得するには、ファーム管理権限を持つアカウントで SharePoint サーバーにログインし、
diagnose_sp.ps1
を実行します。出力では、ウェブ アプリケーション、ドキュメント、ユーザー グループ メンバーシップの数が報告されます。この情報を使用して、必要なコネクタ インスタンスの数、メモリ要件、ドキュメント数を見積もることができます。
ステップ 1: Google Cloud Search SharePoint On-Prem コネクタ ソフトウェアをインストールする
GitHub からコネクタ リポジトリのクローンを作成します。
$ git clone https://github.com/google-cloudsearch/sharepoint-connector.git $ cd sharepoint-connector
希望するバージョンのコネクタをチェックアウトします。
$ git checkout tags/latest_version
ここで、
latest_version
=v1-0.0.5
などの値コネクタをビルドします。
$ mvn package
コネクタのビルド時にテストをスキップするには、
mvn package
ではなくmvn package -DskipTests
を実行します。コネクタ zip ファイルをローカルのインストール ディレクトリにコピーします。
$ cp target/google-cloudsearch-sharepoint-connector-latest_version.zip installation-dir $ cd installation-dir $ unzip google-cloudsearch-sharepoint-connector-latest_version.zip $ cd google-cloudsearch-sharepoint-connector-latest_version
ステップ 2. SharePoint On-Prem コネクタ構成ファイルを作成する
コネクタのインストールと同じディレクトリにファイルを作成します。Google では、コネクタを実行するために追加のコマンドライン パラメータを指定できないように、ファイル名を
connector-config.properties
にすることをおすすめします。多数のコネクタ インスタンスを実行する場合は、名前に詳細を追加して区別します。次の例のように、パラメータを Key-Value ペアとしてファイルの内容に追加します。
### Sharepoint On-Prem Connector configuration ### # Required parameters for data source access api.sourceId=08ef8becd116faa4546b8ca2c84b2879 api.serviceAccountPrivateKeyFile=service_account.json api.identitySourceId=08ef8becd116faa475de26d9b291fed9 # Required parameters for SharePoint on-premises access sharepoint.server=http://sp-2016:32967/sites/doc-center-site-collection sharepoint.siteCollectionOnly=true sharepoint.username=contoso\\admin sharepoint.password=pa$sw0rd sharepoint.stripDomainInUserPrincipals=true # Required parameters for AD lookup adLookup.host=dc.contoso.com adLookup.username=contoso\\admin adLookup.password=pa$sw0rd api.referenceIdentitySources=CONTOSO,contoso api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa # Optional parameters for schema mapping contentTemplate.sharepointItem.title=Title contentTemplate.sharepointItem.unmappedColumnsMode=APPEND
各パラメータの詳細については、 構成パラメータのリファレンスをご覧ください。
(省略可)必要に応じて、追加のコネクタ パラメータを構成します。詳細については、Google 提供のコネクタ パラメータをご覧ください。
ステップ 3: HTTPS の場合は、信頼できるホストとして SharePoint を追加する
HTTPS を使用するように SharePoint が構成されている場合は、SharePoint 証明書を取得して、コネクタの信頼できるホストとして追加します。
コネクタを実行するパソコンでブラウザを開き、SharePoint にアクセスします。
警告ページが表示されたら、[I understand the Risks](リスクを理解しました)と [Add Exception](例外を追加)をクリックします。証明書が自己署名されており、信頼できる認証局による署名がないため、「この接続は信頼できません」などのメッセージが表示されます。
[表示] ボタンが使用可能になったら、クリックします。
[詳細] タブに移動して、[エクスポート] をクリックします。
証明書を
sharepoint.crt
という名前でコネクタ ディレクトリに保存します。[閉じる]、[キャンセル] の順にクリックしてウィンドウを閉じます。
コマンド プロンプトを開き、次のコマンドを入力します。
$ keytool -importcert -keystore cacerts.jks -storepass changeit -file sharepoint.crt -alias sharepoint
[この証明書を信頼しますか?] というメッセージが表示されたら、「はい」と回答します。
手順 4. ロギングの設定
コネクタ バイナリを含むディレクトリに、
logs
という名前のフォルダを作成します。同じディレクトリ(
logs
ではない)で、logging.properties
という名前の Latin1 エンコード ファイルを作成します。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
ステップ 5:SharePoint On-Prem ID コネクタを構成する
この手順は、SharePoint On-Prem の ID ベースの ACL を検索結果に適用するために必要です。公開 ACL を使用してコネクタを設定する場合は、この手順をスキップできます。
SharePoint Online コネクタのインストールと同じディレクトリに、ファイルを作成して
sharepoint-onprem-identity-connector.config
という名前を付けます。次の例のように、パラメータを Key-Value ペアとしてファイルの内容に追加します。
### SharePoint On-prem identity connector configuration ### # Required parameters for data source access api.customerId=C05d3djk8 api.serviceAccountPrivateKeyFile=service_account.json api.identitySourceId=08ef8becd116faa475de26d9b291fed9 # Required parameters for SharePoint access sharepoint.server=http://sp-2016:32967/sites/doc-center-site-collection sharepoint.siteCollectionOnly=true sharepoint.username=contoso\\admin sharepoint.password=pa$sw0rd sharepoint.stripDomainInUserPrincipals=true # Required parameters for AD lookup adLookup.host=dc.contoso.com adLookup.username=contoso\\admin adLookup.password=pa$sw0rd api.referenceIdentitySources=CONTOSO,contoso api.referenceIdentitySource.contoso.id=08ef8becd116faa5d3783f8c5a80e5aa api.referenceIdentitySource.CONTOSO.id=08ef8becd116faa5d3783f8c5a80e5aa
パラメータは、
api.sourceId
ではなくapi.customerId
である点を除き、SharePoint On-Prem コネクタの場合とほぼ同じです。api.customerId
の値は、Google Workspace 管理者から取得したお客様 ID です。
ステップ 6. SharePoint On-Prem コネクタを起動する
次の手順では、オンプレミスの Active Directory と SharePoint サイト コレクションの両方のプリンシパルを Cloud Identity サービスの ID にマッピングします。この同期は、Google Cloud Directory Sync(GCDS)と SharePoint On-Prem ID コネクタを使用して行われます。
GCDS でユーザーとグループが同期されたら、SharePoint サイト コレクション グループを同期するには、SharePoint On-Prem ID コネクタを実行します。最後に、SharePoing On-Prem コネクタを実行して、結果をインデックスに登録して Cloud Search ユーザーに提供します。
まだ行っていない場合は、 GCDS を構成して実行します。必ず ID マッピングされたグループを有効にしてください。
SharePoint On-Prem ID コネクタを実行します。
$ java -Djava.util.logging.config.file=logging.properties -cp "google-cloudsearch-sharepoint-connector-version.jar" com.google.enterprise.cloudsearch.sharepoint.SharePointIdentityConnector -Dconfig=sharepoint-onprem-identity-connector.config
SharePoint On-Prem コネクタを実行します。SharePoint サイトのセキュリティにコマンド構文を使用します。
HTTP(信頼できるホストは不要):
$ java -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-version.jar
HTTPS(信頼できるホストとして SharePoint を追加する):
$ java -Djavax.net.ssl.trustStore=cacerts.jks -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.trustStorePassword=changeit -Djava.util.logging.config.file=logging.properties -jar google-cloudsearch-sharepoint-connector-v1-version.jar
構成パラメータのリファレンス
データソース アクセス
設定 | パラメータ |
データソース ID | api.sourceId=1234567890abcdef
必須。Google Workspace 管理者がセットアップした Google Cloud Search データソース ID。 |
サービス アカウントの秘密鍵ファイルへのパス | api.serviceAccountPrivateKeyFile=PrivateKey.json
必須。Google Cloud Search サービス アカウント キー ファイルのパス。 |
SharePoint オンプレミス アクセス
設定 | パラメータ |
SharePoint サーバーの URL | sharepoint.server=http://yoursharepoint.example.com/
必須。完全修飾ホスト名での SharePoint サーバーの URL(http://yoursharepoint.example.com/ など)。ホスト名が完全修飾されていない場合は、コネクタホストで DNS オーバーライドを設定する必要があります。 |
SharePoint ユーザー名 | sharepoint.username=YOURDOMAIN\\ConnectorUser
Linux または SharePoint Server AD ドメインの一部ではない Windows マシンでコネクタを実行する場合に必要です。 |
SharePoint パスワード | sharepoint.password=user_password
Linux または SharePoint Server AD ドメインの一部ではない Windows マシンでコネクタを実行する場合に必要です。 |
ライブ認証を使用して SharePoint に接続する | sharepoint.username=AdaptorUser Live Authentication Id
|
ADFS 認証を使用して SharePoint に接続する | sharepoint.username=AdaptorUser@yourdomain.com
|
サイト コレクションのインデックス登録
設定 | パラメータ |
インデックス タイプ | sharepoint.siteCollectionOnly=boolean
省略可。ただし、SharePoint のマルチテナント デプロイを除きます(詳細)。true に設定すると、コネクタ インデックス |
SharePoint ID マッピング
設定 | パラメータ |
ID ソースの ID | api.identitySourceId=1234567890abcdef
必須。SharePoint ローカル グループを同期するための ID ソースの ID。Google Workspace 管理者が設定した Google Cloud Search ソースの ID(検索対象のデータソースを追加するを参照)。 |
参照 ID ソース | api.referenceIdentitySources=CONTOSO,contoso
Active Directory プリンシパルの参照 ID ソースのカンマ区切りリスト。値は、参照先の Active Directory プリンシパルの Active Directory NETBIOS 名と一致します。 |
参照 ID ソースの ID | api.referenceIdentitySource.DOMAIN.id=identity-source-id
必須。Active Directory プリンシパルを同期するための ID ソースの ID。 |
Active Directory 検索
設定 | パラメータ |
Active Directory ホスト | adLookup.host=host
必須。Active Directory のホスト名(dc.contoso.com など)、または IP アドレス。 |
Active Directory 参照ポート | adLookup.port=port
省略可。デフォルトは 389 です。SSL には 686 を使用します。 |
Active Directory 参照方法 | adLookup.method=value
省略可。デフォルトは「standard」です。HTTPS 接続の場合は「ssl」に設定します。 |
Active Directory 参照ユーザー | adLookup.username=CONTOSO\user1
必須。Active Directory 参照を実行することを承認されたユーザー。 |
Active Directory 参照パスワード | adLookup.password=password123
必須。 |
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 です。
|