はじめに
Vitextra Organizational Chart は、従業員データを独自に保存することはありません。表示される名前、役職、上司との関係、写真、プレゼンスはすべて、実行時に Microsoft Graph APIを介して Microsoft Entra IDから読み取られます。これを可能にするため、Web パーツにはテナント管理者が 1 回承認する少数の API アクセス許可が必要です。
この記事では、これらのアクセス許可の一覧と、それぞれの用途、承認方法、アクセス許可が不足している場合のチャートの表示について説明します。対象読者は、SharePoint および Microsoft 365 の管理者と、導入前に製品を評価する必要があるセキュリティ レビュー担当者です。
アクセス許可
Organizational Chart は、Microsoft Graph に対して 3 つの委任されたアクセス許可を要求します。
| アクセス許可 | 用途 | 不足している場合 |
|---|---|---|
Directory.Read.All | ユーザーの一覧と、各アカウントの上司との関係の読み取り。階層の構築に使用されるデータです | チャートで従業員を読み込めず、エラーが表示されます |
User.Read.All | カードに表示されるプロファイル属性 (役職、部署、勤務地、電話番号、住所など) と従業員の写真の読み取り | チャートで従業員プロファイルを読み込めず、エラーが表示されます |
Presence.Read.All | 各カードへの Microsoft Teams のリアルタイムのプレゼンス インジケーター (連絡可能、取り込み中、退席中、応答不可、オフライン) の表示 | チャートは動作しますが、プレゼンス インジケーターは表示されません |
3 つとも委任されたアクセス許可です。Web パーツは常にサインインしているユーザーの代わりに Microsoft Graph を呼び出し、独自のアプリケーション ID を使用することはありません。そのため、訪問者が Microsoft 365 でディレクトリを参照しても見ることのできない情報が、チャートに表示されることはありません。チャートは、同じ情報をより便利な形で表示するだけです。
📝 注
アクセス許可は、テナント内のすべての SPFx ソリューションが共有する SharePoint Online Client Extensibility アプリケーション プリンシパルのレベルで要求されます。別の Vitextra 製品 (たとえば Employee Directory) で同じスコープがすでに承認されている場合、Organizational Chart の要求は自動的に許可され、保留中としては表示されません。
アクセス許可の承認
アクセス許可の要求は、Organizational Chart パッケージがテナントのアプリ カタログに展開されると自動的に登録されます。承認するには、次の手順に従います。
- グローバル管理者または SharePoint 管理者のロールを持つアカウントで、SharePoint 管理センターにサインインします。
- 左側のナビゲーションで [詳細設定] を展開し、[API アクセス] を選択します。
- [保留中の要求] で、Microsoft Graph リソースに対する Organizational Chart パッケージからの要求 (
Directory.Read.All、User.Read.All、Presence.Read.All) を見つけます。 - 各要求を選択し、[承認] をクリックします。表示されるパネルで承認を確認します。

承認されたアクセス許可は [承認済みの要求] の一覧に移動し、そこでいつでも確認または取り消しができます。
❗ 重要
承認はすぐに有効になりますが、すでにページを開いているユーザーはページを再読み込みする必要があります。また、ブラウザーは以前の承認結果を短時間キャッシュするため、承認の数分後にもチャートにエラーが表示される場合は、少し待ってからページを更新し、それでも解決しない場合に原因を調査してください。
💡 ヒント
パッケージのアプリ カタログへのアップロード、すべてのサイトでの有効化、アクセス許可の承認を含む、展開手順の全体は、KB10035. クラウドベースの製品のインストールで説明しています。
アクセス許可が不足している場合の動作
3 つのアクセス許可は、それぞれ異なる形で動作に影響するため、問題の診断に役立ちます。
Directory.Read.AllまたはUser.Read.Allが承認されていない場合。 チャートでディレクトリをまったく読み込めません。ツリーの代わりに、Web パーツには Sorry, something went wrong. Please refresh the page and try again. というメッセージと、ページの編集者向けの Configure ボタンが表示されます。保留中の要求を承認し、ページを再読み込みしてください。Presence.Read.Allが承認されていない場合。 チャートは読み込まれ、すべてのカードが表示されますが、写真上のプレゼンスを示すドットが全員分表示されません。これは最もよくある部分的な状態で、ディレクトリ関連の 2 つのアクセス許可は承認されているものの、プレゼンスの要求が見落とされています。- 展開後にアクセス許可が取り消された場合。 症状は上記と同じです。取り消されたアクセス許可は [保留中の要求] に再び表示され、もう一度承認できます。

📝 注
プレゼンスにはアクセス許可だけでは不十分です。ユーザーが Microsoft Teams のライセンスを持ち、Teams にサインインしている必要があります。Teams を使用していないユーザーは、Presence.Read.All が承認されていても、常にプレゼンス インジケーターなしで表示されます。
チャートを表示できるユーザー
Web パーツは委任されたアクセス許可を使用するため、チャートへのアクセスは次の 2 つによって決まります。
- ページへのアクセス。 訪問者は、Web パーツをホストしている SharePoint ページまたは Teams タブを開ける必要があります。通常の SharePoint と Teams のアクセス許可が適用されます。
- ディレクトリへのアクセス。 組織のすべてのメンバーは、既定で Microsoft 365 の基本的なディレクトリ情報を読み取ることができるため、ページにアクセスできるすべての訪問者に同じチャートが表示されます。一方、ゲスト ユーザーはチャートに読み込まれず、通常はディレクトリ全体を読み取ることもできません。
Organizational Chart は、独自のアクセス許可レイヤーを追加しません。特定の訪問者から個々の従業員を非表示にすることも、Microsoft 365 の他の場所で読み取れないデータへのアクセスを誰かに付与することもありません。サービス アカウント、共有メールボックス、テスト ユーザーなど、特定のアカウントをチャートから完全に除外するには、Web パーツのフィルター機能と除外オプションを使用します。詳細は KB10233. Organizational Chart Web パーツの追加と構成方法で説明しています。
データの取り扱い
セキュリティ レビューでは、通常、次の点が関係します。
- 従業員データは、ユーザーのブラウザーによって Microsoft Graph から直接読み取られ、Vitextra やサードパーティのサービスには送信されません。
- 読み込まれたディレクトリのスナップショットは、再訪問を高速化するために、ブラウザーのローカル ストレージに最大 12 時間保持されます。ユーザーごと、ブラウザーごとに保存され、デバイスの外に出ることはありません。
- 写真とプレゼンスは、画面に表示されているカードに対してのみ要求され、ページ セッションを超えてキャッシュされることはありません。
- Web パーツが Vitextra のサーバーに接続するのは、テナントのライセンス状態の確認、アイコンなどの静的アセットの読み込み、製品の使用状況に関する匿名テレメトリの収集の場合のみです。これらの要求にディレクトリ データは含まれません。
💡 ヒント
製品の概要については、KB10232. Organizational Chart: ソリューションの概要を参照してください。すべてのアクセス許可が承認されているにもかかわらず従業員がチャートに表示されない場合は、KB10236. Organizational Chart に表示されないユーザーがいる理由を参照してください。