Je n'arrive pas à trouver une réponse définitive à cette question. Le problème: J'utilise Octopus Deploy pour exécuter un exécutable qui exécutera mes scripts de migration de base de données. Une erreur se produit lorsque le service Windows Octopus "Tentacle" s'exécute en tant que localsystem
, ce qui se traduit par NT AUTHORITY\System
.Est-ce que NT AUTHORITY System doit avoir le rôle sysadmin?
Une solution consiste à modifier les paramètres de sécurité du serveur SQL et à accorder un rôle approprié à l'utilisateur NT AUTHORITY\System
, ce qui permet à un utilisateur s'exécutant en tant qu'utilisateur localsystem
de créer la base de données.
Quelles sont les implications de cette modification pour la sécurité? Cela permettrait à tout processus exécuté sous localsystem
d'effectuer des opérations sur la base de données, mais est-ce une mauvaise chose étant donné que je contrôle ce qui est installé sur le serveur?
Il semblerait qu'il y ait eu une modification faite autour de SQL Server 2012 où par le compte localsystem
était précédemment par défaut un sysadmin
mais cela a été changé. Une chose que j'ai vu était que cette modification empêche les administrateurs de serveur d'avoir accès au serveur mais je ne vois pas comment cela est possible étant donné que vous ne pouvez pas vous connecter en tant que localsystem
de toute façon.
Qu'est-ce qui me manque?
Références:
https://dba.stackexchange.com/questions/142166/grant-sysadmin-permissions-to-nt-authority-system
Je crée un compte spécifique qui est utilisé pour votre service et seulement accorder les autorisations minimales à cet utilisateur . Selon [this] (https://octopus.com/docs/installation/installing-octopus/sql-server-database-requirements), _L'utilisateur qui exécute l'assistant doit avoir les privilèges sur votre serveur SQL pour créer des bases de données et accorder des autorisations_ – Tanner