SMART External File Storage - On-Premises Connector
Додаток SMART External File Storage - On-Premises Connector — це розширення для Microsoft Dynamics 365 Business Central, яке забезпечує підключення до локальних файлових систем через безпечний WebAPI сервіс, розгорнутий в IIS. Додаток дозволяє виконувати повний спектр операцій з файлами та каталогами на локальних серверах безпосередньо з Business Central через уніфікований API модуля зовнішнього зберігання файлів (External File Storage Module).
Основні можливості
- Прямий доступ до локальних файлових систем через WebAPI сервіс
- Безпечна автентифікація OAuth 2.0 з Microsoft Entra ID
- Контроль доступу до файлів через дозволи облікового запису Windows
- Підтримка всіх стандартних операцій з файлами: створення, читання, завантаження, видалення
- Управління катал огами: створення, перегляд вмісту, видалення
- Інтеграція з модулем External File Storage для уніфікованого доступу
Налаштування облікового запису
Для налаштування підключення до локальної файлової системи необхідно створити обліковий запис та розгорнути WebAPI сервіс.
Створення облікового запису
- Натисніть кнопку
, яка відкриє функцію Пошук та введіть Облікові записи зовнішнього зберігання файлів, перейдіть за відповідним посиланням.
- Натисніть дію Зареєструвати новий обліковий запис та виберіть конектор SMART On-Premises File.
- На сторінці майстра заповніть необхідні поля:
Налаштування підключення
| Поле | Опис |
|---|---|
| Назва облікового запису | Унікальна назва облікового запису для ідентифікації підключення в системі. Використовується для відображення в списках та вибору облікового запису при роботі з файлами. |
| URL кінцевої точки файлового сервісу | URL-адреса WebAPI сервісу, розгорнутого на вашому IIS сервері. Наприклад: https://yourserver/api/filehelper або http://fileserver.company.local:8080/api. Цей сервіс повинен бути доступний з Business Central і має бути розгорнутий використовуючи пакет, наданий розширенням. |
| Базова папка | Початковий каталог на сервері, з якого буде здійснюватись робота. Усі шляхи до файлів будуть відносно цього каталогу. За замовчуванням використовується кореневий каталог ("/"). Наприклад, якщо вказати "C:/Documents", всі операції будуть виконуватись відносно папки Documents. Доступ до цієї папки контролюється обліковим записом Windows, під яким працює пул додатків IIS. |
Налаштування автентифікації
| Поле | Опис |
|---|---|
| Авторизація | Метод автентифікації, який використовується для підключення до WebAPI сервісу: - (Порожньо) - автентифікація не потрібна (не рекомендується для продуктивного середовища) - OAuth 2.0 - використовувати автентифікацію Microsoft Entra ID з потоком облікових даних клієнта. При виборі стають доступними додаткові поля для tenant, client, audience та secret. |
| Tenant | Ідентифікатор tenant Microsoft Entra (так ож відомий як Directory ID), де створено вашу реєстрацію додатка. Ви можете знайти його на порталі Azure в розділі Microsoft Entra ID > Огляд. Формат: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Обов'язкове при використанні автентифікації OAuth 2.0. |
| Client Id | Client ID (також відомий як Application ID) з вашої реєстрації додатка в Microsoft Entra ID. Ви можете знайти його на порталі Azure в розділі Реєстрації додатків > [Ваш додаток] > Огляд. Формат: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Цей ідентифікатор визначає ваш екземпляр Business Central для WebAPI сервісу. Обов'язкове при використанні автентифікації OAuth 2.0. |
| Audience | URL audience (область) для запиту токена OAuth 2.0. Має відповідати API ідентифікатору (Application ID URI), налаштованому у вашій реєстрації додатка. Наприклад: api://filehelper або https://company.onmicrosoft.com/filehelper. WebAPI сервіс перевіряє вхідні токени відносно цього значення audience. Обов'язкове при використанні автентифікації OAuth 2.0. |
| Client Secret | Значення секрету клієнта з вашої реєстрації додатка в Microsoft Entra ID. Це облікові дані, подібні до пароля, які використовуються для автентифікації Business Central до WebAPI сервісу. Ви можете згенерувати цей секрет на порталі Azure в розділі Реєстрації додатків > [Ваш додаток] > Сертифікати та секрети > Новий секрет клієнта. Секрет зберігається безпечно в ізольованому сховищі Business Central і відображається як "********" після збереження. Обов'язкове при використанні автентифікації OAuth 2.0. |
Інші параметри
| Поле | Опис |
|---|---|
| Вимкнено | Позначка, яка вказує, чи вимкнено обліковий запис. Якщо встановлено, обліковий запис не може бути використаний для операцій з файлами. Це поле автоматично встановлюється при створенні sandbox середовища для запобігання небажаних операцій з продуктивними серверами. |
Розгортання WebAPI сервісу в IIS
On-Premises Connector вимагає розгортання WebAPI сервісу на IIS сервері з доступом до вашої файлової системи. Сервіс діє як безпечний міст між Business Central та файловою системою.
Процес розгортання
- На сторінці майстра Обліковий запис On-Premises File або на картці облікового запису натисніть кнопку Розгорнути в IIS.
- Почнеться завантаження пакета WebAPI сервісу (ZIP файл).
- Розпакуйте ZIP файл у тимчасове місце на вашому IIS сервері.
- Розгорніть сервіс в IIS:
- Відкрийте Менеджер IIS на вашому сервері
- Створіть новий пул додатків (рекомендується) або використовуйте існуючий
- Налаштуйте ідентифікатор пулу додатків для запуску під обліковим записом Windows, який має відповідні дозволи до файлової системи
- Створіть новий веб-сайт або додаток, що вказує на розпаковані файли сервісу
- Переконайтеся, що веб-сайт/додаток має необхідні прив'язки (HTTP/HTTPS)
- Налаштуйте HTTPS сертифік ат, якщо використовуються безпечні підключення (рекомендується)
Важливо: Ідентифікатор пулу додатків
Обліковий запис Windows, під яким працює пул додатків IIS, визначає, до яких файлів та папок Business Central може отримати доступ. Наприклад:
- Для доступу до
C:\CompanyFiles\, обліковий запис ідентифікатора пулу додатків повинен мати дозволи на читання/запис для цієї папки - Ви можете використовувати обліковий запис домену, локальний обліковий запис або вбудований обліковий запис (не рекомендується для продуктивного середовища)
- Дотримуйтесь принципу найменших привілеїв: надавайте лише ті дозволи, які потрібні для операцій з файлами
Налаштування автентифікації OAuth 2.0
Якщо ви хочете захистити WebAPI сервіс за допомогою автентифікації OAuth 2.0, вам потрібно налаштувати його у файлі appsettings.json, розташованому в папці розгортання сервісу.
Крок 1: Створення реєстрації додатка в Microsoft Entra ID
- Перейдіть на портал Azure (https://portal.azure.com)
- Перейдіть до Microsoft Entra ID > Реєстрації додатків > Нова реєстрація
- Введіть назву для вашого додатка (наприклад, "BC File Service")
- Виберіть Облікові записи лише в цьому організаційному каталозі
- Натисніть Зареєструвати
- Зверніть увагу на наступні значення зі сторінки Огляд:
- Application (client) ID - це буде ваш Client ID
- Directory (tenant) ID - це буде ваш Tenant ID
Крок 2: Створення секрету клієнта
- У вашій реєстрації додатка перейдіть до Сертифікати та секрети
- Натисніть Новий секрет клієнта
- Введіть опис та виберіть період дії
- Натисніть Додати
- Важливо: Скопіюйте Значення секрету негайно - ви не зможете побачити його знову
- Це значення буде вашим Client Secret
Крок 3: Налаштування дозволів API (опціонально)
Хоча це не є обов'язковим для потоку облікових даних клієнта, ви можете налаштувати дозволи API залежно від вимог безпеки вашої організації.
Крок 4: Встановлення URI ідентифікатора додатка (Audience)
- У вашій реєстрації додатка перейдіть до Представити API
- Натисніть Встановити поруч з URI ідентифікатора додатка
- Прийміть значення за замовчуванням або введіть власний URI (наприклад,
api://filehelperабоapi://yourcompany.com/filehelper) - Натисніть Зберегти
- Цей URI буде вашим значенням Audience
Крок 5: Налаштування appsettings.json
Відкрийте файл appsettings.json в папці WebAPI сервісу та оновіть розділ OAuthParams:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"OAuthParams": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "",
"TenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"ClientId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
Опис полів:
- Instance: URL центру OAuth. Залишіть як
https://login.microsoftonline.com/для Microsoft Entra ID - Domain: (Опціонально) Доменне ім'я вашої організації. Може бути залишене порожнім
- TenantId: Directory (tenant) ID з вашої реєстрації додатка
- ClientId: Application (client) ID з вашої реєстрації додатка. Це API ідентифікатор, який перевірятиме токени
Крок 6: Налаштування об лікового запису Business Central
- Поверніться до Business Central і відкрийте картку Обліковий запис On-Premises File
- Встановіть Авторизація в OAuth 2.0
- Заповніть наступні поля:
- Tenant: Directory (tenant) ID з порталу Azure
- Client Id: Application (client) ID з вашої реєстрації додатка (той, що викликає API)
- Audience: URI ідентифікатора додатка з кроку 4 (наприклад,
api://filehelper) - Client Secret: Значення секрету, яке ви скопіювали в кроці 2
Використання
Основні операції з файлами
Після налаштування облікового запису On-Premises File, він автоматично інтегрується з модулем External File Storage і стає доступним для виконання операцій з файлами:
- Перегляд вмісту каталогів - переглядайте файли та підкаталоги на локальному сервері
- Завантаження файлів - завантажуйте файли з сервера в Business Central
- Вивантаження файлів - завантажуйте файли з Business Central на сервер
- Видалення файлів - видаляйте файли на сервері
- Створення каталогів - створюйте нові каталоги на сервері
- Видалення каталогів - видаляйте порожні каталоги
- Копіювання файлів - копіюйте файли в різні місця на тому ж сервері
- Переміщення файлів - переміщуйте файли в різні місця на тому ж сервері
Дозволи доступу до файлів
Доступ до файлів контролюється обліковим записом Windows, під яким працює пул додатків IIS:
- Операції читання (перегляд, завантаження): Обліковий запис потребує дозволів на читання
- Операції запису (вивантаження, створення): Обліковий запис потребує дозволів на запис
- Операції видалення: Обліковий запис потребує дозволів на зміну або повний контроль
- Операції з каталогами: Обліковий запис потребує відповідних дозволів на батьківські каталоги
Інтеграція з External File Storage Module
Після налаштування On-Premises Connector автоматично реєструється в модулі External File Storage, що дозволяє:
- Використовувати уніфікований API для роботи з файлами незалежно від типу сховища
- Централізоване управління доступом до файлових операцій
- Єдиний інтерфейс для роботи з різними джерелами зберігання (локальні, FTP, Azure Blob Storage, SharePoint тощо)
- Стандартизовані операції з файлами в різних модулях Business Central
- Можливість легко змінювати місце зберігання файлів без зміни бізнес-логіки