Configuration de SQL Browser avec un compte de domaine dans une délégation Kerberos avec SSAS en instance nommée

Lorsque l’on effectue une installation de SQL Server par défaut, on se retrouve bien souvent avec le compte prédéfini NT AUTORITHY\LOCALSERVICE comme compte de service pour le service SQLBrowser et cela convient bien dans la plupart des scénarios. Cependant je suis tombé dans un cas où un compte de domaine était nécessaire pour ce service pour pouvoir paramétrer correctement la délégation Kerberos avec une instance nommée SSAS. On retrouve dans la documentation en ligne Microsoft les informations de sécurité nécessaires au bon fonctionnement du service SQLBrowser dans ce contexte sauf que …

… ça ne fonctionne pas. Nous nous retrouvons avec le message d’erreur suivant en voulant se connecter à l’instance nommée SSAS :

image

En lançant SQLBrowser manuellement via une fenêtre de commande avec l’option -c dans le contexte du compte de service Windows on peut voir que l’erreur suivante :

image

On voit ici que SQLBrowser ne sera pas capable de rediriger les requêtes à l’instance nommée SSAS car le service redirecteur n’a pu démarrer correctement. En cherchant dans les KB Microsoft je n’ai pas eu grand chose sur cette erreur. Aux grands maux les grands remèdes je prend l’initiative d’utiliser l’utilitaire sysinternals procmon de Microsoft (d’ailleurs un de mes collègues a eu l’idée bien avant moi :-) ) et celui-ci m’a permis de voir que SQLBrowser tentait d’accéder en écriture sur le dossier C:\Program Files\Microsoft SQL Server\90\Shared\ASCONFIG et que ce type d’accès était donc refusé.

image

Paramétrons les accès demandés sur ce dossier. Pour cela plusieurs façons de faire :

- Ajouter le compte de service utilisé par SQL Browser avec un accès en lecture / écriture / modification  sur le dossier ASCONFIGAjouter le compte de service utilisé par SQL Browser dans le groupe – – SQLServer2005SQLBrowser$User$instanceName et paramétrer pour ce dernier les droits nécessaires sur le dossier ASCONFIG

image

Tentons un redémarrage du service SQLBrowser via une fenêtre de commande avec l’option -c toujours dans le contexte du compte de domaine …

image

… Ok plus aucun message d’erreur … le service SQLBrowser semble pouvoir rediriger les requêtes vers l’instance nommée SSAS. Nous sommes sur la bonne voie !!! Nous pouvons redémarrer le service SQLBrowser normalement via la console de gestion de configuration SQL server et voir si la connexion à l’instance nommée SSAS fonctionne :

image

Tout fonctionne correctement à présent. Tout cela pour dire qu’il existe une coquille dans la documentation Microsoft. En effet si l’on s’y réfère voici les droits à appliquer aux différents dossiers pour le compte de service SQLBrowser :

image

Le service SQL Browser doit également posséder le droit de modification sur ce dossier.

Bon paramétrage !!

David BARBARIN (Mikedavem)
MVP SQL Server

 

3 réflexions au sujet de « Configuration de SQL Browser avec un compte de domaine dans une délégation Kerberos avec SSAS en instance nommée »

  1. Voila, ayant refait une installation, les droits cites dans mon post precedent sont appliques en standard.
    La permission manquante est « delete » pour le groupe de securite locale SQL Browser (ou le SID du browser) sur le fichier suivant:
    C:Program Files (x86)Microsoft SQL Server90SharedASConfigmsmdredir.bak

    Avec une trace on peut voir:
    ACCESS DENIED
    sur: c:Program Files (x86)Microsoft SQL Server90SharedASConfigmsmdredir.tmp
    pour l’operation:
    ReplaceIfExists: True
    sur le fichier:
    FileName: C:Program Files (x86)Microsoft SQL Server90SharedASConfigmsmdredir.bak

  2. Salut David,

    Comme discute hier, voici mon feedback concernant ce probleme:
    – Un workaround possible est de granter le compte de service de SQL Browser local administrator, et de redemarrer le service. Ensuite enlever ces droits largement excessifs et en redemarrant le service l’instance SSAS sera disponible.

    – Concernant le SID, il existe bien en W2KR2/SQL2008R2 (dans mon cas) un SID pour le browser -> pour optimiser l’attribution des droits on peut utiliser NT SERVICESQLBrowser

    – Au niveau du folder C:Program Files (x86)Microsoft SQL Server90SharedASConfig, le groupe local du Browser recoit des permissions speciales:
    – Create files / write data
    – Create folders / append data
    – Read permissions
    Et ceci en plus des permissions heritees Read & execute.
    Cette observation est faite apres avoir applique le workaround.

    Cheers,
    Dje

Laisser un commentaire