メインコンテンツまでスキップ

SharePoint 取り込み用の OAuth M2M を構成する

備考

ベータ版

SharePoint コネクタはベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。「Databricks プレビューの管理」を参照してください。

備考

プレビュー

SharePoint の M2M OAuth はパブリック プレビュー段階です。

Databricks への SharePoint 取り込み用に OAuth マシン間 (M2M) 認証を構成する方法を学習します。

どの権限モデルを使用すればよいですか?

M2M 認証は、Microsoft Azure で次のアクセス許可モデルをサポートしています。

  • Sites.Read.All : 組織内のすべての SharePoint サイトへのアクセスを許可します。このオプションではセットアップステップは少なくなりますが、より幅広いアクセスが可能になります。
  • Sites.Selected : 特定の SharePoint サイトへのアクセスのみを許可します。これには追加の構成が必要ですが、最小権限の原則に従います。

Databricks 、サービスプリンシパルのアクセスを取り込む必要があるサイトのみに制限するために、可能な場合はSites.Selectedを使用することをお勧めします。

前提条件

  • Microsoft Entra ID テナントの管理者権限。

Sites.Read.All権限

このオプションにより、サービスプリンシパルに組織内のすべての SharePoint サイトへのアクセスが許可されます。

ステップ 1: SharePoint サイト ID を取得する

  1. ブラウザで目的の SharePoint サイトにアクセスします。
  2. URL に/_api/site/id追加します。
  3. Enter キー を押します。

ステップ 2: SharePoint ドライブ名を取得する (オプション)

SharePoint サイト内のすべてのドライブとドキュメントを取り込む場合は、この手順をスキップしてください。 ドライブのサブセットのみを取り込む場合は、その名前を収集する必要があります。

ドライブ名は左側のメニューに表示されます。各サイトには 「ドキュメント」 と呼ばれるデフォルトのドライブがあります。ただし、組織には追加のドライブがある可能性があります。たとえば、次のスクリーンショットのドライブには、 doclib1subsite1doclib1などが含まれます。

SharePoint ドライブを表示

一部のドライブは、リストから非表示になっている場合があります。ドライブの作成者は、ドライブ設定でこれを構成できます。この場合、隠しドライブは サイト コンテンツ セクションに表示される可能性があります。

非表示の SharePoint ドライブを表示する

ステップ 3: Microsoft Entra ID アプリケーションを作成する

