プランの認証とアクセス許可

適用対象: Developer

この記事では、SharePoint Embedded アプリケーションの認証と承認を計画する方法について説明します。

SharePoint Embedded アプリケーションは Microsoft Graph を使用してコンテナーとコンテンツにアクセスします。

認証に関する完全なリファレンスについては、「 SharePoint Embedded の認証と承認」を参照してください。

基本原則

SharePoint Embedded の認証と承認は、次の原則に従います。

  • アプリケーションは、Microsoft Graph を介して SharePoint Embedded と対話します。
  • アプリケーションがそのコンテナー・タイプのコンテナーにアクセスするには、コンテナー・タイプのアプリケーション権限が必要です。
  • アプリケーションは、ユーザーの代わりに委任アクセスを使用する場合にのみ、ユーザーがメンバーであるコンテナーにアクセスできます。
  • アプリケーションは、ユーザーなしでアプリのみのアクセスを使用する場合、コンテナーの種類アプリケーションのアクセス許可によって有効になっているすべてのコンテナーにアクセスできます。
  • アプリケーションでは、セキュリティとアカウンタビリティを強化するために、可能な限り委任アクセスを使用する必要があります。

前提条件

プラン:

  • Microsoft Entra ID アプリケーションの登録。
  • Microsoft Entra ID テナント内の Microsoft 365 サブスクリプション。
  • SharePoint Embedded 操作に対する Microsoft Graph のアクセス許可。
  • コンテナー タイプの登録を通じて付与されるコンテナー タイプのアプリケーション アクセス許可。
  • 使用中のテナントでの管理の同意。

権限レイヤー

SharePoint Embedded アクセスには複数のレイヤーがあります。

Layer 用途
Microsoft Graph のアクセス許可 アプリが SharePoint Embedded エンドポイントを呼び出すことを許可します。
コンテナーの種類 アプリケーションのアクセス許可 アプリが特定のコンテナー タイプのコンテナーにアクセスできるようにします。
コンテナーのアクセス許可 委任アクセスのためにユーザーが特定のコンテナーで実行できる操作を決定します。

重要

Microsoft Graph のアクセス許可だけでは、コンテナーへのアクセスは許可されません。 アプリケーションには、コンテナーの種類に対するアクセス許可も付与されている必要があります。

代理アクセス

委任アクセスとは、アプリケーションがユーザーに代わって動作することを意味します。

ユーザーに代わって SharePoint Embedded 操作を行うには、Microsoft Graph FileStorageContainer.Selected 委任されたアクセス許可が必要です。

この委任されたアクセス許可には、使用中のテナントに対する管理者の同意は必要ありません。

また、ユーザーにはコンテナーのアクセス許可も必要です。

アプリケーションの有効なアクセス許可は、以下の共通部分です。

  • コンテナーの種類に付与されたアプリケーション アクセス許可。
  • コンテナーに対するユーザーのアクセス許可。

可能な限り委任アクセスを使用します。

代理アクセスを使用すると、アクションをユーザーに関連付けることができるので、監査性が向上します。

コンテナー作成のための機密クライアントの要件

コンテナーを作成するには、 機密 クライアント アプリケーション (クライアント シークレットまたは証明書を保持し、それを非公開にしておくアプリケーション) が必要です。 シングルページ アプリ、モバイル アプリ、デスクトップ アプリなどのパブリック クライアント アプリケーションからのトークンを使用する呼び出しの作成は失敗します。

アプリのフロントエンドがパブリック クライアントである場合にトークンを取得して Microsoft Graph を呼び出すバックエンド コンポーネントを計画します。 クライアント資格情報フローは機密であるため、アプリのみの作成は既にこの要件を満たしています。

詳細については、「 パブリック クライアントおよび機密クライアント アプリケーション」を参照してください。

アプリのみのアクセス

アプリのみアクセスとは、アプリケーションがユーザーなしで動作することを意味します。

ユーザーのいない SharePoint Embedded 操作には、Microsoft Graph FileStorageContainer.Selected アプリケーションのアクセス許可が必要です。

このアクセス許可には、使用中のテナントに対する管理者の同意が必要です。

