Azure Files のアクセス問題のトラブルシューティング:Net Use コマンドと Azure Portal スクリプトの比較

Azure ファイル共有にアクセスすると、特に Azure Portal からコピーしたマウントスクリプトを使用している場合に、エラーが発生することがあります。一般的な問題の一つは、 “Access Denied” エラーは、Azure Files を Azure Virtual Desktop (AVD) 環境の一部として構成する際に発生する可能性があります。このガイドでは、問題の根本原因を検討し、 Net Use command 方式と Azure Portal スクリプト 方式を比較しながら解決方法を紹介します。


主な使用例

このトラブルシューティングのシナリオは、通常、次のような環境で発生します。

  • FSLogix Profile Containers が Azure Files とともに使用されています。
  •  Azure ストレージアカウント が オンプレミスの Active Directory (AD)に参加しています。
  • グループポリシーオブジェクト (GPO) により資格情報の保存が制限され、認証エラーが発生します。

問題の概要

Azure Portal が提供するスクリプトを使って Azure ファイル共有をマウントしようとすると、次のエラーが発生する可能性があります。 “Access Denied” この問題は、次の場合でも引き続き発生します。

  • 新しい AVD ホストを使用している場合。
  • 異なるユーザーアカウントでテストしている場合。

観察結果

  1. ログ内のエラー
    • バックエンドログ (DGrep と Log Collector で収集) には、次のエラーが記録されています。 Access Denied です。
    • このエラーには、次の内容が含まれています。 “KerberosClientOtherError”。これは、 ストレージアカウントキー の資格情報の代わりに Kerberos 認証が使用されていることを示しています。
  2. 動作する方法と動作しない方法
    • Net Use Command:ストレージアカウントキーを使って Azure ファイル共有を正常にマウントします。
    • Azure Portal スクリプト:提供されたストレージアカウントキーの代わりに Kerberos 認証が使用されるため失敗します。

根本原因

この問題は、次の要因によって引き起こされます。

  1. 資格情報マネージャーの動作
    • Azure Portal スクリプトは、ストレージアカウントの資格情報を次の場所に保存します。 Windows 資格情報マネージャー。
    • 資格情報をキャッシュできない場合 (GPO の制限やキャッシュの失敗が原因)、スクリプトは既定で現在のユーザーの資格情報を使って認証を行います。
  2. グループポリシーの制限
    • GPO 設定 “Network access: Do not allow storage of passwords and credentials for network authentication” により、資格情報マネージャーに資格情報を保存できなくなります。
    • その結果、Kerberos 認証が試行されますが、NTFS のアクセス許可が不足しているため失敗します。

トラブルシューティングの手順

手順 1:エラーを確認する

両方の方法についてネットワークトレース分析を実行します。

  • Net Use Command:ストレージアカウントキーを使って SMB 接続を正常に確立します。
  • Azure Portal スクリプト:Kerberos 認証を試行し、次のエラーが発生します。 Access Denied です。

    手順 2:Net Use コマンドでテストする

    次の Net Use command は、資格情報マネージャーをバイパスし、ストレージアカウントキーを認証用に直接提供します。

    net use <desired-drive-letter>: \\<storage-account-name>.file.core.windows.net\<share-name> <storage-account-key> /user:Azure\<storage-account-name>
    

    これが有効な理由:

    • 資格情報がコマンド内で明示的に指定されます。
    • 資格情報マネージャーや Kerberos 認証に依存しません。

    手順 3:グループポリシー設定を分析する

    次のコマンドを実行して、グループポリシーの構成を確認します。

    gpresult /h c:\temp\computer.html
    

    生成された HTML ファイルを調べ、GPO 設定を確認します。
    “Network access: Do not allow storage of passwords and credentials for network authentication”

    この設定が有効になっている場合、Azure Portal スクリプトは資格情報マネージャーに資格情報を保存できないため、認証エラーが発生します。

    Network access Do not allow storage of passwords and credentials for network authentication – Windows 10 | Microsoft Learn


    手順 4:解決方法

    制限的な GPO を無効にする

    •  グループポリシーの管理 をドメインコントローラーで開きます。
    • 次のポリシーを見つけます。 

    Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options

    • Network access: Do not allow storage of passwords and credentials for network authentication。
    • ポリシーを Disabledに設定します。

    このポリシーを無効にすると、Azure Portal スクリプトは資格情報マネージャーに資格情報を保存できるようになり、認証が成功するようになります。


    比較:Net Use コマンドと Azure Portal スクリプト

    方法認証メカニズム依存関係結果
    Net Use Commandストレージアカウントキー資格情報マネージャーなし成功
    Azure Portal スクリプトKerberos(キャッシュが失敗した場合のフォールバック)資格情報マネージャーGPO がキャッシュを制限している場合は失敗します

    その他のヒント

    1. ラボ環境でのテスト
      GPO 設定
      Network access: Do not allow storage of passwords and credentials for network authenticationを有効にすることで問題を再現します。
    2. ドキュメントの参照
      公式ガイド Azure Files と AD DS または Microsoft Entra Domain Services を使用した FSLogix プロファイルコンテナーのセットアップに従ってください。
    3. ネットワーク構成
      ポート 445 が SMB トラフィック用に開いていることを確認します。ブロックされている場合は、Azure VPN または ExpressRoute を使用して SMB トラフィックをトンネリングします。

    まとめ

    Azure Portal スクリプトを使って Azure ファイル共有をマウントする際の Access Denied エラーは、資格情報のキャッシュを妨げる制限的な GPO 設定が原因であることがよくあります。次の Net Use command を使うと、資格情報マネージャーをバイパスし、ストレージアカウントキーを直接提供することで、信頼性の高い回避策が得られます。制限的な GPO を無効にすると、Azure Portal スクリプト方式の問題が解決します。

    コメントを残す