Bagikan melalui


Mekanisme Microsoft Azure Access Control Service

Anda dapat mengontrol akses dalam beberapa cara dengan Windows Communication Foundation (WCF). Topik ini secara singkat membahas berbagai mekanisme dan memberikan saran tentang kapan harus menggunakan masing-masing mekanisme; ini dimaksudkan untuk membantu Anda memilih mekanisme yang benar untuk digunakan. Teknologi akses tercantum dalam urutan kompleksitas. Yang paling sederhana adalah PrincipalPermissionAttribute; yang paling kompleks adalah Model Identitas.

Selain mekanisme ini, peniruan dan delegasi dengan WCF yang dijelaskan dalam Delegasi dan Peniruan Identitas.

PrincipalPermissionAttribute

PrincipalPermissionAttribute digunakan untuk membatasi akses ke metode layanan. Ketika atribut diterapkan ke suatu metode, atribut dapat digunakan untuk meminta identitas atau keanggotaan pemanggil tertentu dalam grup Windows atau peran ASP.NET. Jika klien diautentikasi menggunakan sertifikat X.509, klien diberi identitas utama yang terdiri dari nama subjek ditambah thumbprint sertifikat.

Gunakan PrincipalPermissionAttribute untuk mengontrol akses ke sumber daya di komputer tempat layanan dijalankan, dan apakah pengguna layanan akan selalu menjadi bagian dari domain Windows yang sama dengan yang dijalankan layanan. Anda dapat dengan mudah membuat grup Windows yang memiliki tingkat akses tertentu (seperti tidak ada, baca-saja, atau baca dan tulis).

Untuk informasi selengkapnya tentang menggunakan atribut, lihat Cara: Membatasi Akses dengan Kelas PrincipalPermissionAttribute. Untuk informasi selengkapnya tentang identitas, lihat Identitas dan Autentikasi Layanan.

Penyedia Keanggotaan ASP.NET

Fitur ASP.NET adalah penyedia keanggotaan. Meskipun penyedia keanggotaan secara teknis bukan mekanisme kontrol akses, itu memungkinkan pengontrollan akses ke layanan dengan membatasi kumpulan kemungkinan identitas yang dapat mengakses titik akhir layanan. Fitur keanggotaan menyertakan database yang dapat diisi dengan kombinasi nama pengguna/kata sandi yang memungkinkan pengguna situs Web untuk membuat akun dengan situs tersebut. Untuk mengakses layanan yang menggunakan penyedia keanggotaan, pengguna harus masuk dengan nama pengguna dan kata sandi mereka.

Catatan

Anda harus terlebih dahulu mengisi database menggunakan fitur ASP.NET sebelum layanan WCF dapat menggunakannya untuk tujuan otorisasi.

Anda juga dapat menggunakan fitur keanggotaan jika Anda sudah memiliki database keanggotaan dari situs web ASP.NET yang ada dan Anda ingin mengaktifkan pengguna yang sama untuk menggunakan layanan Anda, diotorisasi dengan nama pengguna dan kata sandi yang sama.

Untuk informasi selengkapnya tentang menggunakan fitur keanggotaan dalam layanan WCF, lihat Cara: Menggunakan Penyedia Keanggotaan ASP.NET.

Penyedia Peran ASP.NET

Fitur lain dari ASP.NET adalah kemampuan untuk mengelola otorisasi menggunakan peran. Penyedia peran ASP.NET memungkinkan pengembang untuk membuat peran bagi pengguna dan menetapkan setiap pengguna ke peran atau peran. Seperti halnya penyedia keanggotaan, peran dan tugas disimpan dalam database, dan dapat diisi menggunakan alat yang disediakan oleh implementasi tertentu dari penyedia peran ASP.NET. Seperti halnya fitur keanggotaan, pengembang WCF dapat menggunakan informasi dalam database untuk mengotorisasi pengguna layanan berdasarkan peran. Mereka dapat, misalnya, menggunakan penyedia peran dalam kombinasi dengan PrincipalPermissionAttribute mekanisme kontrol akses yang dijelaskan di atas.

