SMART External File Storage - FTP Connector
Додаток SMART External File Storage - FTP Connector — це розширення для Microsoft Dynamics 365 Business Central, яке забезпечує підключення до FTP/SFTP серверів та інших файлових протоколів через уніфікований API модуля зовнішнього зберігання файлів (External File Storage Module). Додаток дозволяє виконувати повний спектр операцій з файлами та каталогами на віддалених серверах безпосередньо з Business Central.
Основні можливості
- Підтримка множини протоколів: SFTP, SCP, FTP, WebDAV, S3
- Безпечне зберігання облікових даних у ізольованому сховищі
- Гнучка настройка параметрів безпеки для SFTP/SSH підключень
- Підтримка автентифікації за допомогою SSH приватних ключів
- Можливість використання власної Azure Function для додаткового рівня безпеки
- Повний набір операцій з файлами: створення, читання, завантаження, видалення
- Управління каталогами: створення, перегляд вмісту
- Інтеграція з модулем External File Storage для уніфікованого доступу
Налаштування облікового запису FTP
Для налаштування підключення до FTP/SFTP сервера необхідно створити обліковий запис.
Створення облікового запису
- Натисніть кнопку , яка відкриє функцію Пошук та введіть Облікові записи FTP, перейдіть за відповідним посиланням. 
- Натисніть кнопку Створити. 
- На картці облікового запису заповніть необхідні поля:
Основні налаштування підключення
| Поле | Опис | 
|---|---|
| Назва облікового запису | Унікальна назва облікового запису для ідентифікації підключення в системі. Використовується для відображення в списках та вибору облікового запису при роботі з файлами. | 
| Azure Function Url | URL-адреса Azure Function, яка використовується як проміжний шлюз для виконання оп ерацій з FTP сервером. За замовчуванням використовується загальнодоступна функція SMART business. Ви можете розгорнути власну функцію для додаткового контролю безпеки, інтеграції з VNet або приватними кінцевими точками. | 
| Код авторизації Azure Function | Код авторизації на рівні функції для автентифікації запитів до Azure Function. Якщо поле залишити порожнім, буде використовуватись анонімна автентифікація. Заповніть це поле, якщо використовуєте власну захищену Azure Function. | 
Налаштування протоколу та адреси
| Поле | Опис | 
|---|---|
| Протокол | Протокол передачі файлів, який буде використовуватися для підключення: - SFTP - SSH File Transfer Protocol, забезпечує безпечну передачу файлів через SSH - SCP - Secure Copy Protocol, використовується для простого копіювання файлів через SSH - FTP - File Transfer Protocol, стандартний протокол передачі файлів (може використовува тись з додатковим шифруванням) - WebDAV - Web Distributed Authoring and Versioning, протокол для роботи з файлами через HTTP/HTTPS - S3 - Amazon S3 протокол для роботи з об'єктним сховищем | 
| FTP Secure | Тип безпечного з'єднання для FTP протоколу (доступно лише при виборі протоколу FTP): - None - незашифроване з'єднання - Implicit - неявне шифрування (FTPS), з'єднання шифрується з самого початку - Explicit - явне шифрування (FTPES), шифрування встановлюється за допомогою команди після початкового незахищеного з'єднання | 
| Адреса FTP | Повна адреса сервера, до якого здійснюється підключення. Можна вказати як IP-адресу (наприклад, 192.168.1.100), так і доменне ім'я (наприклад, ftp.example.com). | 
| Номер порту | Порт для підключення до сервера. Стандартні значення: - Порт 22 для SFTP/SCP - Порт 21 для FTP - Порт 990 для FTPS (Implicit) Якщо ваш сервер використовує нестандартний порт, вкажіть відповідне значення. | 
| Базова папка | Початковий каталог на сервері, з якого буде здійснюватись робота. Усі шляхи до файлів будуть відносно цього каталогу. За замовчуванням використовується кореневий каталог ("/"). Наприклад, якщо вказати "/documents", всі операції будуть виконуватись відносно папки documents. | 
Автентифікація
| Поле | Опис | 
|---|---|
| Ім'я користувача | Ім'я користувача для автентифікації на FTP/SFTP сервері. Це поле зберігається в захищеному сховищі. | 
| Пароль | Пароль користувача для автентифікації. Дані зберігаються в ізольованому сховищі Business Central і шифруються. При перегляді існуючого облікового запису пароль відображається як "***". | 
Налаштування безпеки SSH (для SFTP/SCP)
При використанні протоколів SFTP або SCP доступні додаткові параметри безпеки для роботи з SSH.
| Поле | Опис | 
|---|---|
| Політика ключа хоста SSH | Визначає, як система перевірятиме ключ хоста SSH сервера при підключенні: - Check - суворо перевіряти відповідність ключа хоста. Підключення буде дозволено, лише якщо ключ хоста точно відповідає вказаному відбитку. Рекомендується для максимальної безпеки. - Accept New - автоматично приймати новий ключ хоста при першому підключенні, але перевіряти його при наступних підключеннях. Корисно, коли відбиток ключа невідомий заздалегідь. - Give Up Security And Accept Any - приймати будь-який ключ хоста без перевірки. Не рекомендується для використання в продуктивному середовищі через ризики безпеки (атаки типу man-in-the-middle). | 
| Відбиток ключа хоста SSH | Відбиток (fingerprint) SSH ключа хоста сервера для перевірки автентичності. Використовується для захисту від атак підміни сервера. Формат відбитку: алгоритм:значення, наприклад: - ssh-rsa 2048 xx:xx:xx:...:xx- ssh-ed25519 256 xx:xx:xx:...:xxОтримати відбиток ключа можна від адміністратора сервера або за допомогою команди ssh-keyscan. Поле активне лише якщо політика ключа хоста встановлена як "Check". | 
| Приватний ключ SSH | Приватний SSH ключ для автентифікації на основі ключів (замість пароля). Підтримуються формати OpenSSH та PuTTY PPK. Використання SSH ключів забезпечує вищий рівень безпеки порівняно з паролями. Для завантаження ключа натисніть на поле та оберіть файл з приватним ключем. Файл ключа зберігається в базі даних у зашифрованому вигляді. Якщо приватний ключ захищено паролем (passphrase), вкажіть його в полі "Пароль". | 
Інші параметри
| Поле | Опис | 
|---|---|
| Вимкнено | Позначка, яка вказує, чи вимкнено обліковий запис. Якщо встановлено, обліковий запис не може бути використаний для операцій з файлами. Це поле автоматично встановлюється при створенні sandbox середовища для запобігання небажаних операцій з продуктивними серверами. | 
Розгортання власної Azure Function
За замовчуванням додаток використовує загальнодоступну Azure Function від SMART business для виконання операцій з FTP серверами. Однак, для підвищення безпеки, інтеграції з корпоративною мережею або відповідності внутрішнім політикам безпеки, ви можете розгорнути власну Azure Function.
Коли варто використовувати власну Azure Function
- Потрібна інтеграція з віртуальною приватною мережею (VNet)
- Необхідне підключення через приватні кінцеві точки (Private Endpoints)
- Вимоги щодо ізоляції та контролю доступу
- Необхідність розширеного аудиту операцій
- Корпоративні політики безпеки вимагають використання лише власних ресурсів
Процес розгортання
- На картці Обліковий запис FTP натисніть кнопку Розгорнути Azure Function в меню "Дії".
- Відкриється портал Azure з попередньо заповненим ARM шаблоном для розгортання.
- Виконайте наступні кроки в порталі Azure:
- Виберіть підписку Azure
- Виберіть існуючу або створіть нову групу ресурсів
- Виберіть регіон для розгортання (рекомендується той самий регіон, що й Business Central)
- Перегляньте та підтвердьте параметри розгортання
 
- Почніть розгортання та дочекайтесь його завершення (зазвичай займає 5-10 хвилин).
- Після завершення розгортання:
- Перейдіть до створеної Azure Function в порталі Azure
- Скопіюйте URL функції (Function URL)
- Скопіюйте код авторизації функції (Function Key), якщо він був налаштований
 
- Поверніться до картки Обліковий запис FTP в Business Central:
- Вставте URL функції в поле Azure Function Url
- Вставте код авторизації в поле Код авторизації Azure Function