SharePoint 401 Unauthorizedエラーの原因と解決方法

プログラミング・IT

SharePointにアクセスしようとした際に「401 Unauthorized」というエラーが表示されることがあります。
このエラーは認証に失敗したことを意味しており、SharePointが提供した認証情報を受け入れなかったことを示しています。

本記事では、SharePoint 401 Unauthorizedエラーが発生する主な原因と、それぞれの具体的な解決方法を解説します。

スポンサーリンク

401 Unauthorizedエラーとは

401 Unauthorizedエラーは、HTTPステータスコードの一つで「認証されていない」という意味です。
SharePointにアクセスする際、ユーザーの身元確認ができなかった場合に表示されます。

エラーメッセージは以下のような形で表示されることが一般的です。

  • 「401 – Unauthorized: Access is denied due to invalid credentials.」
  • 「Access denied. You do not have permission to perform this action or access this resource.」
  • 「Http request failed with status code 401 Unauthorized」

主な発生原因

SharePoint 401 Unauthorizedエラーは、以下のような状況で発生します。

認証情報の問題

パスワードやアクセストークンが間違っている、または期限切れになっている場合に発生します。
アプリパスワードやAPIキーを使用している場合、それらの有効期限が切れていることもあります。

アクセス権限の不足

ユーザーアカウントまたはアプリケーションに、SharePointサイトへのアクセス権限が付与されていない場合に発生します。
SharePointの権限設定は細かく管理されているため、適切な権限レベルが必要です。

認証方式の問題

Microsoftは基本認証(Basic Authentication)を段階的に廃止しています。
古い認証方式を使用しているツールやスクリプトでは、エラーが発生する可能性があります。

URLエンドポイントの誤り

接続先のURLが間違っている、またはサイトパスが正しくない場合に発生します。
特にSharePoint On-Premisesでは、Alternate Access Mappingの設定が必要な場合があります。

ブラウザのキャッシュとクッキー

ブラウザに保存された古い認証情報やクッキーが原因で、エラーが発生することがあります。
期限切れのトークンがキャッシュされている可能性があります。

Azure ADアプリの設定ミス

Azure ADアプリを使用してSharePointにアクセスする場合、アプリの設定や権限が正しくないとエラーになります。
特にApp IDやClient Secretの設定ミスが多く見られます。

多要素認証(MFA)のブロック

多要素認証が有効になっている場合、適切な認証フローを経ないとアクセスが拒否されます。

解決方法

1. 認証情報の確認

最も基本的な確認事項です。
以下の手順で認証情報を確認してください。

  1. SharePointポータルに直接ログインできるか確認
  2. ユーザー名とパスワードが正しいか再確認
  3. アプリパスワードやAPIキーの有効期限を確認
  4. Microsoft 365のパスワードを更新した場合、接続しているすべてのアプリとPowerShellセッションで更新

多要素認証(MFA)が有効な場合は、MFAによってアクセスがブロックされていないか確認してください。

2. アクセス権限の確認と付与

SharePointサイトへの適切な権限が付与されているか確認します。

SharePoint管理センターでの確認

  1. SharePoint管理センターにアクセス
  2. 「アクティブなサイト」を選択
  3. 「アクセス許可」から権限を確認
  4. 必要に応じてサイト所有者またはフルコントロール権限を付与

Azure ADアプリの権限確認

Azure ADアプリを使用している場合は、以下の権限が承認されているか確認してください。

  • Sites.ReadWrite.All
  • Sites.Read.All
  • Sites.Write.All
  • User.Read.All

3. Modern Authentication(OAuth 2.0)への移行

基本認証は廃止が進んでいるため、Modern Authenticationへの移行が必要です。

廃止スケジュール

  • SharePoint Online: 2026年1月31日からレガシー認証のブロック開始、2026年5月1日に完全廃止
  • SharePoint Server Subscription Edition: 2026年7月14日まで基本認証をサポート

移行方法

スクリプトやツールで基本認証を使用している場合は、OAuth 2.0ベースのModern Authenticationに更新してください。
MicrosoftはMicrosoft Authentication Library(MSAL)の使用を推奨しています。

証明書ベースの認証を使用する場合、Secret IDではなく証明書を使用してアクセストークンを取得する必要があります。

4. ブラウザのキャッシュとクッキーのクリア

古い認証情報が原因の場合は、以下の手順で解決できます。

  1. ブラウザのキャッシュとクッキーをクリア
  2. シークレットモード(プライベートブラウジング)でアクセスを試す
  3. Windows資格情報マネージャーから保存された認証情報を削除

