OneDrive for Business認証エラーの解決方法 — NetDrive
NetDrive(Windows版)でOneDrive for Businessのサインインに失敗する問題を診断・修正します。MFAプロンプト、条件付きアクセスのブロック、テナントポリシーの問題を扱います。
従業員200名規模の専門サービス企業でITマネージャーを務めるある人物は、あるNetDriveの問題の解決に半日を費やしました。会社のAzure AD管理者が条件付きアクセスポリシーを有効化した後、12台のワークステーションがOneDrive for Businessの共有をマウントできなくなったのです。どのマシンでも「認証に失敗しました」と表示され、資格情報もNetDriveのバージョンもWindowsのビルドも前日と同じでした。根本原因はNetDrive側には一切なかったのですが、本ガイドでは、その原因がNetDrive側にあるかどうかを見極め、どちらの場合でも解決する方法を説明します。

OneDrive for BusinessをネイティブのWindowsドライブとしてマウント
NetDrive を使えば Google Drive、OneDrive、S3、SFTP、WebDAV などが Windows と macOS でネイティブドライブとして表示されます — 同期も、まるごとダウンロードも不要です。
- 個人アカウントとMicrosoft 365の職場アカウントの両方に対応
- OneDrive for BusinessとSharePointの両方をサポート
- WindowsとmacOSで利用可能
無料トライアル。永久ライセンスとサブスクリプションプランあり。
OneDrive for Businessの認証が失敗する理由
NetDriveはOneDrive for BusinessにOAuth 2.0を通じて接続します。これは公式のOneDriveデスクトップクライアントやブラウザで使われているのと同じ、最新の認証フローです。この認証フローが失敗する場合、原因はほぼ次の3つのいずれかに分類されます。
条件付きアクセスポリシーによるサインインのブロック。 Azure AD管理者は、準拠デバイス、登録済みマシン、特定のIP範囲、または指定したネットワークの場所にOAuthログインを制限できます。NetDriveのトークンリクエストが、ポリシーが許可する範囲外のデバイスや場所から発行された場合、Azure ADはNetDriveがトークンを受け取る前にリクエストを拒否します。OAuthクライアントはブロックの原因となった具体的なポリシー名を受け取れないため、エラーメッセージは一般的な「認証に失敗しました」という内容になります。その詳細はAzure ADのサインインログにしか記録されていません。
MFAプロンプトが完了しなかった。 NetDriveは対話的なサインイン手順のためにブラウザウィンドウを開きます。ユーザーが多要素認証(MFA)のプロンプトを完了する前にそのウィンドウを閉じたり、ブラウザがタイムアウトしたりすると、OAuthの認可コードが返されません。NetDriveは応答がないことを失敗として扱います。
テナントレベルのエンタープライズアプリケーション制限。 組織によっては、ユーザーがサードパーティアプリケーションにOAuth同意を付与する前に、管理者の事前承認を必須としている場合があります。あなたのテナントでこの設定が有効になっている場合、NetDriveのアプリケーションIDが承認リストに含まれていない可能性があります。

段階的な診断手順
以下を順番に確認してください。各チェックは2分もかかりません。
-
個人のMicrosoftアカウントでテストする。 NetDriveのDrive Managerで、企業ポリシーが一切適用されていない個人の
@outlook.comまたは@hotmail.comアカウントを使って新しいOneDriveドライブを追加します。これで問題なくサインインできる場合、問題はNetDrive自体ではなく、あなたのテナントのAzure AD設定にあります。 -
Azure ADからサインインログを取得する。 Azureポータル → Azure Active Directory → サインインログで、該当ユーザーのメールアドレスでフィルタし、時間範囲を過去1時間に設定します。失敗したエントリを探してください。Failure reason(失敗理由)列に、リクエストをブロックした具体的な条件付きアクセスポリシーやエラーの名称が表示されます。たとえば「Device is not compliant」(デバイスが準拠していません)や「Application not found in tenant」(テナント内にアプリケーションが見つかりません)などです。
-
Intune登録済みデバイスから試す。 サインインログにデバイスコンプライアンスの失敗が記録されている場合、組織のIntuneポリシーに登録済みのマシンからNetDriveに接続してみてください。そこでサインインが成功すれば、修正すべきは元のワークステーションを登録することであり、NetDriveの設定を変更することではありません。
-
MFAフローを最初からやり直す。 Drive Managerで、既存のOneDrive for Business接続を完全に削除してから、再度追加します。サインイン用のブラウザウィンドウが表示されたら、そのまま待機し、他のアプリケーションに切り替える前にMFAプロンプトを完了してください。MFAアプリがスマートフォン上にある場合は、Connectをクリックする前にあらかじめ開いておいてください。
-
Azure ADでエンタープライズアプリケーションの同意状況を確認する。 Azure AD管理者にAzure Active Directory → Enterprise Applicationsを開いてNetDriveを検索し、ユーザー同意が許可されているか、またはあなたのテナントに対して管理者同意が付与されているかを確認してもらいます。テナント全体の同意が制限されている場合は、管理者が明示的にそれを付与する必要があります。

条件付きアクセスによるブロックの解決
Azure ADのサインインログで条件付きアクセスポリシーが原因であると確認できた場合、進むべき道は2つあります。
デバイスを登録する(推奨)。 ワークステーションを会社のIntuneまたはHybrid Azure AD登録に参加させます。これによりポリシーの例外を一切作ることなく、ほとんどのデバイスコンプライアンス系の条件付きアクセスポリシーを満たすことができ、会社管理下のマシンに対しては正しい長期的な解決策となります。
ポリシーの除外を追加する(より速いが慎重に扱うこと)。 Azure AD → 条件付きアクセスで、ブロックしているポリシーを開き、該当のユーザーアカウントまたはワークステーションを除外リストに追加します。これはセキュリティ制御を回避する操作です。適用する前にセキュリティチームに確認し、例外を必ず記録してください。
ポリシーが解決されるか例外設定が反映された後、NetDriveで再認証してください。OAuthフローが正常に完了してから数秒以内に、Drive ManagerにOneDrive for BusinessドライブがConnected(接続済み)と表示されます。

まとめ
NetDriveにおけるOneDrive for Businessの認証失敗は、ほぼ常にNetDrive自体ではなくAzure ADのポリシーが原因です。Azureポータルからサインインログを取得するのは2分程度で済み、原因となっている正確なポリシーを特定できます。これはNetDriveを再インストールしたりWindowsアップデートをロールバックしたりするよりも、ほぼ確実に速い方法です。認証は成功しているもののSharePointのドキュメントライブラリで問題が発生している場合は、Mount SharePoint on Windows with NetDriveを参照して、SharePoint固有の接続設定を確認してください。
— Morgan, NetDrive