Konsep Keamanan COM+

COM+ menyediakan beberapa fitur keamanan yang dapat Anda gunakan untuk membantu melindungi aplikasi COM+ Anda, mulai dari layanan yang Anda konfigurasikan secara administratif ke API yang dapat Anda panggil dalam kode.

Jika memungkinkan, untuk aplikasi COM+, lebih baik menggunakan keamanan otomatis, seperti keamanan dan autentikasi berbasis peran deklaratif, daripada mengonfigurasi keamanan dalam komponen. Menggunakan keamanan otomatis memudahkan untuk menulis dan memelihara komponen, lebih mudah merancang keamanan di seluruh aplikasi, dan, karena dikonfigurasi secara administratif, lebih mudah untuk memodifikasi kebijakan keamanan aplikasi. Layanan keamanan otomatis ini memungkinkan Anda untuk meninggalkan semua fungsionalitas terkait keamanan dari komponen Anda. Ketika Anda dapat mengaktifkan layanan dan mengonfigurasinya dengan tepat, COM+ akan menangani detail penerapan kebijakan keamanan yang Anda tentukan.

Namun, ketika layanan keamanan otomatis di COM+ tidak melakukan dengan tepat apa yang Anda butuhkan untuk mereka lakukan, Anda dapat memperluasnya, membangun di platform keamanan otomatis yang disediakan oleh COM+. Dalam kasus di mana Anda memilih untuk tidak menggunakan keamanan otomatis atau di mana Anda ingin menggunakannya tetapi perlu membangunnya agar sesuai dengan persyaratan keamanan aplikasi Anda, Anda memiliki opsi berikut untuk mengonfigurasi keamanan secara terprogram:

  • Keamanan berbasis peran terprogram—misalnya, pemeriksaan peran, yang tersedia saat keamanan berbasis peran diaktifkan untuk aplikasi Anda.
  • Peniruan—saat Anda ingin menggunakan identitas klien untuk mengakses sumber daya yang dilindungi.
  • Mengaudit fitur berdasarkan informasi konteks panggilan keamanan—tersedia juga saat keamanan berbasis peran diaktifkan.

Mekanisme mana yang Anda gunakan untuk membantu melindungi aplikasi tertentu akan bergantung pada persyaratan tertentu dari aplikasi tersebut. Beberapa pilihan keamanan dapat memengaruhi bagaimana Anda menulis komponen, dan beberapa dapat secara signifikan memengaruhi desain aplikasi. Sebelum Anda membuat keputusan tentang cara menerapkan strategi keamanan untuk aplikasi, Anda harus mempertimbangkan persyaratan keamanannya dalam konteks desain keseluruhannya—persyaratan performa, akses data, desain fisik—dan memilih kombinasi fitur keamanan yang paling cocok. Untuk informasi selengkapnya tentang menerapkan keamanan terprogram, lihat Keamanan Komponen Terprogram.

Deskripsi singkat tentang kategori, fitur, dan masalah keamanan COM+ disediakan di sini, dengan tautan ke topik di bagian ini yang memberikan diskusi terperinci tentang masing-masing area penting.

Nota

Meskipun tidak dibahas di bagian ini, komponen yang diantrekan juga memiliki masalah khusus yang berkaitan dengan fitur keamanan apa yang tersedia untuk mereka. Untuk detailnya, lihat Keamanan Komponen Antrean dan Mengembangkan Komponen Antrean.

 

Keamanan Role-Based

Keamanan berbasis peran adalah fitur terpusat dari keamanan aplikasi COM+. Dengan menggunakan peran, Anda dapat secara administratif membuat kebijakan otorisasi untuk aplikasi, memilih (turun ke tingkat metode, jika perlu) pengguna mana yang dapat mengakses sumber daya mana. Selain itu, peran menyediakan kerangka kerja untuk memberlakukan pemeriksaan keamanan dalam kode jika aplikasi Anda memerlukan kontrol akses yang lebih halus.

Keamanan berbasis peran dibangun di atas mekanisme umum yang memungkinkan Anda mengambil informasi keamanan mengenai semua penelepon upstream dalam rantai panggilan ke komponen Anda. Fasilitas ini berguna terutama jika Anda ingin melakukan audit dan pengelogan terperinci. Untuk deskripsi fitur audit yang disediakan oleh COM+, lihat Mengakses Informasi Konteks Panggilan Keamanan.

Untuk deskripsi masalah keamanan dan administrasi berbasis peran yang harus Anda pertimbangkan saat menggunakannya, lihat Role-Based Administrasi Keamanan.

