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

22

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?

John
la source

Réponses:

18

Les éléments suivants devraient fonctionner, selon votre version d'IIS. Vous devrez ajouter un web.config si vous n'en avez pas (bien que vous devriez le faire sur IIS7) dans la racine du répertoire de votre site. Ce qui suit 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é.

Josh Atkins
la source
Sur quelles versions d'IIS cela fonctionne-t-il?
svandragt
14

La réponse de joshatkins ne fonctionne pas dans IIS7. 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>
Anders
la source
9
Veuillez ne pas utiliser de références telles que "ci-dessus" ou "ci-dessous" car vous n'avez aucun moyen de savoir dans quel ordre une personne voit les réponses. Le problème s'aggrave avec le temps à mesure que de nouvelles réponses sont publiées. Vous devriez plutôt vous référer au nom de l'affiche de la réponse référencée.
John Gardeniers
11

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

  1. Ajouter un rôle ou une fonctionnalité via le Gestionnaire de serveur Windows : Serveur Web (IIS) -> Serveur Web -> Sécurité -> Autorisation URL.
  2. Fermez puis rouvrez le gestionnaire IIS (si vous l'avez ouvert), vous verrez maintenant (sous la section IIS de votre site) les règles d'autorisation . Ouvre ça.
  3. Cliquez sur le panneau de droite: Ajouter une règle d' autorisation
  4. Sous Rôles spécifiés ou groupes d'utilisateurs, tapez 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 directement le fichier de configuration, 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>
Chris
la source
Vous devrez également activer l'authentification Windows (NTLM / Curb). Sinon, si l'identité de la session du navigateur ne peut pas être déterminée, comment pourrait fonctionner l'autorisation basée sur les rôles? Après avoir suivi vos instructions et activé l'authentification Windows, cela fonctionne!
KFL
3

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, supprimer les utilisateurs IIS (afin que personne ne dispose d'un accès en lecture) et simplement ajouter le groupe de sécurité dans avec 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.

svandragt
la source
J'aime cette méthode, peut ne pas convenir aux besoins de tout le monde mais il n'est pas nécessaire de jouer avec web.config
personne
1

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

Hüseyin Yağlı
la source
0

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 un popup 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.

9944990
la source