IBM Cloud Docs
Microsoft SharePoint Online

Microsoft SharePoint Online

オンラインの Microsoft SharePoint データソースに格納されているドキュメントをクロールします。

IBM Cloud Pak for Data IBM Software Hub

この情報は、インストールされたデプロイメントにのみ適用されます。 管理下の配置からオンラインの SharePoint サイトに接続する方法の詳細については、SharePoint Online を参照してください。

クロールされる文書

  • コンテンツの最初のクロール中に、指定したサイトコレクションパスからアクセスできるすべてのオブジェクトのドキュメントがクロールされ、コレクションに追加されます。 SharePoint コンテンツに関連付けられたカスタム メタデータもクロールされます。
  • 1つのコレクションにつき1つのサイトコレクションパスをクロールできます。
  • Discovery でサポートされているドキュメントのみがクロールされ、それ以外は無視されます。 詳細については、サポートされているファイルタイプ を参照してください。
  • 文書レベルのセキュリティがサポートされている。 このオプションを有効にすると、ユーザーは SharePoint にログインしているときにアクセスできるのと同じコンテンツをクロールしてクエリできます。 詳しくは、ドキュメントレベルのセキュリティをサポートする を参照してください。
  • ソースが再クロールされると、新しい文書が追加され、更新された文書は最新バージョンに変更され、削除された文書はコレクションのインデックスから削除されます。
  • すべてのDiscoveryデータ・ソース・コネクタは読み取り専用です。 クロールアカウントに付与された権限に関係なく、Discovery は、元のデータソースのコンテンツを書き込んだり、更新したり、削除したりすることはありません。

Discoveryは以下のオブジェクトをクロールすることができます:

  • サイトコレクション
  • サイト
  • SubSites
  • リスト
  • List Items
  • ドキュメント・ライブラリ
  • リスト項目の添付ファイル

データ・ソース要件

すべてのインストール済み配置の データ ソースの要件 に加えて、SharePoint Online データ ソースは以下の要件を満たしている必要があります:

  • 接続先のサイトコレクションは、Enterpriseプランで作成されたものである必要があります。 フロント・ワーカーのプランで作られたコレクションであることはありえない。

  • 認証方法は、認証方法を構成する際に指定するプリンシパル・タイプによって異なります。 コレクションを作成する前に、使用するプリンシパル・タイプを決定します。 使用可能なオプションは次のとおりです。

    • ユーザー: クロールのユーザーアカウントは以下の条件を満たしている必要があります:

      • アカウントには、Azure Active Directory ユーザー ID が必要で、クロールしたいすべてのオブジェクトにアクセスできる権限が必要です。 例えば、admin_user@company.onmicrosoft.com です。 ユーザーIDは Site Collection Administrator パーミッションを持っていなければなりません。

      • アカウントはレガシー認証を有効にする必要があります。 レガシー認証を有効にするには、Azure ポータルにアクセスするか、Azure Active Directory 管理者に連絡してください。

        このコネクタは、ハイブリッド ID のみを有効にする Password hash synchronization (PHS) メソッドをサポートしています。 その他のタイプ(パススルー認証やフェデレーションなど)は、自己責任で使用してください。 2020年1月以前に SharePoint オンラインアカウントを作成していない場合、アカウントにはデフォルトで2要素認証が有効になっています。 二要素認証を無効にする必要があります。

        多要素認証ステータスの確認と変更については 、「ユーザーのステータスの表示 」または 「ユーザーのステータスの変更 」を参照してください。

    • サービス:Azure Active Directory サービスプリンシパルとしてデータに接続する場合、多要素認証を使用できます。

SharePoint Onlineの詳細については 、Microsoft SharePoint 開発者向けドキュメントを参照してください。

ユーザプリンシパルを使用する際の前提条件

文書レベルのセキュリティを有効にしたい場合は、いくつかのステップを踏んで設定する必要がある。 詳しくは、文書レベルのセキュリティーについてを参照してください。

以下の表に、ユーザ・プリンシパル認証方式に設定する権限を示します。

  1. アプリを登録する。

    詳細については、マイクロソフトのドキュメントを参照してください。

  2. APIパーミッションを設定する。

ユーザー・プリンシパルAPI設定
API 権限 タイプ
Microsoft Graph (グループ) Group.Read.AllまたはGroup.ReadWrite.All 委任済み
Microsoft Graph (ディレクトリー) Directory.AccessAsUser.AllDirectory.Read.All、または Directory.ReadWrite.All 委任済み
SharePoint Online User.Read.AllまたはUser.ReadWrite.All 委任済み

サービスプリンシパルを使用する際の前提手順

サービスプリンシパルは、ユーザーが作成したアプリ、サービス、自動化ツールが特定の Azure リソースにアクセスするために使用するセキュリティ ID です。 これは、(証明書で検証された)ユーザー・アイデンティティのようなもので、特定の役割を持ち、厳しく管理された権限を持つ。 サービス プリンシパル ユーザーとして SharePoint Online に接続する場合、多要素認証を無効にしなくてもデータにアクセスできます。

