Exchange 2010 memiliki model delegasi di mana grup cmdlet winrm secara esensial dikelompokkan ke dalam peran, dan peran yang ditugaskan untuk pengguna.
( Sumber gambar )
Ini adalah model yang hebat & fleksibel mengingat bagaimana saya dapat memanfaatkan semua manfaat PowerShell, sambil menggunakan teknologi tingkat rendah yang tepat (WCF, SOAP dll), dan tidak memerlukan perangkat lunak tambahan di sisi klien.
( Sumber gambar )
Pertanyaan
Apakah ada cara bagi saya untuk meningkatkan model delegasi Exchange dalam aplikasi .NET saya?
Adakah yang mencoba meniru model ini?
Jika saya harus mulai dari awal, bagaimana saya akan meniru pendekatan ini?
Jawaban:
Dua RBAC terbesar untuk .NET adalah NetSqlAzMan http://netsqlazman.codeplex.com/ dan RhinoSecurity https://github.com/ayende/rhino-security
Jika Anda akhirnya harus memulai rute mulai dari awal, Anda bisa menggunakan salah satu dari yang di atas sebagai basis awal.
sumber
Exchange menyediakan runspace terbatas, dan sebenarnya tidak ada cmdlet yang tersedia di runspace itu. Apa yang tampak sebagai cmdlet sebenarnya adalah fungsi proxy. Kemampuan Anda di runspace dikendalikan dengan membatasi fungsi proksi apa yang disediakan, dan kapabilit apa dari setiap cmdlet yang diekspos oleh fungsi proksi.
Duplikasi yang akan melibatkan pengembangan rutinitas yang mengisi runspace dengan fungsi proksi yang disesuaikan dengan pengguna yang meminta runspace, berdasarkan pada grup peran tempat mereka berada. Saya tidak melihat alasan mengapa grup AD tidak dapat menjadi grup peran Anda.
Detail implementasi adalah spesifik aplikasi, tetapi pada dasarnya itu berarti Anda membatasi siapa yang dapat menggunakan parameter cmdlet mana dengan memilih parameter mana fungsi proxy yang disediakan untuk pengguna itu akan memiliki dan / atau membatasi nilai-nilai apa fungsi akan menerima untuk parameter tertentu.
sumber