Bagikan melalui


Peniruan Identitas Klien

Peniruan identitas berguna di lingkungan komputasi terdistribusi ketika server harus meneruskan permintaan klien ke proses server lain atau ke sistem operasi. Dalam hal ini, server meniru konteks keamanan klien. Proses server lain kemudian dapat menangani permintaan seolah-olah klien asli membuatnya.

server meniru klien panggilan saat melakukan panggilan berikutnya atas nama klien

Misalnya, klien membuat permintaan ke Server A. Jika Server A harus meminta Server B untuk menyelesaikan permintaan, Server A meniru konteks keamanan klien dan membuat permintaan ke Server B atas nama klien. Server B menggunakan konteks keamanan klien asli, alih-alih identitas keamanan untuk Server A, untuk menentukan apakah akan menyelesaikan tugas.

Server memanggil RpcImpersonateClient untuk menimpa keamanan untuk utas server dengan konteks keamanan klien. Setelah tugas selesai, server memanggil RpcRevertToSelf atau RpcRevertToSelfEx untuk memulihkan konteks keamanan yang ditentukan untuk utas server.

Saat mengikat, klien dapat menentukan informasi kualitas layanan tentang keamanan yang menentukan bagaimana server dapat meniru klien. Misalnya, salah satu pengaturan memungkinkan klien menentukan bahwa server tidak diizinkan untuk menirunya. Untuk informasi selengkapnya, lihat Kualitas Layanan.

Kemampuan untuk memanggil server lain saat meniru klien asli disebut delegasi . Saat delegasi digunakan, server yang meniru klien dapat memanggil server lain, dan dapat melakukan panggilan jaringan dengan kredensial klien. Artinya, dari perspektif server kedua, permintaan yang berasal dari server pertama tidak dapat dibedakan dari permintaan yang berasal dari klien. Tidak semua penyedia keamanan mendukung delegasi. Microsoft hanya mengirimkan satu penyedia keamanan yang mendukung delegasi: Kerberos.

Delegasi bisa menjadi kemampuan berbahaya karena hak istimewa yang diberikan klien kepada server selama panggilan prosedur jarak jauh. Inilah sebabnya mengapa Kerberos memungkinkan panggilan dengan tingkat peniruan delegasi hanya jika autentikasi bersama diminta. Administrator domain dapat membatasi komputer tempat panggilan dengan tingkat peniruan delegasi dilakukan untuk mencegah klien yang tidak curiga melakukan panggilan ke server yang dapat menyalahgunakan kredensial mereka.

Satu pengecualian untuk aturan delegasi ada: panggilan menggunakan ncalrpc. Ketika panggilan ini dilakukan, server mendapatkan hak delegasi, bahkan jika tingkat peniruan identitas ditentukan. Artinya, server dapat memanggil server lain atas nama klien. Ini hanya berfungsi untuk satu panggilan jarak jauh. Misalnya, jika klien A memanggil server lokal LB menggunakan ncalrpc server lokal LB dapat meniru dan memanggil server jarak jauh RB. RB akan dapat bertindak atas nama klien A, tetapi hanya pada komputer jarak jauh tempat RB berjalan. Ini tidak dapat melakukan panggilan jaringan lain ke komputer jarak jauh C kecuali LB menentukan tingkat peniruan delegasi ketika disebut RB.

Nota

Istilah peniruan mewakili dua arti yang tumpang tindih. Arti pertama dari peniruan adalah proses umum bertindak atas nama klien. Arti kedua adalah tingkat peniruan spesifik yang disebut peniruan identitas. Konteks teks umumnya mengklarifikasi arti.