サービスプリンシパルとしての接続を準備するには、以下の手順を完了する:

  1. 認証ファイルを作成する
  2. SharePoint Online にアプリケーションを登録します。
  3. 証明書を追加する
  4. APIパーミッションの設定.
  5. Azureアクセスコントロールサービス(ACS) を有効にします。
  6. サイトパーミッションを作成する

認証ファイルの作成

クローラーは、秘密鍵として以下の形式をサポートしている:

  • PKCS #1
  • パスワード付きPKCS #1
  • PKCS #8
  • パスワード付きPKCS #8

以下の手順では、パスワードなしでPKCS #1形式の秘密鍵を作成する方法を示す。

  1. 秘密鍵を作成する。

    openssl genrsa 2048 > spo-private.key
    
  2. 公開鍵を作成する。

    openssl rsa -in spo-private.key -pubout -out spo-public.key
    
  3. 証明書署名要求(CSR)ファイルを作成する。

    openssl req -new -key spo-private.key > spo-request.csr
    
  4. 認証ファイルを作成する。

    openssl x509 -req -in spo-request.csr -signkey spo-private.key -out spo.crt -days 3650
    

SharePoint Online にアプリケーションを登録する

Azure AD アプリケーションの登録については、Microsoft ドキュメントの指示に従ってください。

以下の選択をする:

  • この組織ディレクトリ内のアカウントのみオプションを選択します。
  • クライアントタイプをパブリッククライアントとして設定する。
  • アプリを登録するときに割り当てられる Azure アプリケーション (クライアント) ID をメモしておいてください。

ポータルにアプリケーションを登録すると、ホームテナントにアプリケーションオブジェクトとサービスプリンシパルオブジェクトが自動的に作成されます。

証明書の追加

先ほど作成した証明書をアップロードする。

APIパーミッションの設定

マイクロソフトのドキュメントに従って、APIパーミッションを追加してください。

以下の表に、サービス・プリンシパルの認証方法と文書レベルのセキュリティが有効になっている場合に設定する権限を示します。

ドキュメントレベルのセキュリティが有効なサービスプリンシパルのAPI設定
API 権限 タイプ
Microsoft Graph (グループ) Group.Read.All アプリケーション
Microsoft Graph (ディレクトリー) Directory.Read.All アプリケーション
SharePoint Sites.FullControl.All アプリケーション

以下の表は、サービス・プリンシパルの認証方法と文書レベルのセキュリティが無効になっている場合に設定する権限の一覧です。

ドキュメントレベルのセキュリティが無効なAPI設定のサービスプリンシパル
API 権限 タイプ
マイクロソフトグラフ Sites.Read.All アプリケーション
SharePoint Sites.Read.All アプリケーション
  1. API権限を設定した後、{tenant-name} の管理者同意をクリックします。

Azure アクセス コントロール サービス (ACS) を有効にします

この手順は、各サイトコレクションのアプリケーション権限を設定する場合にのみ必要です。

  1. SharePoint Online管理シェルを開きます。

    詳細については、SharePoint Online Management Shell を参照してください。

  2. 以下のコマンドを実行して、ACSベースのアプリ限定認証を有効にする:

    Set-PnPTenant -DisableCustomAppAuthentication $false
    

    詳細は、Set-PnPTenantを参照してください。

  3. Microsoft ドキュメントの手順に従って、SharePoint App-Only を使用してアクセスを許可します。

  4. クライアントIDとクライアントシークレットの値をコピーします。

  5. 配置に適切な許可要求を定義します。

    https://{tenant-name}.sharepoint.com/sites/{site}/_layouts/15/AppInv.aspx にアクセスしてください。

    文書レベルのセキュリティが有効な場合は、以下のXMLリクエストを指定する:

    <AppPermissionRequests AllowAppOnlyPolicy="true">
      <AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="FullControl" />
    </AppPermissionRequests>
    

    文書レベルのセキュリティが無効になっている場合は、以下のXMLリクエストを指定する:

    <AppPermissionRequests AllowAppOnlyPolicy="true">
      <AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="Read" />
    </AppPermissionRequests>
    
  6. アプリが信頼できることを確認する。

サイトパーミッションの作成

Microsoft Graph API用の Sites.Selected パーミッションを追加します。 以下のAPIを呼び出すには Sites.FullControl.All パーミッションが必要です:

curl -s -XPOST -H "Authorization: ${access_token}" -H "Content-Type: application/json" \
  https://graph.microsoft.com/v1.0/sites/{site}/permissions -d '{
  "roles": ["read"],
  "grantedToIdentities": [{
    "application": {
      "id": "{azure_ad_app_id}",
      "displayName": "{display_name}"
    }
  }]
}'

詳細については、マイクロソフトのドキュメントを参照してください。

SharePoint Online データソースへの接続

