Beschränken Sie den Zugriff auf die IIS-Site auf eine AD-Gruppe

22

Ist es in IIS möglich, eine Site in IIS einzurichten und nur Benutzern einer bestimmten AD-Gruppe Zugriff darauf zu gewähren?

John
quelle

Antworten:

18

Folgendes sollte abhängig von Ihrer IIS-Version funktionieren. Sie müssen eine web.config hinzufügen, wenn Sie keine im Stammverzeichnis Ihrer Site haben (obwohl Sie dies unter IIS7 tun sollten). Das Folgende erlaubt Domain-Admins und verweigert Domain-Benutzern (ziemlich selbsterklärend). Stellen Sie sicher, dass Sie die Konfigurationsabschnitte aneinanderreihen, wenn Sie bereits einen Abschnitt usw. haben.

<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>

Sie müssen die Windows-Authentifizierung in den Site-Einstellungen unter Authentifizierung aktivieren, damit dies funktioniert. Ich gehe jedoch davon aus, dass Sie diese Option bereits aktiviert haben.

Josh Atkins
quelle
Auf welchen IIS-Versionen funktioniert dies?
Svandragt
14

Joschatkins Antwort funktioniert nicht in IIS7. Für IIS7 müssen Sie das Rollenattribut verwenden. Wenn Sie die gesamte Site einschränken möchten, benötigen Sie das location-Element nicht.

<authorization>
  <allow roles="DOMAIN\Domain Users"/>
  <deny users="*" />
</authorization>
Anders
quelle
9
Verwenden Sie keine Verweise wie "oben" oder "unten", da Sie nicht wissen können, in welcher Reihenfolge eine Person die Antworten sieht. Das Problem wird mit der Zeit immer schlimmer, je mehr Antworten gepostet werden. Sie sollten sich stattdessen auf den Namen des Posters der Antwort beziehen, auf die verwiesen wird.
John Gardeniers
11

Fügen Sie einfach noch ein paar Punkte zu den anderen Antworten hinzu, die mir geholfen haben, herauszufinden, wie dies funktioniert, nachdem die grundlegende AD-Authentifizierung mit IIS einwandfrei funktioniert hat.

  1. Hinzufügen von Rollen oder Features über den Windows Server-Manager : Webserver (IIS) -> Webserver -> Sicherheit -> URL-Autorisierung.
  2. Schließen Sie den IIS-Manager, und öffnen Sie ihn erneut (sofern er geöffnet ist). Daraufhin werden (im Abschnitt IIS für Ihre Site) Autorisierungsregeln angezeigt . Mach das auf.
  3. Klicken Sie auf der rechten Seite auf: Add Allow Rule
  4. Geben Sie unter Angegebene Rollen oder Benutzergruppen den Namen der gewünschten AD-Gruppe ein. z.B. myDomain \ myGroup und wählen Sie OK .
  5. Wiederholen Sie 4 für die Gruppen, die Sie benötigen.

Wenn Sie die Konfigurationsdatei nur direkt bearbeiten möchten, sieht sie ungefähr so ​​aus:

<?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>
Chris
quelle
Sie müssen auch die Windows-Authentifizierung (NTLM / Curb) aktivieren. Andernfalls, wenn die Browsersitzungsidentität nicht bestimmt werden kann, wie könnte die rollenbasierte Autorisierung funktionieren? Nachdem Sie Ihre Anweisungen befolgt und die Windows-Authentifizierung aktiviert haben, funktioniert dies!
KFL
3

Wenn die Berechtigungsregeln von web.config nicht funktionieren (z. B. weil ein CGI-Skript ausgeführt wird), können Sie die Vererbung mithilfe des Ordnerberechtigungssystems deaktivieren, IIS-Benutzer entfernen (sodass niemand Lesezugriff hat) und einfach die Sicherheitsgruppe hinzufügen mit Lesezugriff. Sie müssen auch eine Art Authentifizierungsmethode aktivieren (z. B. Basic oder Windows Integrated), damit der Besucher erkannt wird.

svandragt
quelle
Ich mag diese Methode, kann nicht allen Bedürfnissen entsprechen, aber es gibt keine Notwendigkeit, mit web.config
Person
1

Das Erteilen von Leseberechtigungen für den Ordner nur für diese Domänengruppe funktioniert ebenfalls.

Hüseyin Yağlı
quelle
0

Ich weiß, es ist eine sehr alte Frage, aber das ist etwas, was ich in meiner Testumgebung brauche.

Dieser Ansatz funktioniert bei mir und ich erhalte ein Popup zum Anmelden und kann mich ohne Probleme anmelden.

Ich habe mich gefragt, wie ich es für die Verwendung von SSO konfigurieren kann. Wenn der angemeldete Benutzer Mitglied der Sicherheitsgruppe ist, fragen Sie nach Anmeldeinformationen.

Mein IIS ist auf Windows Server 2016 1607 und die Website ist statisches HTML.

9944990
quelle