С разрешением и запретом все интуитивно понятно: происходит либо предоставление некоторых прав пользователю, либо выставление запретов. Что касается неявного отклонения доступа, можно считать, что это удаление ранее предоставленного разрешения или запрета для данного пользователя. Если бы не было возможности неявного отклонения доступа, то для некоторого конкретного пользователя можно было бы либо дать разрешение, либо выставить запрет на некоторый конкретный объект БД. С помощью же неявного отклонения доступа можно убрать как явное разрешение, так и явное отклонение доступа, т. е. установить неопределенность. Такое состояние называется неявным отклонением доступа. Дело в том, что здесь применяется политика, в соответствии с которой запрещается все, что явно не разрешено, т. е. если у пользователя не будет ни запрета, ни разрешения на некоторую операцию, то он не сможет ее выполнить.
Для одного и того же объекта на одну и ту же операцию пользователь может иметь сразу несколько разрешений (или запретов), т. е. непосредственно пользователю, конечно, может быть выдано только одно разрешение. Однако пользователь может входить в множество различных ролей БД. Например, для БД института можно рассмотреть роли «Преподаватели», «Студенты», «Сотрудники деканата», «Сотрудники профсоюза», «Лаборанты», «Системные администраторы». Один пользователь может входить сразу в несколько ролей. Для некоторого объекта на одну операцию (например, операцию удаления) могут быть выставлены и запреты, и разрешения. Кроме того, они могут быть выставлены еще дополнительно непосредственно для каждого пользователя.
Таким образом, каждый пользователь БД может иметь разрешения, предоставленные непосредственно ему или посредством вхождения в роли. Причем может получиться, что эти разрешения и запреты будут противоречить друг другу. Например, операция удаления будет запрещена для роли «Студенты», но разрешена для роли «Лаборанты». Если учесть, что некоторый пользователь может входить в обе роли, как будет определяться возможность или невозможность выполнить ту или иную операцию в таких случаях? Наиболее весомым считается запрет из тех соображений, что главное — не допустить (по ошибке) несанкционированного доступа к данным. Если же кто-либо из пользователей недополучит каких-либо прав, то он обратится к администратору и тот предоставит ему необходимые права, т. е. считается, что лучше недодать прав, чем дать их слишком много. В этом и состоит разница между REVOKE и DENY: если пользователю одновременно даны разрешение (GRANT) и запрет (DENY), то результатом будет запрет, а если же дополнительно к разрешению дано неявное отклонение доступа, то результатом будет разрешение.
Интерпретация двойных назначений разрешений приведена в табл. 1.4. Из анализа данных, приведенных в таблице, можно сделать вывод, что будет происходить при наличии разных разрешений.