Anda juga dapat menggunakan penyedia peran ASP.NET jika Anda memiliki database penyedia peran ASP.NET yang ada dan ingin menggunakan sekumpulan aturan dan penetapan pengguna yang sama di layanan WCF Anda.

Untuk informasi tentang menggunakan fitur penyedia peran ASP.NET, lihat Cara: Menggunakan Penyedia Peran ASP.NET dengan Layanan.

Manajer Otorisasi

Fitur lain menggabungkan Authorization Manager (AzMan) dengan penyedia peran ASP.NET untuk mengotorisasi klien. Ketika ASP.NET menghosting layanan Web, AzMan dapat diintegrasikan ke dalam aplikasi sehingga otorisasi ke layanan dilakukan melalui AzMan. Manajer peran ASP.NET menyediakan API yang memungkinkan Anda untuk mengelola peran aplikasi, menambah dan menghapus pengguna dari peran, dan memeriksa keanggotaan peran, tetapi tidak memungkinkan Anda untuk menanyakan apakah pengguna berwenang untuk melakukan tugas atau operasi bernama. AzMan memungkinkan Anda menentukan operasi individual dan menggabungkannya menjadi tugas. Dengan AZMan, selain pemeriksaan peran, Anda juga dapat memeriksa apakah pengguna dapat melakukan tugas. Penetapan peran dan otorisasi tugas dapat dikonfigurasi di luar aplikasi atau dilakukan secara terprogram dalam aplikasi. Snap-in Microsoft Management Console (MMC) administrasi AzMan memungkinkan administrator untuk mengubah tugas yang dapat dilakukan peran pada waktu proses dan untuk mengelola keanggotaan peran setiap pengguna.

Anda juga dapat menggunakan AzMan dan penyedia peran ASP.NET jika Anda sudah memiliki akses ke penginstalan AzMan yang ada dan ingin mengotorisasi pengguna layanan Anda menggunakan fitur kombinasi AzMan/penyedia peran.

Untuk informasi selengkapnya tentang AzMan dan penyedia peran ASP.NET, lihat Cara: Menggunakan Authorization Manager (AzMan) dengan ASP.NET 2.0. Untuk informasi selengkapnya tentang menggunakan AzMan dan penyedia peran untuk layanan WCF, lihat Cara: Menggunakan ASP.NET Authorization Manager Role Provider dengan Layanan.

Model identitas

Model Identitas adalah sekumpulan API yang memungkinkan Anda mengelola klaim dan kebijakan untuk mengotorisasi klien. Dengan Model Identitas, Anda dapat memeriksa setiap klaim yang terkandung dalam mandat yang digunakan pemanggil untuk mengautentikasi dirinya ke layanan, membandingkan klaim dengan serangkaian kebijakan untuk layanan, dan memberikan atau menolak akses berdasarkan perbandingan.

Gunakan Model Identitas jika Anda memerlukan kontrol yang baik dan kemampuan untuk mengatur kriteria tertentu sebelum memberikan akses. Misalnya, saat menggunakan PrincipalPermissionAttribute, kriterianya hanyalah identitas pengguna diautentikasi dan termasuk dalam peran tertentu. Sebaliknya, menggunakan Model Identitas, Anda dapat membuat kebijakan yang menyatakan pengguna harus berusia di atas 18 tahun dan memiliki SIM yang valid sebelum diizinkan untuk melihat dokumen.

Salah satu contoh di mana Anda dapat memperoleh manfaat dari kontrol akses berbasis klaim Model Identitas adalah saat menggunakan mandat federasi dalam skenario token yang dikeluarkan. Untuk informasi selengkapnya tentang federasi dan token yang diterbitkan, lihat Federasi dan Token yang Diterbitkan.

Untuk informasi selengkapnya tentang Model Identitas, lihat Mengelola Klaim dan Otorisasi dengan Model Identitas.

Lihat juga