Bagikan melalui


Mengatur Keamanan di Tingkat Proksi Antarmuka

Terkadang klien membutuhkan kontrol terperintah atas keamanan pada panggilan ke antarmuka tertentu. Misalnya, keamanan mungkin diatur pada tingkat rendah untuk proses tetapi panggilan ke antarmuka tertentu mungkin memerlukan tingkat autentikasi yang lebih tinggi, seperti enkripsi. Metode antarmuka IClientSecurity memungkinkan klien mengubah pengaturan keamanan yang terkait dengan panggilan ke antarmuka tertentu dengan mengontrol pengaturan keamanan di tingkat proksi antarmuka.

Klien dapat mengkueri objek yang ada untuk IClientSecurity lalu memanggil metode IClientSecurity::QueryBlanket untuk mengetahui pengaturan keamanan saat ini untuk proksi antarmuka tertentu. Metode IClientSecurity::SetBlanket dapat digunakan untuk mengubah pengaturan keamanan untuk proksi antarmuka individual pada objek sebelum memanggil salah satu metode antarmuka. Pengaturan baru berlaku untuk penelepon mendatang dari antarmuka khusus ini. Metode IClientSecurity::CopyProxy menyediakan cara bagi klien untuk menyalin proksi antarmuka sehingga panggilan berikutnya ke SetBlanket pada salinan tidak memengaruhi pemanggil proksi asli.

SetBlanket umumnya digunakan untuk meningkatkan tingkat autentikasi untuk proksi antarmuka tertentu ke tingkat perlindungan keamanan yang lebih tinggi. Namun, dalam beberapa situasi, mungkin juga berguna untuk menurunkan tingkat autentikasi untuk proksi antarmuka tertentu. Misalnya, tingkat autentikasi default untuk proses adalah beberapa nilai selain RPC_C_AUTHN_LEVEL_NONE dan klien dan server berada di domain terpisah yang tidak saling mempercayai. Dalam hal ini, panggilan ke server akan gagal kecuali klien memanggil SetBlanket untuk menurunkan tingkat autentikasi ke RPC_C_AUTHN_LEVEL_NONE.

Klien yang menggunakan implementasi default IClientSecurity yang disediakan oleh manajer proksi dapat memanggil fungsi pembantu CoQueryProxyBlanket, CoSetProxyBlanket, dan CoCopyProxy alih-alih memanggil metode IClientSecurity secara langsung. Fungsi pembantu menyederhanakan kode tetapi sedikit kurang efisien daripada memanggil metode IClientSecurity yang sesuai secara langsung.

Antarmuka IClientSecurity diimplementasikan secara lokal untuk klien oleh manajer proksi. Beberapa objek marshal kustom mungkin tidak mendukung IClientSecurity.

IClientSecurity berfungsi dengan semua layanan autentikasi yang didukung (saat ini NTLMSSP, Schannel, dan protokol Kerberos v5).

Mengatur Keamanan untuk Aplikasi COM