3.8 KiB
3.8 KiB
ТЗ Для 1С-Админа: Публикация OData (Read-Only)
1. Цель
Обеспечить доступ внешнего сервиса к копии базы 1С по стандартному OData-интерфейсу в режиме только чтения.
2. Контур
- База:
X:\1C\База бухгалтерии(файловая ИБ, есть1Cv8.1CD) - Рабочий проект интеграции:
X:\1C\NDC_1C - Среда: тестовая, не production
3. Что Нужно Сделать
- Опубликовать базу на локальном веб-сервере (IIS или Apache), доступном с машины интеграции.
- Включить стандартный интерфейс OData для опубликованной базы.
- Создать отдельного технического пользователя для интеграции, только с правами чтения.
- Запретить любые write-операции для этого пользователя (создание, изменение, удаление, проведение, перепроведение).
- Открыть на старте только минимально нужные сущности: документы, контрагенты, договоры, организации, планы счетов, регистры/движения для проводок.
- Передать команде интеграции параметры доступа: базовый URL публикации, путь OData, логин и пароль read-only пользователя.
4. Формат Передачи Параметров
Ожидаемые переменные:
ONEC_BASE_URL=http://<host_or_ip>
ONEC_INFOBASE=<published_base_name>
ONEC_USERNAME=<readonly_user>
ONEC_PASSWORD=<readonly_password>
ONEC_ODATA_PATH=/odata/standard.odata/
ONEC_TIMEOUT=30
ONEC_VERIFY_TLS=false
5. Проверка Готовности (Smoke Test)
Проверка должна выполняться read-only пользователем.
$user = "<readonly_user>"
$pass = "<readonly_password>"
$pair = "$($user):$($pass)"
$bytes = [System.Text.Encoding]::ASCII.GetBytes($pair)
$token = [Convert]::ToBase64String($bytes)
$headers = @{ Authorization = "Basic $token" }
Invoke-WebRequest -Uri "http://<host>/<base>/odata/standard.odata/\$metadata" -Headers $headers -Method GET
Invoke-WebRequest -Uri "http://<host>/<base>/odata/standard.odata/" -Headers $headers -Method GET
Ожидаемо:
$metadataотвечает200- список сущностей доступен
- запросы чтения работают
- попытки изменения возвращают отказ по правам
6. Критерии Приёмки
- OData endpoint отвечает и доступен по сети с машины интеграции.
- Read-only пользователь успешно читает metadata и выбранные сущности.
- Write-операции read-only пользователю недоступны.
- Переданы все параметры подключения для заполнения
.env.
7. Что Нельзя Делать
- Выдавать интеграционному пользователю расширенные права.
- Открывать доступ к production-базе.
- Разрешать запись в документы/регистры через OData.
8. Результат Для Команды Интеграции
Админ передаёт:
- Рабочий URL OData.
- Данные read-only пользователя.
- Короткий отчёт о проверке (
200на$metadata, подтверждение запрета записи).