このステップでは、サービスプリンシパルを使用して SharePoint ファイルにアクセスできるアプリケーション登録を作成します。

  1. Microsoft Azureポータル( https://portal.azure.com )では、 Microsoft Entra IDを クリックします。「Microsoft Entra ID」を検索する必要があるかもしれません。

    Azure ポータル: Entra ID カード

  2. 左側のサイドバーの 「管理」 セクションで、 「アプリの登録」 をクリックします。

  3. 新規登録 」をクリックします。

    Entra IDアプリの新しい登録ボタン

  4. アプリケーションの登録 フォームで、次の項目を指定します。

    • アプリケーションの名前 (例: 「Databricks SharePoint Ingestion」)。
    • 他のテナントがこのアプリケーションにアクセスできるようにするかどうか。

    M2M 認証ではリダイレクト URL を指定する必要はありません。

  5. 「登録する」 をクリックします。 アプリの詳細ページにリダイレクトされます。

  6. 次の値をメモします。

    • アプリケーション (クライアント) ID
    • ディレクトリ (テナント) ID
  7. クライアント資格情報 : 証明書またはシークレットの追加 をクリックします。

  8. + 新しいクライアントのシークレット 」をクリックします。

    + 新しいクライアントシークレットボタン

  9. 説明を追加します。

  10. [追加] をクリックします。更新されたクライアント シークレットのリストが表示されます。

  11. クライアントシークレットの値をコピーして安全に保存します。ページを離れた後は、クライアント シークレットにアクセスできなくなります。

ステップ 4: API権限を構成する

SharePoint ファイルを読み取るために必要な権限をアプリケーションに付与します。

  1. アプリ登録ページで、左側のメニューの 「API 権限」 をクリックします。

  2. + 権限を追加 を クリックします。

  3. [API アクセス許可の要求] パネルで、 [Microsoft Graph] をクリックします。

  4. [アプリケーションの権限] をクリックします。

  5. 次の権限を検索して選択します。

    • サイト.Read.All
    • ファイル.読み取り.すべて
  6. [権限の追加] をクリックします。

  7. [あなたの組織名] の管理者の同意を付与する をクリックします。

  8. 「はい」 をクリックして確定します。

    権限リストの ステータス 列には、管理者の同意が付与されたことを示す緑色のチェックマークが表示されます。

ステップ 5: Databricksで接続を作成する

  1. カタログ エクスプローラーで、左側のメニューの [外部データ] をクリックします。

  2. 接続の作成 をクリックします。

  3. [接続の作成] ダイアログで、以下を指定します。

    • 接続名 : 接続の一意の名前
    • 接続タイプ : Microsoft SharePoint
    • 認証タイプ : OAuth マシン間
    • Client ID : ステップ 3 のアプリケーション (クライアント) ID
    • Client Secret : ステップ 3 のクライアント シークレットの値
    • ドメイン : SharePointドメイン(形式: https://YOURINSTANCE.sharepoint.com
    • テナント ID : ステップ 3 のディレクトリ (テナント) ID
  4. 作成 をクリックします。

Sites.Selected権限

このオプションは、サービスプリンシパルのアクセスを特定の SharePoint サイトのみに制限します。

ステップ 1-3: 基本セットアップを完了する

Sites.Read.Allセクションのステップ 1 ~ 3 に従ってください。 これらのステップは両方の権限モデルで同じです。

  1. SharePoint サイト ID を取得します。
  2. SharePoint ドライブ名を取得します (オプション)。
  3. Microsoft Entra ID アプリケーションを作成します。

ステップ 4: API権限を構成する Sites.Selected

サイト固有の追加承認を必要とする制限された権限をアプリケーションに付与します。

  1. アプリ登録ページで、左側のメニューの 「API 権限」 をクリックします。

  2. + 権限を追加 を クリックします。

  3. [API アクセス許可の要求] パネルで、 [Microsoft Graph] をクリックします。

  4. [アプリケーションの権限] をクリックします。

  5. Sites.Selected を検索して選択します。

  6. [権限の追加] をクリックします。

  7. [あなたの組織名] の管理者の同意を付与する をクリックします。

    このステップには、 Microsoft Entra ID テナントの管理者権限が必要です。

  8. 「はい」 をクリックして確定します。

    権限リストの ステータス 列には、管理者の同意が付与されたことを示す緑色のチェックマークが表示されます。

ステップ 4b: サイト固有の権限を付与する

Azure でSites.Selected構成した後、特定の SharePoint サイトへのアプリケーション アクセスを明示的に許可する必要があります。これは、Microsoft Graph Explorer または Python ノートブックを使用して実行できます。

  1. Microsoft Graph Explorerに移動します。

  2. SharePoint サイトの管理者権限を持つアカウントでサインインします。

  3. [権限の変更] をクリックし、必要な権限 (Sites.FullControl.All) に同意します。

  4. HTTP メソッドを POST に変更します。

  5. 次の URL を入力し、 {site_id}ステップ 1 の SharePoint サイト ID に置き換えます。

    https://graph.microsoft.com/v1.0/sites/{site_id}/permissions
  6. リクエスト本文 セクションで、プレースホルダー値を置き換えて次の JSON を貼り付けます。

    JSON
    {
    "roles": ["read"],
    "grantedToIdentities": [
    {
    "application": {
    "id": "<YOUR_CLIENT_ID>",
    "displayName": "<YOUR_APP_NAME>"
    }
    }
    ]
    }

    以下のように置き換えてください。

    • <YOUR_CLIENT_ID>: ステップ 3 のアプリケーション (クライアント) ID
    • <YOUR_APP_NAME>: アプリケーション登録名
  7. クエリの実行を クリックします。

    成功した応答は、許可が付与されたことを示します。

ステップ 5: Databricksで接続を作成する

アプリケーション登録の資格情報を使用してDatabricksで接続を作成するには、 Sites.Read.Allセクションのステップ 5 に従います。

次のステップ

  1. Microsoft SharePoint 取り込みパイプラインを作成する
  2. 一般的なパイプラインメンテナンスタスク