Skip to main content

Что такое токен доступа?

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

Концепция токена доступа изначально создавалась и использовалась операционными системами и программами Microsoft®, но их полезность перенесла их в другое место. Интерфейс прикладного программирования (API) для Google описывает метод использования токенов доступа при программировании приложений, которым необходим доступ к данным, связанным с учетной записью пользователя Google. Некоторые из крупных социальных сетей также используют токены доступа в своих API.

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

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

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