Batasi akses ke situs IIS ke Grup AD


22

Apakah mungkin di IIS untuk membuat situs di IIS dan hanya membiarkan pengguna Grup AD tertentu mendapatkan akses ke sana?

Jawaban:


18

Yang berikut ini akan berfungsi, tergantung pada versi IIS Anda. Anda harus menambahkan web.config jika Anda tidak memilikinya (walaupun Anda harus menggunakan IIS7) di root direktori situs Anda. Di bawah ini akan memungkinkan Admin Domain dan menolak Pengguna Domain (cukup jelas). Pastikan Anda berbaris bagian konfigurasi jika Anda sudah memiliki bagian, dll.

<configuration>
  <location path="MyPage.aspx/php/html">
      <system.web>
         <authorization>
            <allow users="DOMAIN\Domain Admins"/>
            <deny users="DOMAIN\Domain Users"/>
         </authorization>
      </system.web>
   </location>
</configuration>

Anda akan memerlukan Otentikasi Windows diaktifkan di bawah Otentikasi di preferensi situs Anda agar ini berfungsi, jelas, tetapi saya menganggap Anda sudah mengaktifkan ini.


Versi IIS apa yang berfungsi?
svandragt

14

Jawaban joshatkins tidak berfungsi di IIS7. Untuk IIS7, Anda perlu menggunakan atribut peran. Juga, jika Anda ingin membatasi seluruh situs, Anda tidak perlu elemen lokasi.

<authorization>
  <allow roles="DOMAIN\Domain Users"/>
  <deny users="*" />
</authorization>

9
Harap jangan menggunakan referensi seperti "di atas" atau "di bawah" karena Anda tidak memiliki cara untuk mengetahui dalam urutan apa seseorang melihat jawabannya. Masalahnya semakin buruk seiring waktu karena lebih banyak jawaban diposting. Sebagai gantinya, Anda harus merujuk pada nama poster jawaban yang dirujuk.
John Gardeniers

11

Hanya menambahkan beberapa poin lagi ke jawaban lain yang membantu saya mencari cara agar ini berfungsi setelah saya memiliki Otentikasi AD dasar yang berfungsi baik dengan IIS.

  1. Tambahkan Peran atau Fitur melalui Windows Server Manager : Server Web (IIS) -> Server Web -> Keamanan -> Otorisasi URL.
  2. Tutup lalu buka kembali Manajer IIS (jika Anda membukanya), sekarang Anda akan melihat (di bawah Bagian IIS untuk situs Anda) Peraturan Otorisasi . Buka ini.
  3. Klik pada panel sebelah kanan: Add Allow Rule
  4. Di bawah Peran yang ditentukan atau grup pengguna ketikkan nama grup AD yang Anda butuhkan. misalnya. myDomain \ myGroup dan pilih OK .
  5. Ulangi 4 untuk grup yang Anda butuhkan.

jika Anda hanya ingin mengedit file konfigurasi secara langsung, maka akan terlihat seperti ini:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        ...
        <security>
            <authorization>
                <remove users="*" roles="" verbs="" />
                <add accessType="Allow" roles="myDomain\myGroup01" />
                <add accessType="Allow" roles="myDomain\myGroup02" />
            </authorization>
        </security>
    </system.webServer>
</configuration>

Anda juga perlu mengaktifkan Otentikasi Windows (NTLM / Curb). Jika tidak, jika identitas sesi browser tidak dapat ditentukan, bagaimana cara kerja otorisasi berbasis peran? Setelah mengikuti arahan Anda dan mengaktifkan otentikasi Windows, ini berhasil!
KFL

3

Jika menggunakan aturan otorisasi web.config tidak berfungsi (misalnya karena skrip CGI berjalan), Anda dapat menggunakan sistem izin folder untuk menonaktifkan warisan, menghapus pengguna IIS (sehingga tidak ada yang memiliki akses baca) dan cukup tambahkan grup keamanan di dengan akses baca. Anda juga harus mengaktifkan beberapa bentuk metode otentikasi (mis. Basic atau Windows Integrated) sehingga pengunjung dikenali.


Saya suka metode ini, mungkin tidak sesuai dengan kebutuhan semua orang, tetapi tidak perlu dipusingkan dengan web.config
orang


0

Saya tahu ini adalah pertanyaan yang sangat lama tetapi ini adalah sesuatu yang saya butuhkan di lingkungan pengujian saya.

Pendekatan ini bekerja untuk saya dan saya mendapatkan popup untuk login dan saya bisa masuk tanpa masalah.

Saya bertanya-tanya bagaimana cara mengonfigurasinya untuk menggunakan SSO? Jika pengguna yang masuk adalah anggota grup keamanan maka mintalah kredensial.

IIS saya ada di Windows Server 2016 1607 dan situs webnya adalah HTML statis.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.