この記事では、Microsoft OneDrive での同期のしくみの概要について説明します。 アプリケーション間の情報フロー、テクノロジの連携方法、データのセキュリティ保護方法の背後にあるロジックを理解するのに役立ちます。
情報フローの方法
OneDrive 同期 アプリでは、Windows プッシュ通知サービス (WNS) を使用してファイルをリアルタイムで同期します。 WNS は、変更が実際に発生するたびに同期アプリに通知し、冗長なポーリングを排除し、不要なコンピューティング能力を節約します。
次に、動作のしくみを示します。
Microsoft 365 で変更が発生します。
WNS は、変更の同期アプリにアラートを送信します。
OneDrive によって内部サーバー変更キューに追加されます。
- メタデータの変更は、ファイルの名前変更や削除など、すぐに行われます。
- コンテンツをダウンロードすると、クライアントとの特定のセッションも開始されます。
Microsoft 365 には、Microsoft Azure を介して指示するメタデータ ポインターがあります。
変更は、受信した順序で処理されます。
前のOneDrive 同期 アプリ (Groove.exe) では、ポーリング サービスを使用して、事前に定義されたスケジュールの変更をチェックしました。 ポーリングは、大量のコンピューティング能力を必要とするため、システムの遅延と低速化につながる可能性があります。 WNS の使用は、大幅な機能強化です。
認証プロトコル
認証プロトコルは、使用している SharePoint のバージョンによって異なります。
- SharePoint Server 2019では NTLM が使用されます。
- Microsoft 365 の SharePoint では、FedAuth が使用されます。
さまざまな種類のファイルを同期する
OneDrive は、ファイルの種類に応じて異なる方法で同期を処理します。
Office 2016 および Office 2019 ファイルの場合、OneDrive は特定のアプリと直接共同作業を行い、データが正しく転送されるようにします。 Office デスクトップ アプリが実行されている場合は、同期が処理されます。 実行されていない場合は、OneDrive が実行されます。
その他の種類のファイルとフォルダーの場合、8 MB 未満の項目は 1 つの HTTPS 要求でインラインで送信されます。 8 MB 以上のものはファイル チャンクに分割され、 バックグラウンド インテリジェント転送サービス (BITS) セッションを介して一度に 1 つずつ送信されます。 その他の変更は、サーバーへの HTTPS 要求にまとめてバッチ処理されます。
基盤となるテクノロジ
OneDrive 同期 アプリでは、ファイルを同期するために次のものが使用されます。
新しい変更を見つけて情報をアップロードするには:
https://<tenant_name, i.e. contoso>-my.sharepoint.com/personal/<user_contoso_onmicrosoft_com>/_api/SPFileSync/sync/<default document library ID GUID>/アイテムをダウンロードするには:
https://<tenant_name, i.e. contoso>-my.sharepoint.com/personal/<user_contoso_onmicrosoft_com>/_layouts/15/download.aspxユーザーがアクセスできるサイトと組織を検出するには:
https://odc.officeapps.live.com/odc/servicemanager/userconnected
セキュリティと暗号化
ファイル チャンクは Azure 内の複数のコンテナーに格納され、それぞれに一意のキーが与えられます。 完全なファイルを再アセンブルするには、各キーが必要です。 また、各ファイル チャンク キーを暗号化する個別のマスター キーもあり、移動しない場合でもデータのセキュリティが確保されます。