Тестирование проверки прав
Возможности
Дымовые тесты проверки прав позволяют проверить базовые ожидания по правам ролей на объекты метаданных.
Тесты проверяют, что у ролей нет прав интерактивного удаления (интерактивного удаления помеченных), а также что объекты доступны на чтение хотя бы одной роли, кроме основных ролей конфигурации и исключений.
Виды тестов
Реализовано 3 вида тестов проверки прав:
ИнтерактивноеУдаление- проверяет отсутствие праваИнтерактивноеУдалениеу ролейИнтерактивноеУдалениеПомеченных- проверяет отсутствие праваИнтерактивноеУдалениеПомеченныху ролейЧтениеНеАдминистраторами- проверяет наличие праваЧтениехотя бы у одной роли, кроме основных ролей конфигурации и исключений
Объекты метаданных
Для проверки интерактивного удаления анализируются:
- Планы обмена
- Справочники
- Документы
- Планы видов характеристик
- Планы счетов
- Планы видов расчета
- Бизнес-процессы
- Задачи
Для проверки чтения не администраторами анализируются:
- Планы обмена
- Константы
- Справочники
- Документы
- Планы видов характеристик
- Планы счетов
- Планы видов расчета
- Регистры сведений
- Регистры накопления
- Регистры бухгалтерии
- Регистры расчета
- Бизнес-процессы
- Задачи
Фильтрация
Настройки для фильтрации/исключения тестов:
- Включение или выключение каждого вида проверки
- Исключение объектов метаданных с возможностью использовать шаблоны со звездочкой (например,
Удалить_*) - Исключение ролей с возможностью использовать шаблоны со звездочкой
Основные роли конфигурации всегда исключаются из проверки ролей.
Настройки
Настройки имеют древовидную структуру:
└─ ДымовыеТесты // Уровень 0
└─ ПроверкаПрав // Уровень 1
└─ [Вид проверки] ИнтерактивноеУдаление, ИнтерактивноеУдалениеПомеченных, ЧтениеНеАдминистраторами // Уровень 2
└─ Исключения // Уровень 3
└─ ИсключенияРолей // Уровень 3
Базовая настройка для теста проверки прав:
{
"ДымовыеТесты": {
"Использовать": true,
"ПроверкаПрав": {
"Использовать": true,
"ИнтерактивноеУдаление": true,
"ИнтерактивноеУдалениеПомеченных": true,
"ЧтениеНеАдминистраторами": true
}
}
}
Настройка тестов проверки прав
| Имя параметра | Тип | Значение по умолчанию | Описание |
|---|---|---|---|
Использовать | boolean | true | Использование тестов проверки прав |
ИнтерактивноеУдаление | Object|boolean | true | Настройка проверки отсутствия права ИнтерактивноеУдаление |
ИнтерактивноеУдалениеПомеченных | Object|boolean | true | Настройка проверки отсутствия права ИнтерактивноеУдалениеПомеченных |
ЧтениеНеАдминистраторами | Object|boolean | true | Настройка проверки чтения не администраторами |
Настройка вида проверки прав
| Имя параметра | Тип | Значение по умолчанию | Описание |
|---|---|---|---|
Использовать | boolean | true | Использование вида проверки |
Исключения | Array|String | Null | Имена исключаемых объектов, возможно использование шаблонов со звездочкой |
ИсключенияРолей | Array|String | Null | Имена исключаемых ролей, возможно использование шаблонов со звездочкой |
Примеры
На уровне каждой проверки можно добавить как исключения объектов метаданных, так и исключения ролей из проверки.
Ниже показан вариант когда исключения настроены на каждый тест.
{
"ДымовыеТесты": {
"Использовать": true,
"ПроверкаПрав": {
"Использовать": true,
"ИнтерактивноеУдаление": {
"Использовать": true,
"Исключения": [
"Удалить*"
],
"ИсключенияРолей": [
"Администратор"
]
},
"ИнтерактивноеУдалениеПомеченных": {
"Использовать": true,
"Исключения": [
"Удалить*"
],
"ИсключенияРолей": [
"Администратор"
]
},
"ЧтениеНеАдминистраторами": {
"Использовать": true,
"Исключения": [
"Удалить*"
],
"ИсключенияРолей": [
"Администратор"
]
}
}
}
}