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:
- Pengidentifikasi keamanan (SID) untuk akun pengguna
- SID untuk grup di mana pengguna adalah anggota
- SID masuk yang mengidentifikasi sesi masuk saat ini
- Daftar hak istimewa yang dipegang oleh pengguna atau grup pengguna
- Pemilik SID
- SID untuk grup utama
- DACL default yang digunakan sistem saat pengguna membuat objek yang dapat diamankan tanpa menentukan deskriptor keamanan
- Sumber token akses
- Apakah token adalah token utama atau peniruan
- Daftar opsional membatasi SID
- Tingkat peniruan saat ini
- Statistik lainnya
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. |