Autentikasi Klien

Sebelum Anda dapat mengotorisasi klien untuk dapat mengakses sumber daya, Anda harus yakin bahwa mereka adalah siapa yang mereka katakan. Untuk mengaktifkan verifikasi identitas ini, COM+ menyediakan layanan autentikasi. Meskipun layanan ini sebenarnya disediakan pada tingkat yang lebih mendasar oleh COM dan Microsoft Windows, aplikasi COM+ memungkinkan Anda hanya mengaktifkan layanan autentikasi secara administratif sehingga berfungsi di bawah sampul, transparan untuk aplikasi. Untuk deskripsi layanan autentikasi, lihat Autentikasi Klien .

Peniruan Identitas dan Delegasi Klien

Dalam beberapa kasus, aplikasi Anda perlu melakukan pekerjaan atas nama klien menggunakan identitas klien—misalnya, saat mengakses database yang akan mengautentikasi klien asli. Ini mengharuskan aplikasi Anda untuk meniru klien. COM+ menyediakan fasilitas untuk memungkinkan berbagai tingkat peniruan. Peniruan identitas dikonfigurasi secara administratif, tetapi Anda juga harus memberikan dukungan terhadap peniruan dalam kode komponen aplikasi Anda. Untuk mendapatkan deskripsi tentang peniruan identitas dan masalah mengenai penggunaannya, lihat Peniruan Identitas Klien dan Delegasi.

Menggunakan Kebijakan Pembatasan Perangkat Lunak di COM+

Kebijakan pembatasan perangkat lunak menyediakan cara untuk menjalankan yang tidak tepercaya, dan karenanya berpotensi berbahaya, kode di lingkungan yang dibatasi sehingga tidak dapat menyalahgunakan hak istimewa pengguna. Ini dilakukan dengan menetapkan tingkat kepercayaan ke file yang dapat dijalankan pengguna. Misalnya, file sistem tertentu dapat sepenuhnya dipercaya dan diberikan akses tidak terbatas ke hak istimewa pengguna, sementara file yang diunduh dari Internet mungkin benar-benar tidak tepercaya dan oleh karena itu diizinkan untuk berjalan hanya di lingkungan terbatas di mana tidak diizinkan untuk menggunakan hak istimewa pengguna yang sensitif terhadap keamanan.

Kebijakan pembatasan perangkat lunak di seluruh sistem dikontrol melalui alat administratif Kebijakan Keamanan Lokal, yang memungkinkan administrator mengonfigurasi tingkat kepercayaan untuk file individual. Namun, semua aplikasi server COM+ berjalan dalam file dllhost.exe. Oleh karena itu COM+ menyediakan cara untuk menentukan kebijakan pembatasan perangkat lunak untuk setiap aplikasi server sehingga mereka tidak perlu bergantung pada kebijakan pembatasan file dllhost.exe. Untuk diskusi tentang cara menggunakan kebijakan pembatasan perangkat lunak di COM+, lihat Menggunakan Kebijakan Pembatasan Perangkat Lunak di COM+.

Keamanan Aplikasi Pustaka

Aplikasi pustaka memiliki pertimbangan keamanan khusus. Karena aplikasi ini berjalan dalam proses klien, aplikasi ini dipengaruhi oleh keamanan yang diberlakukan oleh proses hosting sambil tidak dapat mengontrol keamanan tingkat proses. Untuk deskripsi faktor yang perlu dipertimbangkan untuk aplikasi pustaka, lihat Library Application Security.

Keamanan Aplikasi Multi-Tingkat

Aplikasi COM+ biasanya merupakan aplikasi tingkat menengah; artinya, mereka memindahkan informasi antara klien dan sumber daya back-end seperti database. Pilihan yang sulit dapat terlibat dalam menentukan di mana keamanan harus diberlakukan dan ke tingkat apa. Keamanan pada dasarnya melibatkan kompromi performa. Beberapa yang paling parah dari ini terjadi ketika Anda harus memberlakukan pemeriksaan keamanan di tingkat data dan tingkat menengah. Untuk diskusi masalah yang perlu dipertimbangkan, lihat Keamanan Aplikasi Multi-Tingkat.

Autentikasi Klien

Peniruan dan Delegasi Klien

Tugas Keamanan COM+

Keamanan Aplikasi Pustaka

Keamanan Aplikasi Multi-Tingkat

Keamanan Komponen Terprogram

Administrasi KeamananRole-Based

Menggunakan Kebijakan Pembatasan Perangkat Lunak di COM+