アプリ フォルダーは、OneDrive と SharePoint の/special パスを介して公開される特殊なフォルダーの 1 つです。 主にユーザーの OneDrive にアプリケーション設定を格納する場所として設計されており、多くのシナリオに適用できます。 この記事では、アプリ フォルダー、セキュリティ、およびアプリケーションで使用する方法について説明します。
専用のスコープ Files.ReadWrite.AppFolderでサポートされ、デバイス エクスペリエンス間でデータを共有するための一貫性のある最小特権アプリケーションを構築できます。
アプリ フォルダーにアクセスする
開始するには、Files.ReadWrite.AppFolder スコープに同意したMicrosoft Entra ID アプリケーションが必要です。 アプリケーションと委任されたアクセス許可は、シナリオに応じて必要に応じてサポートされます。
アプリ フォルダーにアクセスするには、Microsoft Graph で次の呼び出しを行います。
GET /{drive_Resource}/special/approot
重要
approot名前は大文字と小文字が区別されます。
フォルダーを初めて要求すると、フォルダーが存在しない場合に作成されます。 すべての特別なフォルダーは、パスが Apps/{Entra ID application name}ターゲット ドライブ内に作成されます。つまり、アプリケーションが "マイ アメイジング アプリ" と呼ばれる場合、ドライブ内の結果のパスが Apps/My Amazing App。
応答は、フォルダーと specialFolder ファセットの両方が存在するフォルダーを表す driveItem です。 このドライブ項目を使用すると、ファイルのアップロード、子の一覧表示、包含ファイルの共有など、アプリケーションのフォルダーに対して予期されるすべての操作を実行できます。
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('c9d6a7bd-c1e0-4cb6-bf3c-48bf6dc571ad')/drive/special/$entity",
"id": "692b2511-cca3-487d-b972-e6487bba0aff",
"lastModifiedDateTime": "2023-12-12T19:33:45Z",
"webUrl": "https://contoso-my.sharepoint.com/personal/someone_contoso_com/Documents/Apps/MyApp",
"size": 0,
"folder": {
"childCount": 0
},
"specialFolder": {
"name": "approot"
}
}
アプリ フォルダーの利点
アプリ フォルダーには、シナリオに応じていくつかの利点があります。主な利点は、一定のパスを介してフォルダーに簡単にアクセスできることです。 たとえば、ユーザーのアプリ フォルダーにアクセスするには、 https://{graph}/me/special/approotを常に使用できます。個々のユーザーの ID やパスを追跡する必要はありません。
アプリ フォルダーは、OneDrive では機能しません。また、SharePoint ライブラリを含む任意のドライブ リソースで使用することもできます。 この場合は、ドライブ ID を使用して、ドライブへの完全なパスが必要です。
GET /drives/{drive_Id}/special/approot
サイトには既定のドライブもあります。 次の要求 URL を使用してアクセスします。
GET /sites/{site_Id}/drive/special/approot
注:
ただし、まれに、サイトの既定のドライブが存在しなくなる可能性があります。 アプリケーションはこの可能性を考慮する必要があります。
前の要求では、ライブラリのルートに Apps フォルダーが作成され、その中にアプリケーションの名前が付いたフォルダーが作成されます。
アプリ フォルダーのもう 1 つの主な利点は、分離です。 アプリケーションのファイルは、ユーザーの OneDrive を煩雑にしたり、誤って削除されたりしないように、一意の場所に保存されます。 アプリ フォルダーを作成すると、アプリケーション固有のファイルをルート OneDrive フォルダー構造の外部に保持し、ユーザーにとってよりクリーンな領域を維持できます。
アプリ フォルダーは、職場または学校用の OneDrive と OneDrive for home で機能し、すべてのユーザーに一貫したエクスペリエンスを提供できるようにします。
アプリ フォルダーでは、最小限のアクセス許可を使用してファイルを保存することもできます。これは、次のセクションで詳しく説明します。
セキュリティ
信頼を構築するには、セキュリティで保護されたアプリケーションを作成することが重要です。 多くの場合、SharePoint または OneDrive アプリケーションには広範なアクセス許可があり、 SharePoint アプリケーションのアクセス許可を使用して制限することができますが、この制限には、構成と高い特権を割り当てる必要があります。 アプリ フォルダーでは、アプリケーションが Files.ReadWrite.AppFolderを使用することに同意した後、追加の作業は必要ありません。 サービスは、1 つのフォルダーへのアクセスを自動的に制限し、アプリケーションがそのフォルダー内のファイルにのみアクセスできるようにします。
注:
ユーザーは常に独自の OneDrive を完全に制御でき、アプリ フォルダーにファイルを追加または削除できます。 ユーザーがフォルダーにファイルを追加すると、アプリケーションはそのファイルにアクセスできます。 コントロールは、アプリケーションによってアップロードされた個々のファイルではなく、フォルダーにあります。
また、 Files.ReadWrite.AppFolder は、委任された認証パターンとアプリケーション専用認証パターンの両方でサポートされます。 委任されたパターンで使用することは、ユーザー ファイルへのアクセスに最適であり、アプリケーション パターンでは、アプリケーションによって作成されたフォルダーに格納されている情報を処理できます。
委任
アプリ フォルダーの最も一般的な用途は、ユーザーの OneDrive に情報を格納するための委任された認証です。 この方法では、ユーザーのアクセス許可とアプリケーションのアクセス許可が交差し、ユーザーが独自の OneDrive にのみ書き込み、アプリ フォルダーにのみ書き込むことができます。
アプリケーションのみ
アプリケーションのアクセス許可を使用すると、アプリケーションはそれ自体に関連付けられているすべてのアプリ フォルダーにアクセスできます。 ユーザーが存在しないため、 /me/drive/special/approot パスは使用できないため、 /drives/{drive id}/special/approot を使用してユーザーの OneDrive にアクセスする必要があります。
その他の考慮事項
アプリ フォルダーを使用すると、適切なソリューションを決定する際に留意すべきその他の考慮事項がいくつかあります。
- アプリ フォルダーは、ユーザーの OneDrive クォータまたは SharePoint サイトの使用量クォータのいずれかであるクォータに対してカウントされます。 アプリ フォルダーに大きなファイルを配置すると、ユーザーに問題が発生する可能性があります。 アプリ フォルダーは、構成ファイル、一時ストレージ、または下書きを格納するのに最適です。
- 想定されるユーザー エクスペリエンスを検討してください。 ユーザーがこれらのファイルに頻繁にアクセスしたり、アプリケーションの外部で操作したりする必要がある場合は、
Files.ReadWriteまたはFiles.ReadWrite.Allの方が優れたオプションである可能性があります。これにより、保存エクスペリエンスを提示でき、ユーザーはファイルを保存する場所を選択できます。 - ユーザーは、独自の OneDrive 内の任意のファイルを削除、編集、または置き換えることができます。 可能性は低いですが、アプリケーションはこの可能性を考慮し、これらのファイルに依存しないか、常に存在することを期待する必要があります。 完全な OneDrive にアクセスできるアプリケーションは、アプリ フォルダー ファイルにもアクセスできます。保存する情報の種類に注意してください。
シナリオ
多くのシナリオでは、アプリ フォルダーの機能と、読み取り/書き込みファイルへの最小特権アクセスをすぐに利用できます。 次のシナリオでは、アプリ フォルダーの使用を開始するための例を示します。
ユーザー構成
ユーザーは Teams、SharePoint、モバイル、デスクトップからアプリケーションにアクセスし、設定と設定を保存する必要があります。 アプリ フォルダーを使用すると、構成ファイルを簡単に格納し、任意のデバイスからアクセスできます。 ユーザーの設定を簡単に移植可能にし、既知のパスを使用して常にアクセスできるようにします。 異なるデバイス機能をサポートしている場合は、複数の設定ファイルを格納することもできます。
E-signature
ドキュメントの電子署名には時間がかかる可能性があるため、署名されたドキュメントを OneDrive に書き戻すためにユーザー アクセス トークンを保持するのが困難になります。 アプリ専用アプリ フォルダーを使用すると、最小限のアクセス許可を使用して署名されたドキュメントを常に書き戻して、ユーザーのファイルを安全に保つことができます。
プライベートドラフト
アプリケーションがメッセージを送信したり、メモを取ったりドキュメントを書いたりするために使用される場合があります。ただし、ユーザーは最終的な宛先に下書きを送信する前に、下書きを保存する方法が必要です。 アプリ フォルダーを使用すると、フラグメントと下書きをユーザーごとに簡単に格納でき、デバイス間アクセスを提供して一貫性とユーザーの満足度を確保できます。
概要
アプリ フォルダーは、最小限のアクセス許可を損なうことなく、ファイルを格納するための柔軟で堅牢な方法です。 一貫性のあるパスとデバイス間のアクセシビリティを提供するアプリ フォルダーは、アプリケーションのファイルを安全かつ効率的な方法で格納するための優れたオプションです。 アプリケーションのみの認証パターンと委任された認証パターンの両方をサポートするため、Microsoft Graph と Microsoft 365 の完全な機能に支えられ、設計の柔軟性が提供されます。