web-dev-qa-db-fra.com

Restreindre l'accès à IIS site à un groupe AD

Est-il possible dans IIS de configurer un site dans IIS et de ne laisser que les utilisateurs d'un certain groupe AD y accéder?

24
John

Ce qui suit devrait fonctionner, selon votre IIS version. Vous devrez ajouter un web.config si vous n'en avez pas (bien que vous devriez sur IIS7) dans la racine du répertoire de votre Le site ci-dessous permettra aux administrateurs de domaine et refusera les utilisateurs de domaine (assez explicite) .Assurez-vous d'aligner les sections de configuration si vous en avez déjà une, etc.

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

Vous aurez besoin de l'authentification Windows activée sous Authentification dans les préférences de votre site pour que cela fonctionne, évidemment, mais je suppose que vous l'avez déjà activé.

18
Josh Atkins

réponse de josh atkins ne fonctionne pas dans IIS 7. Pour IIS7, vous devez utiliser l'attribut role. De plus, si vous souhaitez restreindre l'ensemble du site, vous n'avez pas besoin de l'élément location.

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

J'ajoute simplement quelques points aux autres réponses qui m'ont aidé à comprendre comment cela fonctionne après que l'authentification AD de base fonctionne correctement avec IIS.

  1. Ajouter un rôle ou une fonctionnalité via Windows Server Manager: Web Server (IIS) -> Web Server -> Security -> URL Authorization.
  2. Fermez puis rouvrez le Gestionnaire IIS (si vous l'avez ouvert), vous verrez maintenant (sous la section IIS pour votre site) Règles d'autorisation. Ouvrez ceci.
  3. Cliquez sur le panneau de droite: Ajouter une règle d'autorisation
  4. Sous rôles ou groupes d'utilisateurs spécifiés, saisissez le nom du groupe AD dont vous avez besoin. par exemple. myDomain\myGroup et sélectionnez OK .
  5. Répétez 4 pour les groupes dont vous avez besoin.

si vous voulez juste éditer le fichier de configuration directement, il ressemblerait à ceci:

<?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>
11
Chris

Si l'utilisation des règles d'autorisation web.config ne fonctionne pas (par exemple parce qu'un script CGI s'exécute), vous pouvez utiliser le système d'autorisations de dossier pour désactiver l'héritage, supprimez IIS utilisateurs (afin que personne n'ait lu accès) et ajoutez simplement le groupe de sécurité avec un accès en lecture. Vous devez également activer une certaine forme de méthode d'authentification (par exemple, Basic ou Windows Integrated) afin que le visiteur soit reconnu.

3
svandragt

Donner l'autorisation de lecture sur le dossier uniquement à ce groupe de domaine fonctionne également.

1
Hüseyin Yağlı

Je sais que c'est une très vieille question mais c'est quelque chose dont j'ai besoin dans mon environnement de test.

Cette approche fonctionne pour moi et j'obtiens une fenêtre contextuelle pour me connecter et je peux me connecter sans aucun problème.

Je me demandais comment puis-je le configurer pour utiliser SSO? Si l'utilisateur connecté est membre d'un groupe de sécurité, demandez des informations d'identification.

Mon IIS est sur Windows Server 2016 1607 et le site Web est en HTML statique.

0
9944990