Bagikan melalui


Meniru Klien Pipa Bernama

Peniruan adalah kemampuan utas untuk dijalankan dalam konteks keamanan yang berbeda dari proses yang memiliki utas. Peniruan memungkinkan utas server untuk melakukan tindakan atas nama klien, tetapi dalam batas konteks keamanan klien. Klien biasanya memiliki tingkat hak akses yang lebih rendah. Untuk informasi selengkapnya, lihat Peniruan.

Utas server pipa bernama dapat memanggil fungsi ImpersonateNamedPipeClient untuk mengasumsikan token akses pengguna yang terhubung ke ujung klien pipa. Misalnya, server pipa bernama dapat menyediakan akses ke database atau sistem file tempat server pipa memiliki akses istimewa. Ketika klien pipa mengirim permintaan ke server, server meniru klien dan mencoba mengakses database yang dilindungi. Sistem kemudian memberikan atau menolak akses server, berdasarkan tingkat keamanan klien. Setelah server selesai, server menggunakan fungsi RevertToSelf untuk memulihkan token keamanan aslinya.

Tingkat peniruan menentukan operasi yang dapat dilakukan server saat meniru klien. Secara default, server meniru di tingkat peniruan SecurityImpersonation. Namun, ketika klien memanggil fungsi CreateFile untuk membuka handel ke ujung klien pipa, klien dapat menggunakan bendera SECURITY_SQOS_PRESENT untuk mengontrol tingkat peniruan server.