Token Akses

Token akses adalah objek yang menjelaskan konteks keamananproses atau utas. Informasi dalam token mencakup identitas dan hak istimewa akun pengguna yang terkait dengan proses atau utas. Saat pengguna masuk, sistem memverifikasi kata sandi pengguna dengan membandingkannya dengan informasi yang disimpan dalam database keamanan. Jika kata sandi diautentikasi, sistem menghasilkan token akses. Setiap proses yang dijalankan atas nama pengguna ini memiliki salinan token akses ini.

Sistem menggunakan token akses untuk mengidentifikasi pengguna ketika utas berinteraksi dengan objek yang dapat diamankan atau mencoba melakukan tugas sistem yang memerlukan hak istimewa. Token akses berisi informasi berikut:

Setiap proses memiliki token utama yang menjelaskan konteks keamanan akun pengguna yang terkait dengan proses. Secara default, sistem menggunakan token utama saat utas proses berinteraksi dengan objek yang dapat diamankan. Selain itu, utas dapat meniru akun klien. Peniruan memungkinkan utas berinteraksi dengan objek yang dapat diamankan menggunakan konteks keamanan klien. Utas yang meniru klien memiliki token utama dan token peniruan.

Gunakan fungsi OpenProcessToken untuk mengambil handel ke token utama proses. Gunakan fungsi OpenThreadToken untuk mengambil handel ke token peniruan utas. Untuk informasi selengkapnya, lihat Peniruan.

Anda dapat menggunakan fungsi berikut untuk memanipulasi token akses.

Fungsi Deskripsi
AdjustTokenGroups Mengubah informasi grup dalam token akses.
AdjustTokenPrivileges Mengaktifkan atau menonaktifkan hak istimewa dalam token akses. Ini tidak memberikan hak istimewa baru atau mencabut yang sudah ada.
CheckTokenMembership Menentukan apakah SID tertentu diaktifkan dalam token akses tertentu.
CreateRestrictedToken Membuat token baru yang merupakan versi terbatas dari token yang ada. Token terbatas dapat menonaktifkan SID, hak istimewa yang dihapus, dan daftar SID terbatas.
DuplikatToken Membuat token peniruan identitas baru yang menduplikasi token yang ada.
DuplicateTokenEx Membuat token utama baru atau token peniruan identitas yang menduplikasi token yang ada.
GetTokenInformation Mengambil informasi tentang token.
IsTokenRestricted Menentukan apakah token memiliki daftar pembatasan SID.
OpenProcessToken Mengambil handel ke token akses utama untuk proses.
OpenThreadToken Mengambil handel ke token akses peniruan untuk utas.
SetThreadToken Menetapkan atau menghapus token peniruan untuk utas.
SetTokenInformation Mengubah pemilik token, grup utama, atau DACL default.

 

Fungsi token akses menggunakan struktur berikut untuk menjelaskan bagian token akses.

Struktur Deskripsi
TOKEN_CONTROL Informasi yang mengidentifikasi token akses.
TOKEN_DEFAULT_DACL DACL default yang digunakan sistem dalam deskriptor keamanan objek baru yang dibuat oleh utas.
TOKEN_GROUPS Menentukan SID dan atribut SID grup dalam token akses.
TOKEN_OWNER SID pemilik default untuk deskriptor keamanan objek baru.
TOKEN_PRIMARY_GROUP SID grup utama default untuk deskriptor keamanan objek baru.
TOKEN_PRIVILEGES Hak istimewa yang terkait dengan token akses. Juga menentukan apakah hak istimewa diaktifkan.
TOKEN_SOURCE Sumber token akses.
TOKEN_STATISTICS Statistik yang terkait dengan token akses.
TOKEN_USER SID pengguna yang terkait dengan token akses.

 

Fungsi token akses menggunakan jenis enumerasi berikut.

Jenis enumerasi Menentukan
TOKEN_INFORMATION_CLASS Mengidentifikasi jenis informasi yang diatur atau diambil dari token akses.
TOKEN_TYPE Mengidentifikasi token akses sebagai token utama atau peniruan identitas.