Перейти к основному содержимому

Тестирование проверки прав

Возможности

Дымовые тесты проверки прав позволяют проверить базовые ожидания по правам ролей на объекты метаданных.

Тесты проверяют, что у ролей нет прав интерактивного удаления (интерактивного удаления помеченных), а также что объекты доступны на чтение хотя бы одной роли, кроме основных ролей конфигурации и исключений.

Виды тестов

Реализовано 3 вида тестов проверки прав:

  • ИнтерактивноеУдаление - проверяет отсутствие права ИнтерактивноеУдаление у ролей
  • ИнтерактивноеУдалениеПомеченных - проверяет отсутствие права ИнтерактивноеУдалениеПомеченных у ролей
  • ЧтениеНеАдминистраторами - проверяет наличие права Чтение хотя бы у одной роли, кроме основных ролей конфигурации и исключений

Объекты метаданных

Для проверки интерактивного удаления анализируются:

  • Планы обмена
  • Справочники
  • Документы
  • Планы видов характеристик
  • Планы счетов
  • Планы видов расчета
  • Бизнес-процессы
  • Задачи

Для проверки чтения не администраторами анализируются:

  • Планы обмена
  • Константы
  • Справочники
  • Документы
  • Планы видов характеристик
  • Планы счетов
  • Планы видов расчета
  • Регистры сведений
  • Регистры накопления
  • Регистры бухгалтерии
  • Регистры расчета
  • Бизнес-процессы
  • Задачи

Фильтрация

Настройки для фильтрации/исключения тестов:

  • Включение или выключение каждого вида проверки
  • Исключение объектов метаданных с возможностью использовать шаблоны со звездочкой (например, Удалить_*)
  • Исключение ролей с возможностью использовать шаблоны со звездочкой

Основные роли конфигурации всегда исключаются из проверки ролей.

Настройки

Настройки имеют древовидную структуру:

└─ ДымовыеТесты                                                                                          // Уровень 0
   └─ ПроверкаПрав                                                                                       // Уровень 1
      └─ [Вид проверки] ИнтерактивноеУдаление, ИнтерактивноеУдалениеПомеченных, ЧтениеНеАдминистраторами // Уровень 2
         └─ Исключения                                                                                   // Уровень 3
         └─ ИсключенияРолей                                                                              // Уровень 3

Базовая настройка для теста проверки прав:

{
    "ДымовыеТесты": {
        "Использовать": true,
        "ПроверкаПрав": {
            "Использовать": true,
            "ИнтерактивноеУдаление": true,
            "ИнтерактивноеУдалениеПомеченных": true,
            "ЧтениеНеАдминистраторами": true
        }
    }
}

Настройка тестов проверки прав

Имя параметраТипЗначение по умолчаниюОписание
ИспользоватьbooleantrueИспользование тестов проверки прав
ИнтерактивноеУдалениеObject|booleantrueНастройка проверки отсутствия права ИнтерактивноеУдаление
ИнтерактивноеУдалениеПомеченныхObject|booleantrueНастройка проверки отсутствия права ИнтерактивноеУдалениеПомеченных
ЧтениеНеАдминистраторамиObject|booleantrueНастройка проверки чтения не администраторами

Настройка вида проверки прав

Имя параметраТипЗначение по умолчаниюОписание
ИспользоватьbooleantrueИспользование вида проверки
ИсключенияArray|StringNullИмена исключаемых объектов, возможно использование шаблонов со звездочкой
ИсключенияРолейArray|StringNullИмена исключаемых ролей, возможно использование шаблонов со звездочкой

Примеры

На уровне каждой проверки можно добавить как исключения объектов метаданных, так и исключения ролей из проверки.

Ниже показан вариант когда исключения настроены на каждый тест.

{
    "ДымовыеТесты": {
        "Использовать": true,
        "ПроверкаПрав": {
            "Использовать": true,
            "ИнтерактивноеУдаление": {
                "Использовать": true,
                "Исключения": [
                    "Удалить*"
                ],
                "ИсключенияРолей": [
                    "Администратор"
                ]
            },
            "ИнтерактивноеУдалениеПомеченных": {
                "Использовать": true,
                "Исключения": [
                    "Удалить*"
                ],
                "ИсключенияРолей": [
                    "Администратор"
                ]
            },
            "ЧтениеНеАдминистраторами": {
                "Использовать": true,
                "Исключения": [
                    "Удалить*"
                ],
                "ИсключенияРолей": [
                    "Администратор"
                ]
            }
        }
    }
}