ENSOU AIヘルプセンター
外部サービスと連携する

SharePoint連携の仕様ついて

Microsoft Entra IDと連携すると、次のようなことができるようになります。

image.png

ENSOUAIとMicrosoft Entra IDをつなぐ目的

Microsoft Entra IDと連携すると、次のようなことができるようになります。

①組織のMicrosoftアカウントでENSOUにログインできるようになる

ユーザーは新たにIDやパスワードを覚える必要がなく、すでに使っているMicrosoftアカウントでそのままログインできます。

②SharePoint上のドキュメントをENSOUのAIが参照できるようになる

ユーザーが普段利用しているチームサイトの資料を検索・要約・Q&Aに活用できるようになります。


接続の流れ

実際の操作は、管理者が行う部分と、各ユーザーが行う部分に分かれます。

最初に、組織の管理者(Entra IDのグローバル管理者またはSharePoint管理者)が、ENSOUに対して「この組織のSharePointを読み取ることを許可する」という承認を一度だけ行います。これは、Entra IDの管理画面から「管理者の同意(アクセス許可の付与)」を実行する形になります。

その後は、各ユーザーが自分のMicrosoftアカウントでENSOUにサインインし、自分のSharePointへのアクセスをENSOUに許可します。ユーザーごとに、自分の権限の範囲だけがENSOUから利用されます。

まとめると、最初に一度だけ管理者が組織として「ENSOUを使ってよい」と許可し、その後はユーザーが自分のアカウントをENSOUに紐づけて利用していくイメージです。


ENSOUがアクセスできる範囲

ENSOUはSharePointに対して「読み取り専用」でアクセスします。

ここでいう「読み取り専用」とは、次のようなイメージです。

ENSOUは、SharePoint上のファイルを「読むこと(内容を参照すること)」しかできません。ファイルを新しく作成したり、上書き保存したり、削除したり、フォルダ構造やアクセス権限を変更したりすることはできません。

また、アクセスできるのは「そのユーザーがもともと閲覧できるファイルだけ」です。

ユーザーがSharePoint上で閲覧権限を持っていないチームサイトやファイルは、ENSOUからも一切参照できません。ENSOUが勝手に他の部署の機密資料などを見られるようになることはありません。

さらに、ENSOUはお客様のテナント内のSharePointにしかアクセスできず、他の会社のテナントや別の組織のSharePointに勝手にアクセスすることはありません。


ENSOUが要求するスコープ(権限)の考え方

スコープとは「このアプリにどこまでさせても良いか」をMicrosoft側に伝えるための項目です。

ENSOUは、次の目的でスコープを利用します。

まず、SSO(シングルサインオン)ログインのために、ユーザーの基本的な情報へのアクセスを求めます。これは、ユーザーを識別し、表示名やメールアドレスを確認するための最低限の情報です。

このとき利用する主なスコープは、以下の項目です

openid、profile、email、User.Readです。

SSOログイン用スコープ(委任権限)

スコープ用途タイプMicrosoftリファレンス
openidOpenID Connect認証トークン取得SSO (委任)scopes-oidc#openid
profileユーザーの氏名・表示名等の基本情報SSO (委任)scopes-oidc#profile
emailユーザーのメールアドレスSSO (委任)scopes-oidc#email
User.Readサインインユーザーのプロファイル読み取りSSO (委任)permissions-reference#userread

これらは、Microsoftが一般的なログイン連携で利用する標準的なスコープであり、ユーザーの基本プロフィール情報を取得するために使われます。

次に、SharePointのドキュメントを読めるようにするために、以下のスコープを利用します。

スコープ用途タイプMicrosoftリファレンス
Sites.Read.AllSharePointサイトおよびリストの読み取りSharePoint接続 (委任)permissions-reference#sitesreadall
Files.Read.AllSharePoint上のファイル・ドキュメントの読み取りSharePoint接続 (委任)permissions-reference#filesreadall
offline_accessバックグラウンドでのトークン自動更新SharePoint接続 (委任)scopes-oidc#offline_access

名前に「All」とついていますが、ENSOUが取得できるのは「そのユーザーに元々閲覧権限がある範囲」に限られます。ユーザーがSharePoint上で見られない情報を、ENSOUだけが特別に見られるようになることはありません。

また、offline_access というスコープも利用します。これは、ユーザーが毎回ログイン操作をしなくても、一定期間ENSOUがユーザーに代わってSharePointにアクセスできるようにするためのものです。たとえば、夜間にインデックス更新などを行う際に、毎回ユーザーにパスワード入力をお願いしなくてもよいようにするために使われます。

管理者の同意(Admin Consent)を行う際には、以下のスコープを利用します。

スコープ用途タイプMicrosoftリファレンス
https://graph.microsoft.com/.default登録済み全アプリケーション権限での管理者一括同意管理者同意 (アプリケーション)v2-oauth2-auth-code-flow

これは、組織として「このアプリに、設定されている読み取り専用権限を使うことを許可する」という意味です。


管理者と一般ユーザーの役割分担

Entra ID側の「グローバル管理者」または「SharePoint管理者」は、組織としての初回セットアップを担当します。ENSOU側の「組織管理者」役と連携し、管理画面から管理者同意のフローを実行します。

一方、日常的な利用は「一般ユーザー」が行います。

一般ユーザーは、自分のMicrosoftアカウントでENSOUにログインし、自分のSharePointへのアクセスをENSOUに許可します。そのうえで、AIチャットなどの機能からSharePointのドキュメントを参照できるようになります。

「管理者の仕事」は、最初に一度だけ行う設定が中心です。

それ以降は、ユーザーが通常通りSharePointを使うのと同じ感覚でENSOUを利用できるようになります。


安全性に関する考え方

ENSOUは、SharePointへのアクセスを「読み取り専用」に絞り込み、必要最低限のスコープだけを利用することで、権限の持ちすぎを避けるように設計されています。

また、アクセスに利用するトークン(ログイン情報のようなもの)は、適切に保護された形で保存され、ログなどに出力されないように設計されています。これにより、第三者がトークンを不正に取得してSharePointにアクセスするリスクを抑えています。

さらに、利用できるのは、組織内のSharePointチームサイトのファイルだけになるように制限しています。個人用のOneDriveエリア(*-my.sharepoint.com)などは標準では対象外とし、業務のチームサイトの情報を中心に扱う前提になっています。

ロールと権限の対応

Entra ID (Azure AD) のロール

EntraロールENSOUでの役割必要な操作
グローバル管理者 / SharePoint管理者組織でのSharePoint接続初期セットアップ担当管理者同意 (Admin Consent) の実行
一般ユーザー日常的なSharePoint接続ユーザー個別のOAuth委任認証

ENSOUのロール

ENSOUロール説明実行できる操作
組織管理者 (admin)組織全体の設定管理者SharePoint接続設定・管理者同意フロー実行・SSO設定
一般ユーザー (general)通常の利用者自分のEntra IDアカウントによる個別SharePoint認証

ロール対応表

操作必要なENSOUロール必要なEntraロール
SharePoint接続の初回設定(管理者同意)組織管理者 (admin)グローバル管理者 / SharePoint管理者
個別SharePoint接続(委任OAuth)一般ユーザー以上一般ユーザー
SSOログイン設定組織管理者 (admin)グローバル管理者
SSOでのログイン全ユーザー一般ユーザー
AIチャットでSharePointドキュメント参照全ユーザー(個別接続済み)一般ユーザー