Discovery プロジェクトから、以下の手順を完了してください

  1. ナビゲーションペインから、コレクションの管理を選択します。

  2. 新しいコレクションをクリックします。

  3. SharePoint Online をクリックし、Next をクリックします。

  4. コレクションに名前をつける。

  5. SharePoint 内のドキュメントの言語が英語でない場合は、適切な言語を選択してください。

    サポートされる言語のリストについては、言語サポートを参照してください。

  6. オプション:同期スケジュールを変更します。

    詳しくは、クロールスケジュールのオプション をご覧ください。

  7. 認証方法セクションで、SharePointで認証するときに使用するプリンシパル・タイプを以下のオプションから指定します:

    • ユーザー:Active Directory組織のユーザー。

      認証情報を入力セクションで、以下のフィールドに入力します:

      ユーザー名
      クロールとインデックス化が必要なすべてのサイトとリストにアクセスできる SharePoint ユーザーのユーザー名、例えば crawl_username@company.onmicrosoft.com
      パスワード
      SharePoint ユーザーのパスワード。

      この値は返されることはなく、資格情報の作成または変更時にのみ使用されます。

    • サービス:ユーザーが作成したアプリ、サービス、自動化ツールが特定の Azure リソースにアクセスするために使用するセキュリティ ID。 これは、(証明書で検証された)ユーザー・アイデンティティのようなもので、特定の役割を持ち、厳しく管理された権限を持つ。

      サービスプリンシパルを使用するサポートがバージョン4.0.3で追加されました。

      認証情報を入力セクションで、以下のフィールドに入力します:

      テナント名

      データが存在するテナント。 例えば、ibm.onmicrosoft.com です。

      アプリケーション ID

      アプリのID。 例えば、19ce9f74-cd14-4b68-8dfc-4bcc75ed2fe9 です。 以下のファイルをアップロードしてください:

      認証ファイル

      SharePoint で作成した認証ファイル。 例えば、myinfo.crt です。

      秘密鍵ファイル

      SharePointで作成した秘密鍵ファイル。 例えば、private.app.key です。

      秘密鍵のパスワードが必要な場合は、パスワードを指定する。 このクローラーが指定されたサイトコレクションのみにアクセスする権限を持っている場合、 Azure Access Control Service スイッチを On に設定し、次の値を指定します:

      • クライアント ID
      • クライアント秘密鍵
  8. Specify what you want to crawl セクションで、以下のフィールドに値を追加する:

    サイトコレクションのURL
    SharePoint のウェブサービス URL。 例えば、https://organization_name.com です。
    ユーザー本人のみ
    サイトコレクション名フィールドで、サイトコレクションが使用する名前を指定します。 サイトコレクションの設定から名前を取得します。
  9. オプション: データ・ソース・サーバーへのアクセスにプロキシ・サーバーを使用している場合は、プロキシ設定セクションで、プロキシ設定を有効にするスイッチを On に設定します。 以下のフィールドに値を追加する:

    ユーザー名
    オプション。 プロキシサーバーが認証を必要とする場合、認証するプロキシサーバーのユーザー名。 ユーザー名が不明な場合は、ご使用のプロキシー・サーバーの管理者から入手できます。
    パスワード
    オプション。 プロキシサーバーが認証を必要とする場合、認証するためのプロキシサーバーのパスワード。 パスワードが不明な場合は、ご使用のプロキシー・サーバーの管理者から入手できます。
    プロキシサーバーのホスト名またはIPアドレス
    プロキシサーバーのホスト名またはIPアドレス。
    プロキシー・サーバーのポート番号
    プロキシサーバー上で接続したいネットワークポート。
  10. オプション: ドキュメントレベルのセキュリティを有効にしたい場合は、セキュリティセクションで、ドキュメントレベルのセキュリティを有効にするスイッチを On に設定します。

    このオプションを有効にすると、ユーザーは SharePoint にログインしているときにアクセスできるのと同じコンテンツをクロールしてクエリできます。 詳しくは、ドキュメントレベルのセキュリティをサポートする を参照してください。

    ユーザー本人のみ:このオプションを有効にすると、登録時にアプリケーションに割り当てられた Azure ID を Application ID フィールドに追加する必要があります。

    ドキュメント レベルのセキュリティを有効にするには、SharePoint にアプリケーションを登録する必要があります。 詳細については、使用するプリンシパル・タイプの前提条件を参照してください。

  11. クローラーにサイト上の画像からテキストを抽出させたい場合は、その他の処理設定を展開し、光学式文字認識(OCR)を適用On に設定します。

    OCRが有効で、文書に画像が含まれている場合、処理に時間がかかります。 詳しくは、光学式文字認識 をご覧ください。

  12. 「完了 (Finish)」 をクリックします。

コレクションは素早く作られる。 データがコレクションに追加されるため、処理に時間がかかる。

進捗状況を確認したい場合は、アクティビティページにアクセスしてください。 ナビゲーションペインから、コレクションの管理をクリックし、クリックしてコレクションを開きます。