Token Akses
Token akses adalah objek yang menjelaskan konteks keamanan proses 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 saat utas berinteraksi dengan objek aman atau mencoba melakukan tugas sistem yang memerlukan hak istimewa. Token akses berisi informasi berikut:
- pengidentifikasi keamanan (SID) untuk akun pengguna
- SID untuk grup di mana pengguna adalah anggota
- SID masukyang mengidentifikasi sesi masuk saat ini
- Daftar hak istimewa yang dipegang oleh pengguna atau grup pengguna
- SID pemilik
- SID untuk grup utama
- DACL default yang digunakan sistem saat pengguna membuat objek yang dapat diamankan tanpa menentukan pendeskripsi keamanan
- Sumber token akses
- Apakah token adalahutamaatau token peniruan
- Daftar opsional membatasi SID
- Tingkat peniruan saat ini
- Statistik lainnya
Setiap proses memilikitoken utamayang menjelaskan konteks keamanan akun pengguna yang terkait dengan proses tersebut. 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 fungsiOpenProcessToken untuk mengambil handel ke token utama proses. Gunakan fungsiOpenThreadToken untuk mengambil handel ke token peniruan utas. Untuk informasi selengkapnya, lihat peniruan identitas.
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 baru yang menduplikasi token yang ada. |
DuplikatTokenEx | Membuat token utama baru atau token peniruan 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 identitas 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. |