Menggunakan Peran untuk Otorisasi Klien

Anda menggunakan keamanan berbasis peran untuk menetapkan kebijakan otorisasi, menentukan klien atau klien mana yang akan diperbolehkan masuk dan dengan otoritas apa. Anda memutuskan siapa yang seharusnya dapat melakukan tindakan mana dan mengakses sumber daya mana.

Peran memfasilitasi ini dengan bertindak sebagai mekanisme kontrol akses yang dipanggil setiap kali pengguna mencoba mengakses sumber daya aplikasi apa pun. Peran pada dasarnya adalah daftar pengguna—lebih tepatnya, kategori simbolis pengguna yang memiliki hak istimewa keamanan yang sama. Saat Menetapkan peran ke sumber daya aplikasi, Anda memberikan izin akses untuk sumber daya tersebut kepada siapa pun yang merupakan anggota peran tersebut.

Oleh karena itu, Anda dapat menentukan hak istimewa keamanan yang sangat khusus dengan mendeklarasikannya sebagai peran dan kemudian menetapkan peran ke sumber daya tertentu. Ketika aplikasi disebarkan, administrator sistem dapat mengisi peran dengan pengguna dan grup pengguna yang sebenarnya. Ketika aplikasi berjalan, COM+ akan memberlakukan kebijakan dengan melakukan pemeriksaan peran.

Pada dasarnya, peran membantu melindungi kode Anda—yaitu, metode yang dapat dipanggil oleh klien aplikasi COM+. Keanggotaan peran diperiksa setiap kali klien mencoba memanggil metode yang diekspos oleh komponen dalam aplikasi. Jika penelepon berada dalam peran yang ditetapkan ke metode atau sumber daya yang disebut, panggilan berhasil; jika tidak, itu gagal.

Keamanan Berbasis Peran Deklaratif

Dengan keamanan berbasis peran deklaratif, Anda secara administratif mendeklarasikan peran—menggunakan alat administratif Layanan Komponen atau fungsi Administratif—dan secara administratif menetapkannya ke sumber daya aplikasi. Di mana dan bagaimana Anda menetapkan keamanan deklaratif akan menentukan di mana batas keamanan digambar untuk aplikasi Anda. Untuk detail selengkapnya, lihat Batas Keamanan.

Anda dapat menetapkan peran tertentu ke seluruh aplikasi, ke komponen tertentu, ke antarmuka tertentu dalam komponen, atau ke metode tertentu pada antarmuka. Penetapan peran diwariskan ke dalam rantai inklusi alami—yaitu, jika Anda menetapkan peran ke komponen, secara implisit ditetapkan ke setiap antarmuka dan metode yang diekspos oleh komponen tersebut.

Dengan ketersediaan penetapan peran tingkat metode, Anda dapat secara efektif membantu melindungi komponen dan antarmuka yang belum dirancang dengan mengingat keamanan. Namun, jika metode itu sendiri tidak dapat diamankan dengan penetapan peran deklaratif, Anda mungkin perlu melakukan pemeriksaan peran terprogram. Umumnya merupakan ide yang baik untuk mengingat keamanan ketika memutuskan cara memperhitungkan fungsionalitas bisnis melalui metode; jika tidak, Anda dapat menemukan diri Anda menambahkan kode terkait keamanan pada menit terakhir.

Untuk prosedur terperinci untuk mengatur keamanan berbasis peran, lihat Mengonfigurasi Keamanan Berbasis Peran.

Keamanan Terprogram

Dalam beberapa keadaan, Anda mungkin ingin memasukkan logika keamanan ke dalam komponen saat masih menggunakan keamanan berbasis peran. Mungkin Anda tidak dapat—atau memilih untuk tidak—memperhitungkan semua keputusan akses melalui metode. Misalnya, Anda mungkin memiliki sumber daya aplikasi privat, mungkin database tertentu, yang ingin Anda izinkan hanya beberapa penelepon metode untuk mengakses sambil mengecualikan orang lain. Atau Anda mungkin memiliki satu metode TransferMoney dan ingin membatasi beberapa penelepon dengan membatasi jumlah yang dapat mereka transfer.

Dalam keadaan seperti itu, Anda dapat melakukan pemeriksaan peran dalam kode. API sederhana disediakan, memungkinkan Anda untuk memeriksa apakah keamanan diaktifkan dan apakah pemanggil atau pengguna tertentu berada dalam peran tertentu. Fungsionalitas ini hanya tersedia ketika keamanan berbasis peran diaktifkan. Ini berarti Bahwa Anda masih dapat memanfaatkan keamanan berbasis peran deklaratif di mana cukup, dan kemudian Anda dapat secara terprogram memperluasnya ke tingkat granularitas yang lebih halus bila perlu.

Selain itu, ketika Anda menggunakan keamanan berbasis peran, Anda memiliki akses terprogram ke informasi mengenai semua penelepon upstram dalam rantai panggilan ke komponen Anda. Ini sangat berguna ketika Anda ingin menyimpan jejak audit terperinci.

Untuk deskripsi tentang cara melakukan pemeriksaan peran dalam kode dan cara mengakses informasi konteks panggilan keamanan, lihat Keamanan Komponen Terprogram.

Otorisasi dan Autentikasi

Otorisasi yang bermakna presupposes bahwa Anda yakin bahwa klien benar-benar siapa yang mereka katakan. Verifikasi identitas klien ditangani secara terpisah oleh layanan autentikasi. Tanpa autentikasi, Anda pada dasarnya membiarkan penelepon masuk pada sistem kehormatan. Untuk deskripsi autentikasi karena berdampak pada aplikasi COM+, lihat Autentikasi Klien.

Merancang Peran Secara Efektif

Batas Keamanan

Informasi Konteks Panggilan Keamanan

Properti Konteks Keamanan