PowerShellやアプリケーションを使用している場合は、キャッシュされたトークンや保存されたセッションを削除してください。

5. SharePoint Online Management Shellでの権限付与

SharePoint管理者アカウントに適切な権限がない場合、SharePoint Online Management Shellを使用して権限を付与できます。

SharePoint Online Management Shellのインストール

Microsoft公式サイトからSharePoint Online Management Shellをダウンロードしてインストールします。

基本認証での接続

Connect-SPOService -Url https://contoso-admin.sharepoint.com -credential admin@contoso.com

contosoを実際のテナント名に、admin@contoso.comを管理者アカウントに置き換えてください。

Modern Authenticationでの接続

Connect-SPOService -Url https://contoso-admin.sharepoint.com

このコマンドを実行すると、ブラウザが開いてサインインを求められます。

コマンド実行後は、変更が反映されるまで少なくとも5分間待機してください。

6. OAuth アクセストークンのリフレッシュ

移行ツールや自動スクリプトでエラーが発生する場合は、以下を試してください。

  1. OAuthアクセストークンをリフレッシュ
  2. 適切なスコープ(例: Sites.FullControl.All)を指定
  3. キャッシュされたトークンや保存されたセッションをすべて削除

7. IIS認証設定の確認(SharePoint On-Premises)

SharePoint On-Premisesを使用している場合、IISの認証設定を確認してください。

  1. IISマネージャーを開く
  2. 認証機能に移動
  3. Windows認証が有効になっているか確認
  4. 必要に応じて匿名認証の設定を確認
  5. 変更後はIISを再起動(iisresetコマンドを実行)

ワークフローマネージャーを使用している場合、「ワークフロー管理サイト」IIS仮想サーバーで匿名認証が有効になっている必要があります。

8. Alternate Access Mappingの設定(SharePoint On-Premises)

SharePoint On-Premisesで完全修飾ドメイン名(FQDN)を使用してアクセスする場合、Alternate Access Mappingの設定が必要です。

  1. SharePoint サーバーの全体管理を開く
  2. 「アプリケーション構成の管理」を選択
  3. 「代替アクセス マッピングの構成」を選択
  4. 使用するURLを追加

DNSレコードが正しく設定されているか、またはHostsファイルにエントリが存在するか確認してください。

9. DisableCustomAppAuthenticationの設定確認

SharePoint Onlineでアプリ認証を使用している場合、テナント設定を確認してください。

PowerShellで以下のコマンドを実行します。

Set-SPOTenant -DisableCustomAppAuthentication $false

この設定がTrueになっていると、カスタムアプリ認証がブロックされます。

10. Azure ADアプリの再設定

Azure Data FactoryやPower AppsなどでSharePointコネクタを使用している場合は、以下を試してください。

  1. SharePointコネクタをアンインストールして再インストール
  2. Azure ADアプリを再作成し、権限を再度承認
  3. 証明書ベースの認証への切り替えを検討

エラーが解決しない場合

上記の方法を試してもエラーが解決しない場合は、以下を確認してください。

エラーログの確認

SharePoint On-Premisesの場合、ULSログを確認してより詳細なエラー情報を取得できます。
SharePoint Onlineの場合は、Azure ADのサインインログを確認してください。

ネットワーク設定の確認

プロキシサーバーやファイアウォールが通信をブロックしていないか確認してください。
特に企業ネットワークでは、SharePoint Onlineへの接続が制限されている場合があります。

別のデバイスからのアクセステスト

同じネットワーク内の別のデバイスからアクセスできるか確認してください。
SharePointサーバー上で直接アクセスすると、予期しない動作をすることがあります。

Microsoft サポートへの問い合わせ

複雑なシナリオや特定の環境に関する問題の場合は、Microsoftサポートに問い合わせることをおすすめします。

まとめ

SharePoint 401 Unauthorizedエラーは、認証情報の問題、アクセス権限不足、古い認証方式の使用など、さまざまな原因で発生します。

エラーを解決するためには、以下の点を確認してください。

  • 認証情報が正しく、有効期限内であること
  • 適切なアクセス権限が付与されていること
  • Modern Authentication(OAuth 2.0)を使用していること
  • ブラウザのキャッシュとクッキーをクリアすること
  • Azure ADアプリの設定が正しいこと

基本認証は2026年に完全廃止されるため、早めにModern Authenticationへ移行することが重要です。
これにより、多要素認証などのセキュリティ機能も利用できるようになります。

定期的にアクセストークンを更新し、セキュリティ設定を最新の状態に保つことで、401エラーを防ぐことができます。

コメント

タイトルとURLをコピーしました