다음을 통해 공유


액세스 토큰

액세스 토큰프로세스 또는 스레드의 보안 컨텍스트를 설명하는 개체입니다. 토큰의 정보에는 프로세스 또는 스레드와 연결된 사용자 계정의 ID 및 권한이 포함됩니다. 사용자가 로그온하면 시스템은 보안 데이터베이스에 저장된 정보와 비교하여 사용자의 암호를 확인합니다. 암호가 인증되면 시스템에서 액세스 토큰을 생성합니다. 이 사용자를 대신하여 실행되는 모든 프로세스에는 이 액세스 토큰의 복사본이 있습니다.

시스템은 액세스 토큰을 사용하여 스레드가 보안 개체 와 상호 작용하거나 권한이 필요한 시스템 작업을 수행하려고 할 때 사용자를 식별합니다. 액세스 토큰에는 다음 정보가 포함됩니다.

모든 프로세스에는 프로세스와 연결된 사용자 계정의 보안 컨텍스트를 설명하는 기본 토큰이 있습니다. 기본적으로 프로세스의 스레드가 보안 개체와 상호 작용할 때 시스템은 기본 토큰을 사용합니다. 또한 스레드는 클라이언트 계정을 가장할 수 있습니다. 가장을 사용하면 스레드가 클라이언트의 보안 컨텍스트를 사용하여 보안 개체와 상호 작용할 수 있습니다. 클라이언트를 가장하는 스레드에는 기본 토큰과 가장 토큰이 모두 있습니다.

OpenProcessToken 함수를 사용하여 프로세스의 기본 토큰에 대한 핸들을 검색합니다. OpenThreadToken 함수를 사용하여 스레드의 가장 토큰에 대한 핸들을 검색합니다. 자세한 내용은 가장을 참조 하세요.

다음 함수를 사용하여 액세스 토큰을 조작할 수 있습니다.

함수 Description
AdjustTokenGroups 액세스 토큰의 그룹 정보를 변경합니다.
AdjustTokenPrivileges 액세스 토큰에서 권한을 사용하거나 사용하지 않도록 설정합니다. 새 권한을 부여하거나 기존 권한을 취소하지 않습니다.
CheckTokenMembership 지정된 액세스 토큰에서 지정된 SID를 사용할 수 있는지 여부를 결정합니다.
CreateRestrictedToken 기존 토큰의 제한된 버전인 새 토큰을 만듭니다. 제한된 토큰에는 비활성화된 SID, 삭제된 권한 및 제한된 SID 목록이 있을 수 있습니다.
DuplicateToken 기존 토큰을 복제하는 새 가장 토큰을 만듭니다.
DuplicateTokenEx 기존 토큰을 복제하는 새 기본 토큰 또는 가장 토큰을 만듭니다.
GetTokenInformation 토큰에 대한 정보를 검색합니다.
IsTokenRestricted 토큰에 제한 SID 목록이 있는지 여부를 확인합니다.
OpenProcessToken 프로세스에 대한 기본 액세스 토큰에 대한 핸들을 검색합니다.
OpenThreadToken 스레드에 대한 가장 액세스 토큰에 대한 핸들을 검색합니다.
SetThreadToken 스레드에 대한 가장 토큰을 할당하거나 제거합니다.
SetTokenInformation 토큰의 소유자, 기본 그룹 또는 기본 DACL을 변경합니다.

 

액세스 토큰 함수는 다음 구조를 사용하여 액세스 토큰의 부분을 설명합니다.

구조체 설명
TOKEN_CONTROL 액세스 토큰을 식별하는 정보입니다.
TOKEN_DEFAULT_DACL 시스템이 스레드에서 만든 새 개체의 보안 설명자에 사용하는 기본 DACL입니다.
TOKEN_GROUPS 액세스 토큰에서 그룹 SID의 SID 및 특성을 지정합니다.
TOKEN_OWNER 새 개체의 보안 설명자에 대한 기본 소유자 SID입니다.
TOKEN_PRIMARY_GROUP 새 개체의 보안 설명자에 대한 기본 기본 그룹 SID입니다.
TOKEN_PRIVILEGES 액세스 토큰과 연결된 권한입니다. 또한 권한의 사용 여부도 결정합니다.
TOKEN_SOURCE 액세스 토큰의 원본입니다.
TOKEN_STATISTICS 액세스 토큰과 연결된 통계입니다.
TOKEN_USER 액세스 토큰과 연결된 사용자의 SID입니다.

 

액세스 토큰 함수는 다음 열거형 형식을 사용합니다.

열거형 형식 설명
TOKEN_INFORMATION_CLASS 액세스 토큰에서 설정되거나 검색되는 정보의 유형을 식별합니다.
TOKEN_TYPE 액세스 토큰을 기본 또는 가장 토큰으로 식별합니다.