Что такое Авторизация?

В рамках данной заметки, я расскажу вам что такое авторизация, а так же некоторые особенности. И начну с определения.

Что такое Авторизация?

Авторизация (authorization - разрешение, уполномочивание) - это предоставление определенных прав для совершения действий, а так же их проверки при совершении действия (их достаточности для выполнения операции).

Например, вы вошли в аккаунт и вам были предоставлены права переписываться с вашими знакомыми, смотреть и редактировать свой список контактов и т.п. Второе и представляет собой авторизацию. Но, это только часть. Еще момент, это то, что система будет перед каждым вашим действием (скажем, собираетесь добавить фотку в альбом) проверять "а достаточно ли у вас прав для совершения этого действия".

Важно отметить, что авторизация это не идентификация (отождествление с чем-либо) и не аутентификация (проверка подлинности). Это разные понятия, хотя их и часто путают.

Если говорить простыми словами, то схема такова: вначале пользователь вводит свой логин (это идентификация - система проверяет, что такой пользователь зарегистрирован), затем пароль (это аутентификация - происходит проверка подлинности, что пользователь настоящий), а затем уже система предоставляет какие-то права (это авторизация).

Стоит понимать, что обычно все три эти понятия представляют собой неразрывную цепочку. Например, аутентификация без идентификации бессмысленна. В общем-то, как и идентификация без аутентификации, так как зная только идентификатор (логин, почту и т.п.), кто-угодно может получить доступ.

Хотя бывает разное, например, авторизация может применяться без остальных. Банально для тех же анонимных пользователей. Скажем, вы открыли сайт, система вас никак не определила и вы не вводили никакие пароли, но все же можете читать информацию в сайте и переходить по страничкам.

Какие виды авторизационных систем бывают?

Вообще, основных три вида (с разными вариациями):

1. Дискреционные системы управления доступом (DAC). Например, Windows. В данном случае подразумевается, что доступ к каждому объекту в системе определяется на основе списков доступа у этого объекта. При этом, чтобы не усложнять и не замусоривать систему, обычно еще вводится понятие группы. И уже для групп присваиваются права объекту (но не только, в списке доступа у объекта также могут быть и отдельные пользователи). А пользователю достаточно входить в группу, чтобы получить доступ к объекту (или действию с объектом). Грубо говоря, у файла Х в списке доступа группа 1 с доступом к чтению. В таком случае, если пользователь входит в группу 1, то он сможет открыть данный файл.

2. Мандатные системы управления доступом (МАС). В данном случае речь о том, что объекту присваивается некая метка доступа. Пользователю же определяется определенный уровень доступа. Соответственно, если у пользователя достаточно прав или больше необходимого, то он сможет что-либо делать с объектом. Если же у пользователя меньше прав, чем необходимо, то он ничего не сможет делать с объектом. Грубо говоря, представим, что существует три типа меток "Для всех", "Для пользователей", "Для владельцев сайта". Логично, что если у человека доступ уровня "Для владельцев сайта", то он сможет читать все объекты. Но, если у человека доступ уровня "Для всех", то он, например, не сможет читать "Для пользователей". Так же важно отметить, что в мандатной модели пользователь не может присвоить объекту метку уровня выше, чем у него самого. Это позволяет ограничивать возможности по изменению уровня доступа. Например, если человек с уровнем "Для владельцев сайта" изменил метку доступа у какого-либо объекта с "Для всех" в "Для пользователей", то человек с уровнем доступа "Для всех" не сможет более с объектом взаимодействовать.

3. Управление доступом на основе ролей (RBAC). В данном случае речь о том, что пользователю присваиваются определенные роли. И уже доступ к действиям и объектам определяется наличием соответствующего доступа у роли. При чем в одних системах у пользователя одновременно может быть только одна роль (с или без возможности переключаться), а в других, скажем, несколько ролей одновременно (с наследованием, иерархией и т.п.). Отличие от двух других видов в основном в том, что роли могут определять доступ не к атомарным действиям в стиле "создать файл", а к более сложным и комплексным в стиле "создать пользователя с его профилем и т.п.".

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

Бывают еще и другие виды, но они встречаются существенно реже вышеприведенных.

Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!

1 1 1 1 1 1 1 1 1 1 Рейтинг 5.00 (1 Голос)

☕ Хотите выразить благодарность автору? Поделитесь с друзьями!

Добавить комментарий / отзыв

Комментарий - это вежливое и наполненное смыслом сообщение (правила).



* Нажимая на кнопку "Отправить", Вы соглашаетесь с политикой конфиденциальности.
Каталог программ