アプリ専用とも呼ばれるアプリケーション コンテキストを使用した SharePoint へのアクセス
SharePoint に対してアプリ専用を実行するには、2 つの方法があります。
- Azure AD アプリケーションを使用する。これは、他の Office 365 サービスに (必要な場合に) アクセス許可を付与することも可能で、アプリ プリンシパルを維持するためのユーザー インターフェイス (Azure portal) があるため、SharePoint Online を使用する場合に推奨される方式です。
- SharePoint アプリ専用プリンシパルを使用する。この方式は古く、SharePoint アクセスでしか機能しませんが、依然として関連しています。 この方式は SharePoint オンプレミスと SharePoint Online の両方で動作するため、まだオンプレミスの SharePoint で作業している場合にも推奨されるモデルです。
両方の方式の詳細については、次の記事をご覧ください。
アプリ専用を使用する際の制限とは
次の場合、アプリ専用は動作しません。
- 分類サービス エントリの更新 (書き込み) - 読み取りは機能します
- モダン チーム サイトの作成では、SharePoint API を使用するときにアプリ専用はサポートされません。 Microsoft Graph を使用してモダン チーム サイトを作成し、グループを作成する場合は、シナリオとしてアプリ専用がサポートされます
- コミュニケーション サイトの作成はアプリ専用のコンテキストでサポートされていますが、所有者のプロパティが必要です。 SharePoint API を使用する
- SharePoint オンプレミスを使用するときの検索。 これについて、SharePoint Online のサポートが追加されています (ブログの投稿)
- ユーザー プロファイル CSOM 書き込み操作は Azure AD アプリケーションでは機能しません - 読み取り操作は機能します。 SharePoint アプリ専用プリンシパルでは、読み取りおよび書き込み操作の両方が機能します
- ユーザー プロファイル一括更新 API はアプリ専用のアクセス許可で使用できます
- WebDav プロトコルと CSOM (または
File.OpenBinaryDirect
を使用) を使用File.SaveBinaryDirect
したファイルの操作は、アプリでのみ機能しません。 代わりに と をFile.OpenBinaryStream
使用File.SaveBinary
します。 - API の
Microsoft.SharePoint.Client.Web.ShareObject()
使用はアプリのみのアクセス許可でテストされておらず、一貫して機能しない可能性があります。 推奨される方法は、アプリとユーザー のコンテキストでのみ使用することです。
重要
上記のシナリオが重要な場合、サービス アカウントを定義して、いずれかのアクセス許可を付与し、それをアプリケーションで使用することをお勧めします。 サービス アカウントに対してテナント全体のアクセス許可を付与する方法については、Governance.EnsurePolicy サンプルをご覧ください。 また、SharePoint Online での Web アプリケーション ポリシーの代替モデルに関する記事では、このトピックについて詳しく説明しています。
重要
SharePoint Online 用の Azure ACS (Access Control Services) の使用は、2023 年 11 月 27 日の時点で廃止されました。詳細については、完全な廃止のお知らせをご覧ください。 SharePoint のコンテキストの外部で Azure ACS を使用することは、2018 年 11 月 7 日に既に廃止されており、現在は終了です。
廃止とは、機能が新しい投資を受け取ることを意味しますが、まだサポートされています。 有効期間が終了すると、この機能は廃止され、使用できなくなります。