アプリのみのアクセスでは、アプリは、そのコンテナーの種類アプリケーションのアクセス許可で有効になっているすべてのコンテナーにアクセスできます。

ユーザーの代わりに実行できないバックグラウンド操作には、アプリのみのアクセスを使用します。

コンテナー タイプのアプリケーションのアクセス許可を付与するときに、最小限の特権を適用します。

消費テナントの管理者は、アプリケーションのアクセス許可要求に同意する必要があります。

アプリケーションFileStorageContainer.Selectedアクセス許可には管理同意が必要です。 委任された FileStorageContainer.Selected には管理者の同意は必要ありません。

コンテナーの種類の登録には、所有アプリケーションが消費テナントで動作するための同意も必要です。

コンテナーの種類の登録については、 ファイル ストレージ コンテナーの種類のアプリケーション アクセス許可の登録を参照してください。

コンテナーの種類のアクセス許可 (Microsoft Graph)

コンテナーの種類の作成、管理、登録は、Microsoft Graph の操作になりました。 これらのアクセス許可を計画します:

アクセス許可 用途 Tenant
FileStorageContainerType.Manage.All 所有テナントでコンテナーの種類を作成して管理します。 所有のみ
FileStorageContainerTypeReg.Selected 消費テナントにコンテナーの種類を登録します。 消費
FileStorageContainer.Selected 消費テナントにおけるコンテナーの種類のコンテナーにアクセスします。 消費

FileStorageContainerType.Manage.All委任された アクセス許可であり、 管理者の同意は必要ありません。 所有テナントのゲスト以外のユーザーは、それに同意し、それを使用してコンテナーの種類を作成することができ、 その後、そのコンテナーの種類の所有者として自動的に割り当てられます。 (2026 年 6 月より前は、これには SharePoint Embedded 管理者またはグローバル管理者ロールが必要でした。)

重要

FileStorageContainerType.Manage.All コンテナーの種類を作成するには所有 ナントでのみ必要です。 消費するテナントに配布する前に、顧客が過度なアクセス許可を求められないように、アプリケーション マニフェストから削除してください。 テナントの消費では、 FileStorageContainerTypeReg.SelectedFileStorageContainer.Selectedのみを要求します。

コンテナーの種類 アプリケーションのアクセス許可

コンテナー タイプのアプリケーションのアクセス許可は、コンテナー タイプの登録を通じて所有アプリケーションによって付与されます。

これらのアクセス許可は、コンテナー タイプのコンテナーに対してアプリケーションが実行できる操作を定義します。

コンテナーの種類 アプリケーションのアクセス許可には、次のものが含まれます。

  • None
  • ReadContent
  • WriteContent
  • Create
  • Delete
  • Read
  • Write
  • EnumeratePermissions
  • AddPermissions
  • UpdatePermissions
  • DeletePermissions
  • DeleteOwnPermission
  • ManagePermissions
  • ManageContent
  • Full

アプリケーションに必要なアクセス許可のみを付与します。

たとえば、バックアップまたは分析のための読み取りアクセスのみが必要な場合は、バックグラウンド ゲスト アプリに Full を付与しないでください。

コンテナーのアクセス許可

コンテナーのアクセス許可はユーザーに適用されます。

ユーザーに代わってアクセスする場合のみ適用されます。

コンテナーにアクセスするすべてのユーザーは、コンテナーのメンバーである必要があります。

コンテナー メンバーシップは、そのコンテナーのアクセス許可をユーザーに付与します。

SharePoint Embedded では、次のコンテナーの役割がサポートされています。

役割 概要
Reader コンテナーのプロパティと内容を読み取ります。
ライター 閲覧者のアクセス許可に加えて、コンテンツの作成、更新、削除、適用可能なコンテナー プロパティの更新。
Manager ライターのアクセス許可に加えて、コンテナーのメンバーシップの管理。
Owner マネージャーのアクセス許可とコンテナーの削除。

ユーザーが代理呼び出しを使用して新しいコンテナーを作成すると、そのユーザーに所有者ロールが自動的に割り当てられます。

コンテナーの種類の所有者

