Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
L’approvisionnement de comptes à l’échelle du produit est documenté dans Configurer les comptes et autorisations de service Windows, une rubrique qui fournit des informations complètes sur le compte de service pour tous les services SQL Server, y compris SQL Server Analysis Services. Pour en savoir plus sur les types de comptes valides, les privilèges Windows attribués par la configuration, les autorisations de système de fichiers, les autorisations de Registre, etc.
Cette rubrique fournit des informations supplémentaires pour SQL Server Analysis Services, notamment des autorisations supplémentaires nécessaires pour les installations tabulaires et en cluster. Il couvre également les autorisations nécessaires pour prendre en charge les opérations du serveur. Par exemple, vous pouvez configurer les opérations de traitement et de requête pour qu’elles s’exécutent sous le compte de service > dans ce scénario, des autorisations supplémentaires sont nécessaires.
Autorisations du système de fichiers affectées à Analysis Services
Octroi d’autorisations supplémentaires pour des opérations de serveur spécifiques
Une autre étape de configuration, non documentée ici, consiste à inscrire un nom de principal de service (SPN) pour l’instance et le compte de service SQL Server Analysis Services. Cette étape permet l'authentification par passage des applications clientes aux sources de données back-end dans des scénarios de double authentification. Cette étape s’applique uniquement aux services configurés pour la délégation Kerberos contrainte. Pour obtenir d’autres instructions , consultez Configurer Analysis Services pour la délégation Kerberos contrainte .
Recommandations relatives aux comptes de connexion
Le compte de démarrage du service Windows MSSQLServerOLAPService peut être un compte d’utilisateur de domaine Windows, un compte virtuel, un compte de service managé (MSA) ou un compte intégré tel qu’un SID par service, NetworkService ou LocalSystem. L’utilisation d’un compte d’utilisateur de domaine en tant que compte d’ouverture de session de service fournit des détails sur les formats de compte d’utilisateur.
Dans un cluster de basculement, toutes les instances d’Analysis Services doivent être configurées pour utiliser un compte d’utilisateur de domaine Windows. Affectez le même compte à toutes les instances. Pour savoir comment regrouper les services d'analyse, consultez .
Les instances autonomes doivent utiliser le compte virtuel par défaut, NT Service\MSSQLServerOLAPService pour l’instance par défaut ou NT Service\MSOLAP$instance-name pour une instance nommée. Cette recommandation s’applique aux instances Analysis Services dans tous les modes serveur, en supposant Windows Server 2008 R2 et versions ultérieures pour le système d’exploitation, et SQL Server 2012 et versions ultérieures pour Analysis Services.
Accorder des autorisations à Analysis Services
Cette section explique les autorisations requises par Analysis Services pour les opérations locales et internes. Ces opérations incluent le démarrage de l’exécutable, la lecture du fichier de configuration et le chargement des bases de données à partir du répertoire de données. Des conseils sur la définition des autorisations pour l’accès aux données externes et l’interopérabilité avec d’autres services et applications sont disponibles dans l’octroi d’autorisations supplémentaires pour des opérations de serveur spécifiques plus loin dans cette rubrique.
Pour les opérations internes, le titulaire de l’autorisation dans Analysis Services n’est pas le compte d’ouverture de session, mais un groupe de sécurité Windows local créé par configuration qui contient le SID par service. L’attribution d’autorisations au groupe de sécurité est cohérente avec les versions précédentes d’Analysis Services. En outre, les comptes d’ouverture de session peuvent changer au fil du temps, mais le SID par service et le groupe de sécurité local sont constants pendant toute la durée de vie de l’installation du serveur. Pour Analysis Services, le groupe de sécurité est un meilleur choix pour conserver des autorisations que le compte d’ouverture de session. Chaque fois que vous accordez manuellement des droits à l’instance de service, qu’il s’agisse d’autorisations de système de fichiers ou de privilèges Windows, veillez à accorder des autorisations au groupe de sécurité local créé pour l’instance de serveur.
Le nom du groupe de sécurité suit un modèle. Le préfixe est toujours SQLServerMSASUser$, suivi du nom de l’ordinateur, se terminant par le nom de l’instance. L’instance par défaut est MSSQLSERVER. Une instance nommée est le nom donné lors de l’installation.
Vous pouvez voir ce groupe de sécurité dans les paramètres de sécurité locaux :
Exécuter compmgmt.msc | Utilisateurs et groupes | locauxGroupe | SQLServerMSASUser$<nom du> serveur$MSSQLSERVER (pour une instance par défaut).
Pour afficher ses membres, double-cliquez sur le groupe de sécurité.
Le seul membre du groupe est le SID par service. Juste à côté se trouve le compte de connexion. Le nom du compte d'ouverture de session est purement cosmétique, là pour fournir un contexte au SID par service. Si vous modifiez le compte de connexion, le groupe de sécurité et le SID spécifique au service ne changent pas. Seule l’étiquette du compte de connexion est différente.
Privilèges Windows attribués au compte de service Analysis Services
Analysis Services a besoin d’autorisations du système d’exploitation pour le démarrage du service et demander des ressources système. Les exigences varient selon le mode serveur et indiquent si l’instance est en cluster.
Toutes les instances d’Analysis Services nécessitent le privilège se connecter en tant que service (SeServiceLogonRight). Le programme d'installation de SQL Server attribue à votre place le privilège sur le compte de service spécifié lors de l'installation. Pour les serveurs s’exécutant en mode Multidimensionnel et Exploration de données, il s’agit du seul privilège Windows requis par le compte de service Analysis Services pour les installations de serveur autonome, et il s’agit du seul privilège que le programme d’installation configure pour Analysis Services. Pour les instances cluster et tabulaires, des privilèges Windows supplémentaires doivent être ajoutés manuellement.
Les instances de cluster de basculement, en mode tabulaire ou multidimensionnel, doivent avoir une priorité de planification accrue (SeIncreaseBasePriorityPrivilege).
Les instances tabulaires utilisent les trois privilèges supplémentaires suivants, qui doivent être accordés manuellement une fois l’instance installée.
| Privilège | Descriptif |
|---|---|
| Augmenter une plage de travail de processus (SeIncreaseWorkingSetPrivilege) | Ce privilège est disponible pour tous les utilisateurs par défaut via le groupe de sécurité Utilisateurs . Si vous verrouillez un serveur en supprimant des privilèges pour ce groupe, Analysis Services risque de ne pas démarrer, en journalisant cette erreur : « Un privilège requis n’est pas détenu par le client ». Lorsque cette erreur se produit, restaurez le privilège sur Analysis Services en lui accordant le groupe de sécurité Analysis Services approprié. |
| Ajuster les quotas de mémoire pour un processus (SeIncreaseQuotaPrivilege) | Ce privilège est utilisé pour demander plus de mémoire si un processus a des ressources insuffisantes pour terminer son exécution, sous réserve des seuils de mémoire établis pour l’instance. |
| Verrouiller des pages en mémoire (SeLockMemoryPrivilege) | Ce privilège est nécessaire uniquement lorsque la pagination est entièrement désactivée. Par défaut, une instance de serveur tabulaire utilise le fichier de pagination Windows, mais vous pouvez l’empêcher d’utiliser la pagination Windows en définissant VertiPaqPagingPolicy sur 0. VertiPaqPagingPolicy sur 1 (valeur par défaut), indique à l’instance de serveur tabulaire d’utiliser le fichier de pagination Windows. Les allocations ne sont pas verrouillées, ce qui permet à Windows de s’afficher en fonction des besoins. Étant donné que la pagination est utilisée, il n’est pas nécessaire de verrouiller les pages en mémoire. Par conséquent, pour la configuration par défaut (où VertiPaqPagingPolicy = 1), vous n’avez pas besoin d’accorder le privilège 'Verrouiller les pages en mémoire' à une instance tabulaire. VertiPaqPagingPolicy à 0. Si vous désactivez la pagination pour Analysis Services, les allocations sont verrouillées, à condition que le privilège verrouillage des pages en mémoire soit accordé à l’instance tabulaire. Étant donné ce paramètre et le verrouillage des pages en mémoire, Windows ne peut pas paginer les allocations de mémoire faites par Analysis Services lorsque le système est sous pression sur la mémoire. Analysis Services s’appuie sur l’autorisation Verrouiller les pages en mémoire comme mécanisme d'application derrière VertiPaqPagingPolicy = 0. Notez que la désactivation de la pagination Windows n’est pas recommandée. Elle augmentera le taux d’erreurs de mémoire insuffisante pour les opérations qui pourraient réussir si la pagination était autorisée. Pour plus d’informations sur VertiPaqPagingPolicy, consultez Propriétés de la mémoire. |
Pour afficher ou ajouter des privilèges Windows sur le compte de service
Exécuter GPEDIT.msc | Stratégie d’ordinateur local | Configuration de l’ordinateur | Paramètres Windows | Paramètres de sécurité | Stratégies locales | Attributions de droits utilisateur.
Passez en revue les stratégies existantes qui incluent SQLServerMSASUser$. Il s’agit d’un groupe de sécurité local trouvé sur les ordinateurs ayant une installation Analysis Services. Les privilèges Windows et les autorisations de dossier de fichiers sont accordés à ce groupe de sécurité. Double-cliquez sur Se connecter en tant que stratégie de service pour voir comment le groupe de sécurité est spécifié sur votre système. Le nom complet du groupe de sécurité varie selon que vous avez installé Analysis Services en tant qu’instance nommée. Utilisez ce groupe de sécurité, plutôt que le compte de service réel, lors de l’ajout de privilèges de compte.
Pour ajouter des privilèges de compte dans GPEDIT, cliquez avec le bouton droit sur Augmenter un jeu de travail de processus et sélectionnez Propriétés.
Cliquez sur Ajouter un groupe ou un utilisateur.
Entrez le groupe d’utilisateurs de l’instance Analysis Services. N’oubliez pas que le compte de service est membre d’un groupe de sécurité local, ce qui vous oblige à ajouter le nom de l’ordinateur local comme domaine du compte.
La liste suivante montre deux exemples pour une instance par défaut et une instance nommée « Tabulaire » sur un ordinateur appelé « SQL01-WIN12 », où le nom de l’ordinateur est le domaine local.
SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$MSSQLSERVER
SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$TABULAR
Répétez pour ajuster les quotas de mémoire pour un processus, et éventuellement, pour verrouiller les pages en mémoire ou augmenter la priorité de planification.
Remarque
Les versions précédentes du programme d’installation ont ajouté par inadvertance le compte de service Analysis Services au groupe Utilisateurs du journal des performances . Bien que ce défaut ait été résolu, les installations existantes peuvent avoir cette appartenance de groupe inutile. Étant donné que le compte de service SQL Server Analysis Services ne nécessite pas d’appartenance au groupe Utilisateurs du journal des performances , vous pouvez le supprimer du groupe.
Autorisations du système de fichiers affectées au compte de service Analysis Services
Remarque
Consultez Configurer des comptes de service Windows et des autorisations pour obtenir la liste des autorisations associées à chaque dossier de programme.
Consultez Configurer l’accès HTTP à Analysis Services sur Internet Information Services (IIS) 8.0 pour obtenir des informations d’autorisation de fichier relatives à la configuration IIS et à SQL Server Analysis Services.
Toutes les autorisations de système de fichiers requises pour les opérations de serveur, y compris les autorisations nécessaires pour le chargement et le déchargement de bases de données à partir d’un dossier de données désigné, sont affectées par le programme d’installation de SQL Server pendant l’installation.
Le titulaire de l’autorisation sur les fichiers de données, les exécutables de fichiers programme, les fichiers de configuration, les fichiers journaux et les fichiers temporaires est un groupe de sécurité local créé par le programme d’installation de SQL Server.
Il existe un groupe de sécurité créé pour chaque instance que vous installez. Le groupe de sécurité est nommé après l’instance : SQLServerMSASUser$MSSQLSERVER pour l’instance par défaut, ou SQLServerMSASUser$servername<>$<nom_>instance pour une instance nommée. Le programme d’installation approvisionne ce groupe de sécurité avec les autorisations de fichier nécessaires pour effectuer des opérations de serveur. Si vous vérifiez les autorisations de sécurité sur \MSAS13. MsSQLSERVER\OLAP\BIN directory, vous verrez que le groupe de sécurité (et non le compte de service ou son SID par service) est le titulaire de l’autorisation sur cet annuaire.
Le groupe de sécurité contient un seul membre : l’identificateur de sécurité par service (SID) du compte de démarrage de l’instance SQL Server Analysis Services. L'installation ajoute le SID spécifique au service au groupe de sécurité local. L’utilisation d’un groupe de sécurité local, avec son appartenance SID, est une petite différence notable dans la façon dont le programme d’installation de SQL Server provisionne Analysis Services, par rapport au moteur de base de données.
Si vous pensez que les autorisations de fichier sont endommagées, procédez comme suit pour vérifier que le service est toujours correctement approvisionné :
Utilisez l’outil en ligne de commande du contrôle de service (sc.exe) pour obtenir le SID d’une instance de service par défaut.
SC showsid MSSqlServerOlapServicePour une instance nommée (où le nom de l’instance est Tabulaire), utilisez cette syntaxe :
SC showsid MSOlap$TabularUtilisez Gestionnaire d’ordinateurs | Utilisateurs et groupes locaux | Groupes pour inspecter l’appartenance au groupe de sécurité SQLServerMSASUser$<servername>$<instancename>.
Le SID membre doit correspondre au SID par service de l’étape 1.
Utiliserles fichiers | de programme De l’Explorateur | WindowsMicrosoft SQL Server | MSASxx.MSSQLServer | OLAP | bin pour vérifier que les propriétés de sécurité du dossier sont accordées au groupe de sécurité à l’étape 2.
Remarque
Ne jamais supprimer ou modifier un SID. Pour restaurer un SID par service qui a été supprimé par inadvertance, consultez Utilisation des SID de service pour accorder des autorisations aux services dans SQL Server 2017.
En savoir plus sur les SID par service
Chaque compte Windows a un SID associé, mais les services peuvent également avoir des SID, donc appelés SID par service. Un SID par service est créé lorsque l’instance de service est installée, en tant que dispositif unique et permanent du service. Le SID par service est un SID local au niveau de l’ordinateur généré à partir du nom du service. Sur une instance par défaut, son nom convivial est NT SERVICE\MSSQLServerOLAPService.
L’avantage d’un SID par service est qu’il permet de changer arbitrairement le compte de connexion plus largement visible, sans affecter les autorisations sur les fichiers. Par exemple, supposons que vous avez installé deux instances d’Analysis Services, une instance par défaut et une instance nommée, exécutées sous le même compte d’utilisateur Windows. Pendant que le compte d’ouverture de session est partagé, chaque instance de service aura un SID unique par service. Ce SID est distinct du SID du compte d’ouverture de session. Le SID par service est utilisé pour les autorisations de fichier et les privilèges Windows. En revanche, le SID de compte d’ouverture de session est utilisé pour les scénarios d’authentification et d’autorisation : différents SIDS, utilisés à des fins différentes.
Étant donné que le SID est immuable, les listes de contrôle d’accès du système de fichiers créées pendant l’installation du service peuvent être utilisées indéfiniment, quelle que soit la fréquence à laquelle vous modifiez le compte de service. En guise de mesure de sécurité ajoutée, les listes de contrôle d’accès qui spécifient des autorisations via un SID garantissent que les exécutables du programme et les dossiers de données sont accessibles uniquement par une seule instance d’un service, même si d’autres services s’exécutent sous le même compte.
Octroi d’autorisations Analysis Services supplémentaires pour des opérations de serveur spécifiques
SQL Server Analysis Services exécute certaines tâches dans le contexte de sécurité du compte de service (ou compte d’ouverture de session) utilisé pour démarrer SQL Server Analysis Services et exécute d’autres tâches dans le contexte de sécurité de l’utilisateur qui demande la tâche.
Le tableau suivant décrit les autorisations supplémentaires requises pour prendre en charge les tâches qui s’exécutent en tant que compte de service.
| Opération de serveur | Élément de travail | Justification |
|---|---|---|
| Accès à distance aux sources de données relationnelles externes | Créer une connexion de base de données pour le compte de service | Le traitement fait référence à la récupération de données à partir d’une source de données externe (généralement une base de données relationnelle), qui est ensuite chargée dans une base de données SQL Server Analysis Services. L’une des options d'identifiants pour récupérer des données externes consiste à utiliser le compte de services. Cette option d'informations d'identification fonctionne uniquement si vous créez un login de base de données pour le compte de service et accordez des permissions de lecture sur la base de données source. Pour plus d’informations sur l'utilisation de l’option de compte de service pour cette tâche, consultez Définir les options d’emprunt d’identité (SSAS - Multidimensionnel). De même, si ROLAP est utilisé comme mode de stockage, les mêmes options d’emprunt d’identité sont disponibles. Dans ce cas, le compte doit également avoir un accès en écriture aux données sources pour traiter les partitions ROLAP (autrement dit, pour stocker des agrégations). |
| Requête Directe | Créer une connexion de base de données pour le compte de service | DirectQuery est une fonctionnalité tabulaire utilisée pour interroger des jeux de données externes qui sont trop volumineux pour s’adapter au modèle tabulaire ou qui ont d’autres caractéristiques qui rendent DirectQuery mieux adapté que l’option de stockage en mémoire par défaut. L’une des options de connexion disponibles en mode DirectQuery consiste à utiliser le compte de service. Une fois de plus, cette option fonctionne uniquement lorsque le compte de service dispose d’une connexion de base de données et d’autorisations de lecture sur la source de données cible. Pour plus d’informations sur l'utilisation de l’option de compte de service pour cette tâche, consultez Définir les options d’emprunt d’identité (SSAS - Multidimensionnel). Vous pouvez également utiliser les informations d’identification de l’utilisateur actuel pour récupérer des données. Dans la plupart des cas, cette option implique une connexion à double tronçon. Veillez donc à configurer le compte de service pour la délégation Kerberos contrainte afin que le compte de service puisse déléguer des identités à un serveur en aval. Pour plus d’informations, consultez Configurer Analysis Services pour la délégation Kerberos contrainte. |
| Accès à distance à d’autres instances SSAS | Ajouter le compte de service aux rôles de base de données Analysis Services définis sur le serveur distant | Les partitions distantes et le référencement d’objets liés sur d’autres instances SQL Server Analysis Services distantes sont des fonctionnalités système nécessitant des autorisations sur un ordinateur ou un appareil distant. Lorsqu’une personne crée et remplit des partitions distantes ou configure un objet lié, cette opération s’exécute dans le contexte de sécurité de l’utilisateur actuel. Si vous automatisez par la suite ces opérations, SQL Server Analysis Services accède à des instances distantes dans le contexte de sécurité de son compte de service. Pour accéder aux objets liés sur une instance distante de SQL Server Analysis Services, le compte d’ouverture de session doit avoir l’autorisation de lire les objets appropriés sur l’instance distante, tels que l’accès en lecture à certaines dimensions. De même, l’utilisation de partitions distantes nécessite que le compte de service dispose de droits d’administration sur l’instance distante. Ces autorisations sont accordées sur l’instance Analysis Services distante, à l’aide de rôles qui associent des opérations autorisées à un objet spécifique. Consultez Accorder des autorisations de base de données (Analysis Services) pour obtenir des instructions sur la façon d’accorder des autorisations de contrôle total qui autorisent le traitement et les opérations de requête. Pour plus d’informations sur les partitions distantes , consultez Créer et gérer une partition distante (Analysis Services ). |
| Écriture différée | Ajouter le compte de service aux rôles de base de données Analysis Services définis sur le serveur distant | Lorsqu’elle est activée dans les applications clientes, l’écriture différée est une fonctionnalité de modèles multidimensionnels qui permet la création de nouvelles valeurs de données pendant l’analyse des données. Si l’écriture différée est activée dans une dimension ou un cube, le compte de service SQL Server Analysis Services doit disposer d’autorisations d’écriture dans la table d’écriture différée dans la base de données relationnelle SQL Server source. Si cette table n’existe pas déjà et doit être créée, le compte de service SQL Server Analysis Services doit également avoir des autorisations de table dans la base de données SQL Server désignée. |
| Écrire dans une table de journal des requêtes dans une base de données relationnelle SQL Server | Créer une connexion de base de données pour le compte de service et attribuer les droits d'écriture sur la table du journal de requêtes | Vous pouvez activer la journalisation des requêtes pour collecter des données d’utilisation dans une table de base de données pour une analyse ultérieure. Le compte de service SQL Server Analysis Services doit disposer d’autorisations d’écriture dans la table du journal des requêtes dans la base de données SQL Server désignée. Si cette table n’existe pas déjà et doit être créée, le compte d’ouverture de session SQL Server Analysis Services doit également avoir des autorisations de table dans la base de données SQL Server désignée. Pour plus d’informations, consultez Améliorer les performances de SQL Server Analysis Services avec l’Assistant Optimisation basée sur l’utilisation (blog) . |
Contenu connexe
Configurer les comptes de service Windows et les autorisations
Compte de service SQL Server et SID de Per-Service (blog)
Utilisation des SID de service pour accorder des autorisations aux services dans SQL Server 2017
Jeton d’accès (MSDN)
Identificateurs de sécurité (MSDN)
Jeton d’accès (Wikipédia)
Listes de contrôle d’accès (Wikipédia)