LSA_TOKEN_INFORMATION_V3 구조체(ntsecpkg.h)
LSA_TOKEN_INFORMATION_V3 구조는 LSA 토큰에 클레임 지원을 추가하고 인증 패키지가 버전 3 Windows 토큰 개체에 배치할 수 있고 LSA_TOKEN_INFORMATION_V1 대체한 정보를 포함합니다.
버전 3 Windows 토큰 개체는 인증 패키지에서 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를 포함하는 구조체입니다. 보안 식별자 SID 값은 별도로 할당된 메모리 블록에 있습니다.
Groups
TOKEN_GROUPS 사용자가 속한 그룹의 SID를 포함하는 구조체입니다. 여기에는 WORLD 또는 기타 시스템 정의 및 시스템 할당 SID가 포함되어서는 안 됩니다. LSA에서 자동으로 추가됩니다.
각 SID는 별도로 할당된 메모리 블록에 있어야 합니다. 또한 TOKEN_GROUPS 구조체는 별도로 할당된 메모리 블록에 있어야 합니다. 이러한 모든 메모리 블록은 AllocatePrivateHeap 함수를 호출하여 할당해야 합니다.
PrimaryGroup
사용자의 기본 그룹을 설정하는 데 사용되는 TOKEN_PRIMARY_GROUP 구조체입니다. 이 값은 사용자에게 할당된 SID 중 하나에 해당할 필요가 없습니다.
이 구조체가 가리키는 SID는 별도로 할당된 메모리 블록에 있어야 합니다.
이 멤버는 필수이며 채워야 합니다.
Privileges
TOKEN_PRIVILEGES 사용자에게 할당된 권한이 포함된 구조입니다. 이 권한 목록은 로컬 보안 정책 할당 권한에 의해 보강되거나 재정의됩니다.
각 권한은 별도로 할당된 메모리 블록에 있어야 합니다. 또한 TOKEN_PRIVILEGES 구조는 별도로 할당된 메모리 블록에 있어야 합니다.
사용자에게 할당할 권한이 없는 경우 이 멤버를 NULL로 설정할 수 있습니다.
Owner
TOKEN_OWNER 구조체입니다. 이 멤버는 명시적 기본 소유자를 설정하는 데 사용할 수 있습니다. 일반적으로 사용자 ID는 기본 소유자로 사용됩니다. 다른 값이 필요한 경우 여기에 지정해야 합니다.
Owner.Sid 멤버는 대체 기본 소유자 값이 없음을 나타내기 위해 NULL로 설정할 수 있습니다.
DefaultDacl
TOKEN_DEFAULT_DACL 구조체입니다. 이 멤버는 사용자에 대한 기본 보호를 설정하는 데 사용할 수 있습니다. 값이 제공되지 않으면 모든 사용자에게 모든 액세스 권한을 부여하는 기본 보호가 설정됩니다.
DefaultDacl.DefaultDacl 멤버를 NULL로 설정하여 기본 보호가 없음을 나타낼 수 있습니다.
UserClaims
TOKEN_USER_CLAIMS 구조체입니다. 이 멤버는 토큰에 대한 불투명 사용자 클레임 BLOB을 저장합니다. UserClaims 멤버를NULL로 설정하여 토큰에 추가 사용자 클레임이 없음을 나타낼 수 있습니다. 클레임은 허용 전용 엔터티이므로 클레임을 생략하면 액세스가 제한됩니다.
DeviceClaims
TOKEN_DEVICE_CLAIMS 구조체입니다. 이 멤버는 토큰에 대한 불투명 디바이스 클레임 BLOB을 저장합니다. DeviceClaims 멤버를NULL로 설정하여 토큰에 추가 디바이스 클레임이 없음을 나타낼 수 있습니다. 클레임은 허용 전용 엔터티이므로 클레임을 생략하면 액세스가 제한됩니다.
DeviceGroups
TOKEN_GROUPS 인증 디바이스 멤버에 대한 그룹의 SID를 포함하는 구조체입니다. 사용자 그룹과 마찬가지로 WORLD 또는 다른 시스템 정의 또는 할당된 SID를 포함해서는 안 됩니다. DeviceGroups 멤버를NULL로 설정하여 복합이 발생하지 않아야 함을 나타낼 수 있습니다. DeviceGroup이 있는 경우 LSA는 WORLD 및 기타 할당된 SID를 추가합니다.
사용자 그룹과 달리 기본 디바이스 그룹에 대한 개념은 없습니다.
각 SID는 별도로 할당된 메모리 블록에 있어야 합니다. 또한 TOKEN_GROUPS 구조체는 별도로 할당된 메모리 블록에 있어야 합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱만 해당] |
머리글 | ntsecpkg.h |