コンテナーの種類の所有者は、コンテナーの所有者とは異なります。 これらは、所有テナントのコンテナーの種類自体を管理 します

  • 自動割り当て: コンテナー タイプを作成したユーザーは、所有者として自動的に割り当てられます。
  • 所有者を追加または削除する: コンテナーの種類 permissions 関係 (ベータ版) を使用して、コンテナーの種類ごとに最大 3 人の 所有者を管理します。 POST /storage/fileStorage/containerTypes/{id}/permissions は所有者を追加し、 DELETE /storage/fileStorage/containerTypes/{id}/permissions/{permissionId} は特定の所有者権限を削除します。
  • 機能: 委任モードで FileStorageContainerType.Manage.All を使用すると、所有者は、所有するコンテナの種類を作成、読み取り、更新、削除し、その所有者を管理し、その種類のコンテナを作成できます (委任呼び出しのみ)。
  • 制限事項: 外部 ID (ゲスト ユーザー) は、コンテナーの種類の所有者にはなれません。 所有者情報は所有テナント にのみ 存在し、登録時に消費テナントには伝達されません。
  • 有効なアクセス: 所有者機能はユーザーのアクセス許可です。有効なアクセスとは、アプリの Graph アクセス許可と所有者ロールの共通部分です。

コンテナーの種類の登録への影響

所有アプリケーションが消費テナントで動作する場合:

  • 所有するアプリのサービス プリンシパルが使用中のテナントにインストールされている必要があります。
  • 所有しているアプリには、コンテナーの種類の登録を実行するための管理者の同意が付与されている必要があります。
  • コンテナー タイプの所有アプリケーションのみが、消費テナントで登録 API を呼び出すことができます。

登録 API は、所有するアプリとゲスト アプリのアクセス許可を指定します。

前回成功した登録 API 呼び出しによって、消費しているテナントで使用される設定が特定されます。

例外的なアクセス パターン

通常の Microsoft Graph 承認パターンに従わない操作を計画します。

例外的なアクセス パターンは次のとおりです。

  • Microsoft Graph を介した所有テナントのコンテナーの種類管理。
  • Microsoft Graph (FileStorageContainerTypeReg.Selected) を介した消費テナントでのコンテナーの種類の登録。
  • FileStorageContainer.Manage.All と SharePoint Embedded 管理者またはグローバル管理者のサインイン ユーザーを必要とする管理用コンテナー操作。
  • プレビュー中に追加のアクセス許可が必要な Microsoft Search のシナリオ。
  • 現在ユーザー ライセンスが必要な操作。

特権機能や検索を多用する機能を設計する前に、これらを確認してください。

セキュリティに関する考慮事項

  • ユーザー主導の操作には委任アクセスを優先します。
  • サービス操作に必要な場合にのみ、アプリのみのアクセスを使用してください。
  • コンテナーの種類レベルで最小限の特権を付与します。
  • コンテナー メンバーシップ レベルで最小限の特権を付与します。
  • 正しいテナントで管理者の同意を要求します。
  • 登録は顧客オンボードの一部として扱います。
  • シナリオで必要な場合を除き、広範なゲスト アプリ アクセスは避けます。
  • テナント管理者と一緒に監査とコンプライアンスへの影響を確認します。

計画チェックリスト

  • Microsoft Entra ID アプリケーションを登録します。
  • どの操作で委任アクセスを使用するかを決定します。
  • アプリのみのアクセスを使用する操作を決定します。
  • Microsoft Graph FileStorageContainer.Selected のアクセス許可を要求します。
  • コンテナーの種類の作成と登録のために、Microsoft Graph FileStorageContainerType.Manage.All (所有テナント) と FileStorageContainerTypeReg.Selected (使用テナント) を要求します。
  • 使用する各テナントでのプランの管理者の同意。
  • コンテナーの種類のアプリケーションのアクセス許可を定義します。
  • ユーザー コンテナー ロールを定義します。
  • ゲスト アプリとそのアクセス許可を特定します。
  • 例外的なアクセス パターンを確認します。

次の手順

スケールとパフォーマンスの制約を確認する: 制限と呼び出しパターンを理解します