Поделиться через


структура LSA_TOKEN_INFORMATION_V3 (ntsecpkg.h)

Структура LSA_TOKEN_INFORMATION_V3 добавляет поддержку утверждений к маркеру LSA и содержит сведения, которые пакет проверки подлинности может поместить в объект токена Windows версии 3 и имеет заменяющий LSA_TOKEN_INFORMATION_V1.

В объекте маркера Windows версии 3 хранятся все сведения, необходимые для создания маркера из пакета проверки подлинности в локальный центр безопасности (LSA). LSA передает эти сведения в ядро, чтобы создать объект маркера и вернуть дескриптор этому объекту маркера вызывающей объекту LsaLogonUser. LSA предполагает, что первый элемент этой структуры идентичен элементам в LSA_TOKEN_INFORMATION_V1 структуре.

Синтаксис

typedef struct _LSA_TOKEN_INFORMATION_V3 {
  LARGE_INTEGER       ExpirationTime;
  TOKEN_USER          User;
  PTOKEN_GROUPS       Groups;
  TOKEN_PRIMARY_GROUP PrimaryGroup;
  PTOKEN_PRIVILEGES   Privileges;
  TOKEN_OWNER         Owner;
  TOKEN_DEFAULT_DACL  DefaultDacl;
  TOKEN_USER_CLAIMS   UserClaims;
  TOKEN_DEVICE_CLAIMS DeviceClaims;
  PTOKEN_GROUPS       DeviceGroups;
} LSA_TOKEN_INFORMATION_V3, *PLSA_TOKEN_INFORMATION_V3;

Члены

ExpirationTime

Время, когда контекст безопасности становится недопустимым. Используйте значение в отдаленном будущем, если срок действия контекста никогда не истекает. Текущая версия ядра операционной системы не применяет этот срок действия.

User

TOKEN_USER структуру, содержащую идентификатор безопасности пользователя, который входит в систему. Значение идентификатора безопасности SID находится в отдельно выделенном блоке памяти.

Groups

TOKEN_GROUPS структуры, содержащей идентификаторы безопасности групп, в которые входит пользователь. Сюда не должны входить идентификаторы WORLD или другие определяемые системой и назначаемые системой идентификаторы безопасности. Они будут добавлены автоматически LSA.

Ожидается, что каждый sid будет находиться в отдельно выделенном блоке памяти. Структура TOKEN_GROUPS также должна находиться в отдельно выделенном блоке памяти. Все эти блоки памяти должны быть выделены путем вызова функции AllocatePrivateHeap .

PrimaryGroup

TOKEN_PRIMARY_GROUP структуру, которая используется для создания основной группы пользователя. Это значение не должно соответствовать одному из идентификаторов безопасности, назначенных пользователю.

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

Этот элемент является обязательным и должен быть заполнен.

Privileges

TOKEN_PRIVILEGES структура, содержащая привилегии, назначенные пользователю. Этот список привилегий будет дополнен или переопределен любыми назначенными локальной политикой безопасности привилегиями.

Ожидается, что каждая привилегия будет находиться в отдельно выделенном блоке памяти. Структура TOKEN_PRIVILEGES также должна находиться в отдельно выделенном блоке памяти.

Если пользователю не назначены привилегии, для этого элемента может быть задано значение NULL.

Owner

TOKEN_OWNER структура. Этот элемент можно использовать для установки явного владельца по умолчанию. Как правило, идентификатор пользователя используется в качестве владельца по умолчанию. Если требуется другое значение, его необходимо указать здесь.

Элемент Owner.Sid может иметь значение NULL , чтобы указать, что нет альтернативного значения владельца по умолчанию.

DefaultDacl

TOKEN_DEFAULT_DACL структура. Этот элемент может использоваться для установки защиты по умолчанию для пользователя. Если значение не указано, будет установлена защита по умолчанию, которая предоставляет всем пользователям доступ.

Элемент DefaultDacl.DefaultDacl может иметь значение NULL , чтобы указать, что защита по умолчанию отсутствует.

UserClaims

TOKEN_USER_CLAIMS структура. Этот член хранит непрозрачный большой двоичный объект пользовательских утверждений для маркера. Элемент UserClaims может иметь значение NULL , чтобы указать, что в маркере нет дополнительных утверждений пользователя. Утверждения являются разрешенными сущностями, поэтому пропуск утверждений может ограничить доступ.

DeviceClaims

TOKEN_DEVICE_CLAIMS структура. Этот член сохраняет большой двоичный объект с непрозрачными утверждениями устройства для маркера. Элемент DeviceClaims может иметь значение NULL , чтобы указать, что в маркере нет дополнительных утверждений устройства. Утверждения являются разрешенными сущностями, поэтому пропуск утверждений может ограничить доступ.

DeviceGroups

TOKEN_GROUPS структуру, содержащую идентификаторы безопасности групп для элемента устройства, который выполняет проверку подлинности. Как и в случае с группами пользователей, это не должно включать world или другие определяемые системой или назначенные идентификаторы безопасности. Элемент DeviceGroups может иметь значение NULL , чтобы указать, что компаундирование не должно происходить. Если deviceGroups присутствуют, LSA добавит WORLD и другие назначенные идентификаторы безопасности.

В отличие от групп пользователей, не существует понятия основной группы устройств.

Ожидается, что каждый sid будет находиться в отдельно выделенном блоке памяти. Структура TOKEN_GROUPS также должна находиться в отдельно выделенном блоке памяти.

Требования

   
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Верхняя часть ntsecpkg.h