На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Security Model



All named objects in Windows NT, and some unnamed objects, can be secured. The security attributes of each securable object in Windows are described by a security descriptor, which contains information about the owner of the object, and by an access-control list (ACL) identifying the users and groups allowed or denied access to the object. An ACL contains an entry for each user, global group, or local group (alias) being allowed or denied access to the object. Each of these entries is an access-control entry (ACE).

At logon, a user is assigned an access token containing identifiers that represent the user and any groups to which the user belongs. Every process run on behalf of this user will have a copy of this particular access token. When a process attempts to use an object, the system compares the security attributes listed in the access token with the ACEs in the object's ACL. The system compares the access token with each ACE until access is either granted or denied or until there are no more ACEs to check. Conceivably, several ACEs could apply to a token. And, if this occurs, the access rights granted by each ACE accumulate. For example, if one ACE grants read access to a group in an access token and another ACE grants write access to the user, who is also a member of the group, the user will have both read and write access to the object when the access check is complete.

The following illustration shows the relationship between these blocks of security information:


Typically, the application protecting an object is a server in that it defines the users and groups with access to the object. The application interacts with clients when they attempt to gain access to the object. Users and groups are identified by security identifiers (SIDs). An SID is a structure of variable length that uniquely identifies a user or group. SIDs are stored in a security database that an application can query by calling Win32 functions. With one exception, an SID is used to identify a user or group is never reassigned to another user or group. For a given account, the only SID that will not be the same from logon to logon is the logon-identifier SID. In the model represented by the preceding illustration, SIDs would be used to identify the following:

· The owner and group in the security descriptor
· The recipient of the access being granted by each ACE
· The user and groups in the access token



Security descriptors, SIDs, and ACLs are treated by applications as opaque structures and are intended to be manipulated only by using Win32 functions. This helps ensure that these structures remain syntactically accurate and prevents future enhancements to the security system from breaking existing code.
Pointers to doubleword values or structures must be aligned on doubleword boundaries. However, the exception is strings, for which alignment is not critical. All Win32 memory-allocation functions return handles of doubleword-aligned memory objects.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Модель Безопасности



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

На вводе, пользователь назначен признак доступа, содержащий идентификаторы, которые представляют пользователя и любых групп на которых пользователь принадлежит. Каждый спрос процесса на сторону этого пользователя будет иметь копию этого конкретного признака доступа. Когда процесс пытается использовать объект, система сравнивает атрибуты безопасности указанные в признаке доступа с ПЕР.ТОК в объектном ACL. Система сравнивает признак доступа с каждым АСОМ пока доступ не будет или предоставят или был запрещен или до нет более ПЕР.ТОК, чтобы проверяться. В принципе, несколько ПЕР.ТОКОВ могли бы относиться к признаку. И, если это происходит, права доступа предоставившие каждым АСОМ накапливаются. Например, если один АС предоставляет прочитанному доступу к группе в признаке доступа и другого доступа записи субсидий АСА к пользователю, которые - также элемент группы, пользователь будет иметь как прочитанное так и доступ записи к объекту когда чек доступа завершен.

Следующая иллюстрация показывает отношение между этими блоками информации безопасности:


Обычно, приложение, защищающее объект - сервер в том, что это определять пользователей и группируется с доступом к объекту. Приложение взаимодействует с клиентами когда они пытаются приобретать доступ к объекту. Пользователи и группы называются идентификаторами безопасности (SIDs). SID - структура переменной длины, которая однозначно идентифицирует пользователя или группы. SIDs ЗАГРУЖЕНЫ в базу данных безопасности, что приложение может запрос вызывая функции Win32. С одним исключением, SID использован, чтобы идентифицировать пользователя или группа никогда не переназначена другому пользователю или группе. Для учтенного, единственного SID, которое не будет тем же от ввода до ввода - ввод-идентификатор SID. В модели представленной предыдущей иллюстрацией, SIDs должен быть использован, чтобы идентифицировать следующее:

Владелец и группа в дескрипторе безопасности получатель доступа, предоставлявшего каждым АСОМ пользователь и группы в признаке доступа



Дескрипторы Безопасности, SIDs, и ACLs рассмотрены приложениями как непрозрачные структуры и собрались манипулироваться только используя функции Win32. Это помогает проверять, что эти структуры остаются синтаксически точными и предохраняют будущие расширения в систему охраны из разрыва, существующего код.
Указатели в величины двойного слова или структур должны быть выровнены на границах двойного слова. Тем не менее, исключение является строками, для которых выравнивание не критическое. Вся память-распределение Win32 функционирует обратные ручки объектов памяти выровненного двойного слова.


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz