Я рассматриваю динамический контроль доступа как способ ограничить доступ пользователей к файлам в моем общем файловом ресурсе, но я не знаю, может ли он делать то, что я пытаюсь сделать.
Все файлы в моей общей папке имеют настраиваемые метаданные, которые описывают категорию, в которую попадает файл (Финансы, Проект 1, Проект 2, Управление персоналом и т. Д.). У меня также есть таблица SQL, в которой содержится Username -> Category
пары ключ-значение.
Есть ли способ создать политику, которая определяет доступ на основе чего-то вроде этого:
File.Category ANY_OF SQL_Table[Username]
куда SQL_Table[Username]
это список всех категорий, к которым пользователь имеет доступ, как записано в таблице SQL?
Я не хочу использовать группы безопасности, потому что не хочу, чтобы все знали, кто в каких проектах участвует, а создание группы безопасности раскроет членство
Динамический контроль доступа (DAC) не имеет каких-либо функций для использования SQL Server в качестве источника информации для авторизации, как вы описываете. В текущих версиях продукта этого просто нет.
Атрибуты Active Directory и свойства классификации файлов - единственные факторы, которые DAC может учитывать при принятии решения об авторизации. Вы застряли либо при использовании существующего атрибута AD, либо при расширении схемы для создания нового атрибута для выполнения того, что вы ищете.
Скрытие членства в группе безопасности - не совсем безнадежное дело, хотя вы определенно меняете поведение продукта по умолчанию. Закон США о правах семьи на образование и неприкосновенность частной жизни (FERPA) вызвал определенную потребность в сообществе высшего образования в группах AD со скрытым членством. Были некоторые обсуждения по ActiveDir.org список рассылки об этом в прошлом. Статья Вашингтонского университета об инфраструктуре Windows Конфигурация конфиденциальности группы курса тоже было бы на что посмотреть.