IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Question concernant la définition des droits sur une base Access


Sujet :

ASP.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Question concernant la définition des droits sur une base Access
    Bonsoir à tous.

    Je sais que le sujet à été maintes fois débattus, mais je pose la question parceque je n'ai pas trouvé de réponse précise... Alors si quelqu'un à eu le cas...

    J'ai créé un site en asp.net 2, qui fonctionne aussi bien en déboguage qu'en localhost avec mon serveur IIS (je suis administrateur sur mon pc à domicile, donc pas ce genre de soucis).

    Dans le contexte professionnel, elle est hébergée sur un serveur IIS 6 qui tourne sous windows serveur 2003. Nous utilisons uniquement une authentification windows par domaine\utilisateur (pas de connexions anonymes)

    Je ne suis pas administrateur du serveur. J'ai royalement le droit avec Frontpage 2002 d'écrire dans les dossiers déja créés.

    L'administrateur n'en sait pas très long sur IIS (j'ai du lui expliquer comment installer .net 2 et faire le regiis!)

    Pour déployer mon application, on m'a confié les identifiants nécessaires à opérer la publication à partir de visual studio. Ce dernier m'a donc créé le dossier contenant l'application que je vais appeller Z...

    Le site s'appelle X et est accessible à tous les utilisateurs authentifiés. Il contient un "Sous site" Y accessible en lecture seule à un groupe d'utilisateurs, qui lui même contient le répertoire Z de mon application.

    Moi, je le rappelle j'ai les droits en écriture sur les 3.

    1) Quand je définis identity impersonate à false je ne peux pas accéder en écriture à ma base.

    2) quand je définis identity impersonate à true, là pas de problème, je peux y accéder en écriture.

    3) aucun utilisateur n'y a accès en écriture avec ou sans l'emprunt d'identité simple (sans identifiant ni mot de passe)

    C'est donc bien un problème de définition d'autorisations...



    Si je ne me trompe pas, en principe, avec identity impersonate défini à false, si les connexions anonymes sont désactivées, le processus ne s'execute pas dans le contexte de l'utilisateur, mais dans celui de "NETWORK SERVICE" (et oui, en plus la version de windows Server 2003 est en anglais!)

    Donc en principe, il suffit d'accorder l'autorisation de lecture sur le répertoire de mon application à NETWORK SERVICE si je paramètre <identity impersonate="false"/> dans mon web.config ?


    Par contre si je paramètre <identity impersonate="true"/>, il faut que je demande à ce que le groupe d'utilisateurs aie les autorisations en écriture...sans me soucier du compte NETWORK SERVICE.

    C'est ce que j'ai compris de ceci:http://msdn.microsoft.com/fr-fr/library/aa480475.aspx

    Mais il va falloir que je l'explique, au téléphone à la personne qui remplace "l'administrateur" (parti se faire bronzer) et qui va me dire "koiketudis komenkonfé" donc je voudrais être sur d'avoir bien compris

    Autre question, dois-je, et puis-je faire créer un pool d'application pour mon application, en lui octroyant des droits d'écriture, plutôt qu'utiliser le compte Network service par défaut?

    C'est quand même plus simple quand tu leur grave un cd de déploiement et que tu laisse les gens se débrouiller avec

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Si je ne me trompe pas, en principe, avec identity impersonate défini à false, si les connexions anonymes sont désactivées, le processus ne s'execute pas dans le contexte de l'utilisateur, mais dans celui de "NETWORK SERVICE" (et oui, en plus la version de windows Server 2003 est en anglais!)
    Je dirais que c'est indépendant des connexions anonymes ou non

  3. #3
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Si tu n'as qu'une seule application sur ton serveur Web qui accède au SGBD, tu peux utiliser le compte Network Service.

    Cependant, si tu as plusieurs applications sur le même serveur, la bonne pratique est de fournir une isolation supplémentaire en exécutant chaque application dans son propre AppPool et en utilisant un compte de service personnalisé distinct.

    En évitant l'utilisation d'une identité partagée pour les applications multiples, tu peux alors restreindre l'accès à ta base de données pour tenir compte de ton application et t'assurer ainsi à ce que les autres applications ne puissent pas accéder à ta base de données. Cela signifie également que toute modification accidentelle de la façon dont le compte Network Service est autorisé dans la base de données n'affecte pas toutes les applications Web.

    En espérant t'avoir aidé.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci pour vos réponses rapides!
    Je dirais que c'est indépendant des connexions anonymes ou non
    Pour les comptes anonymes le processus s'execute dans le contexte IUSR non?

    Sinon en résumé je ne me trompe pas?

    Je dois juste dire dire à la personne d'autoriser Network Service en écriture sur le répertoire concerné (par défaut Visual studio n'accorde pas ce droit au réertoire qu'il crée lors de la publication (juste lecture, exécuter)...

    Ou de créer un nouveau pool du nom de mon application, et d'autoriser celui ci en écriture...

    Pas besoin d'accorder en plus les autorisations en écriture au groupe d'utilisateur tant que je n'utilise pas l'impersonnation?

  5. #5
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,
    Question concernant la définition des droits sur une base Access
    Access n'est pas adapté à de "nombreux" accès concurrents. La stabilité de la base est mis à l'épreuve au-delà d'une dizaine d'utilisateurs. Le plus simple: Utilise une vraie base de données. SQL Server Standard est parfait.

    Sinon,
    Citation Envoyé par sergentrazor Voir le message
    Mais il va falloir que je l'explique, au téléphone à la personne qui remplace "l'administrateur" (parti se faire bronzer) et qui va me dire "koiketudis komenkonfé" donc je voudrais être sur d'avoir bien compris
    Pour faire simple, dire à la personne qui remplace:
    1. Click droit sur le dossier contenant la base de données Access
    2. Sécurité
    3. Modifier les propriétés du groupe "Utilisateurs Authentifiés"
    4. Donner les droits "Modifier"
    5. Vérifier que la base hérite des droits du parent

    De toutes les façons, quels que soient les moyens, pour des accès aux fichiers, tout tourne autour du même problème: les comptes qui font tourner des applications web n'ont que très peu de droits (NETWORK SERVICE n'a pas le droit de modifier les fichiers) => SQL Server

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Re à tous!

    Immobilis, concernant access, 100% d'accord, mais je n'ai pas eu le choix
    Enfin, maintenant SQL server a été installé sur cette machine, donc je vais pouvoir travailler avec un vrai SGBD...

    Même s'il n'y a que 150 utilisateurs, j'ai besoin de quelque chose qui tienne la route, et je me prendrais moins la tête avec!

    Concerant ma question, j'ai pu faire quelques test, bon ok sous iiS 7...

    Nul besoin d'autoriser l'écriture sur le dosier concerné pour le groupe d'utilisateurs.

    En prenant les mêmes paramètres de base (anonyme désactivé, authentification windows et impersonate à false), en créant un pool spécifique à l'application, en spécifiant ce pool dans l'onglet de configuration du répertoire virtuel(converti en application), je me suis refusé les droits nécessaires à faire une insertion dans la base...

    Sur ma page j'affiche diverses informations et un bouton faisant un insert dans la bdd.

    Request.ServerVariables("REMOTE_USER") affiche bien mon compte Windows.

    WindowsIdentity.GetCurrent().Name affiche IIS APPPOOL\Test (test étant le nom du pool créé pour le test )

    l'insertion dans la base est positive...

    Donc en résumé, les autorisations de lecture suffisent amplement des lors que le pool possède les privilèges suffisants...Pas besoin d'autoriser le répertoire en écriture...Et je n'utilise pas le compte de service NETWORK

    Il ne me reste plus qu'à expliquer la manip au téléphone

    Merci à tous!

  7. #7
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Quelle est l'identité que tu as choisi pour l'execution du pool?

    Le danger c'est que tu propages des droits "suffisants" sur toute ton application.
    "Winter is coming" (ma nouvelle page d'accueil)

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Ben pour le moment, l'administrateur du serveur étant en congés, j'ai fait faire la manip par son remplacant pour autoriser Network Service en écriture lecture et exécution uniquement sur le dossier App_Data...

    A son retour je vais lui faire créer un pool spécifique à l'application associé à un compte de service dédié à usage unique pour être tranquille...

    Et ce pour cette application et les suivantes. Pour le moment je suis le seul à publier des applications sur ce serveur, mais ça peut changer, et autant que chaque application aie son pool associé à une identité unique.

    Et à son retour on fera en sorte que je puisse utiliser SQL...
    Ce sera beaucoup plus cool!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2007] Problème de gestion des droits sur une base ODBC (SQL Server)
    Par alexandre.g dans le forum Sécurité
    Réponses: 0
    Dernier message: 16/06/2014, 17h35
  2. pgAdmin : créer un rôle et lui affecter des droits sur une base
    Par jmnicolas dans le forum Administration
    Réponses: 1
    Dernier message: 14/10/2010, 11h47
  3. Droits sur une base Access
    Par Louis-Guillaume Morand dans le forum Sécurité
    Réponses: 6
    Dernier message: 26/02/2007, 20h18
  4. Droits sur une base access 97
    Par BOBUR dans le forum Sécurité
    Réponses: 5
    Dernier message: 21/02/2007, 23h48
  5. [ASP.NET]Problème de droits sur une base access
    Par dacid dans le forum ASP.NET
    Réponses: 8
    Dernier message: 25/11/2006, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo