Устранение проблем с доступом к Azure Files: команда Net Use и скрипт портала Azure

Доступ к общим папкам Azure Files иногда может приводить к ошибкам, особенно при использовании скрипта подключения, скопированного из портала Azure. Распространённая проблема — это ошибка “Access Denied” ошибка, которая может возникнуть при настройке Azure Files в составе среды Azure Virtual Desktop (AVD) . В этом руководстве рассматриваются первопричина проблемы и решение, сравнивая метод Net Use command с скриптом портала Azure .


Ключевой сценарий использования

Этот сценарий устранения неполадок обычно возникает в средах, где:

  • FSLogix Profile Containers используются с Azure Files.
  •  Учётная запись хранения Azure присоединена к локальной Active Directory (AD).
  • Объекты групповой политики (GPO) ограничивают хранение учётных данных, вызывая сбои проверки подлинности.

Обзор проблемы

При попытке подключить общие папки Azure Files с помощью скрипта, предоставленного порталом Azure, пользователи могут столкнуться с ошибкой “Access Denied” . Эта проблема сохраняется даже при:

  • Использовании нового узла AVD.
  • Тестировании с разными учётными записями пользователей.

Наблюдения

  1. Ошибка в журналах
    • В журналах серверной части (собранных с помощью DGrep и Log Collector) отображается ошибка Access Denied .
    • Ошибка включает “KerberosClientOtherError”, что указывает на то, что вместо ключа учётной записи хранения используется проверка подлинности Kerberos.
  2. Работающие и неработающие методы
    • Net Use Command: Успешно подключает общую папку Azure Files с помощью ключа учётной записи хранения.
    • Скрипт портала Azure: Завершается сбоем, так как вместо предоставленного ключа учётной записи хранения используется проверка подлинности Kerberos.

Первопричина

Проблема вызвана следующими факторами:

  1. Поведение Диспетчера учётных данных
    • Скрипт портала Azure сохраняет учётные данные учётной записи хранения в Диспетчер учётных данных 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: Предпринимает попытку проверки подлинности 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 не может сохранять учётные данные в Диспетчере учётных данных, что вызывает сбои проверки подлинности.

    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 сможет сохранять учётные данные в Диспетчере учётных данных, что обеспечит успешную проверку подлинности.


    Сравнение: команда Net Use и скрипт портала Azure

    МетодМеханизм проверки подлинностиЗависимостьРезультат
    Net Use CommandКлюч учётной записи храненияБез Диспетчера учётных данныхУспешно
    Скрипт портала AzureKerberos (запасной вариант при сбое кэша)Диспетчер учётных данныхСбой, если GPO ограничивает кэш

    Дополнительные советы

    1. Тестирование в лабораторных средах
      Воспроизведите проблему, включив параметр GPO:
      Network access: Do not allow storage of passwords and credentials for network authentication.
    2. Справочная документация
      Следуйте официальному руководству: Настройка контейнера профилей FSLogix с Azure Files и AD DS или Microsoft Entra Domain Services.
    3. Конфигурация сети
      Убедитесь, что порт 445 открыт для SMB-трафика. При блокировке используйте Azure VPN или ExpressRoute для туннелирования SMB-трафика.

    Заключение

    Ошибка Access Denied при использовании скрипта портала Azure для подключения общих папок Azure Files часто вызвана ограничительными параметрами GPO, препятствующими кэшированию учётных данных. Использование Net Use command обеспечивает надёжный обходной путь, минуя Диспетчер учётных данных и напрямую предоставляя ключ учётной записи хранения. Отключение ограничительной GPO решает проблему для метода скрипта портала Azure.

    Оставить комментарий