다음을 통해 공유


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