Créer des utilisateurs SQL Server
Pour garantir un accès sécurisé aux bases de données SEI, il est fortement recommandé de créer des comptes utilisateurs SQL Server dédiés, plutôt que d’utiliser les identifiants sa ou d’autres comptes administratifs. Cette approche améliore la sécurité et permet un contrôle plus granulaire des accès à la base de données.
SEI fournit des scripts SQL permettant de créer des utilisateurs avec des permissions administratives ou limitées. Ces scripts doivent être exécutés par un utilisateur disposant de droits administratifs sur SQL Server. Après l’installation de SEI, exécutez le script approprié pour créer les comptes de service nécessaires. Les comptes dédiés simplifient la gestion des mots de passe et respectent les bonnes pratiques de sécurité, car ils ne sont pas soumis aux mêmes contraintes que le compte sa ou les utilisateurs Windows.
Les utilisateurs SQL Server dédiés doivent disposer uniquement des permissions nécessaires à leur usage prévu. Cela s’applique aux comptes pour Central Point, DataSync et à tout utilisateur configuré via la page Environnements et Sources de données.
Exécutez tous les scripts avec un utilisateur disposant de permissions administratives sur SQL Server.
Étapes principales
| Étape | Description |
|---|---|
| Utilisateurs administratifs | Les utilisateurs administratifs gèrent l’ensemble des composants et bases de données SEI avec un accès complet. SEI fournit des scripts SQL pour automatiser la création de ces utilisateurs et garantir l’attribution correcte des permissions. |
| Permissions minimales | Les utilisateurs disposant de droits restreints peuvent accéder uniquement aux schémas et opérations nécessaires pour le reporting ou l’intégration. |
| Accès avancés | Ajustements de permissions via les instructions GRANT ou DENY pour affiner l’accès à des schémas ou tables spécifiques. |
Créer des utilisateurs administratifs
Le script crée des utilisateurs dédiés pour chaque base de données principale :
- Base de configuration SEI : Crée l’utilisateur SEI.
- Base BI License : Crée l'utilisateur BILicense si vous utilisez une version antérieure à la Version 2026 Release 1.
- Entrepôt de données SEI (SEICube) : Crée l'utilisateur SEICube avec les permissions nécessaires.
- Base ERP : Donne au compte administratif l’accès aux schémas pertinents.
Le script est conçu pour les installations où toutes les bases de données résident sur un même serveur. Si votre environnement est réparti sur plusieurs serveurs (par exemple, bases applicatives sur un serveur et entrepôt de données sur un autre), exécutez uniquement les sections pertinentes du script sur chaque serveur.
Exécutez le script Administrative_user.sql avec un compte disposant de droits administratifs sur SQL Server, puis suivez les instructions du script pour définir les noms d’utilisateurs, mots de passe et schémas adaptés à votre environnement.
Le script d’exemple est basé sur un environnement Sage X3. Adaptez les noms de schémas et les paramètres de dossier selon votre propre configuration ERP.
/*
Script to create SQL Server users with administrative permissions.
Run this script as a user with administrative privileges on the SQL Server.
Instructions:
- Replace "userWithAdministrativePermissions" with the desired SQL user name.
- Specify a secure password for the login.
- Replace "NECTARI_CUSTOM_SCHEMA" with the actual Nectari/SEI schema name.
- Replace "X3FOLDER" with the correct ERP folder name used by Nectari/SEI.
- Adjust database and schema names for your environment as needed.
Note:
- You can restrict GRANTs and role membership further if tighter security is required.
- For environments with distributed components, run only the parts relevant to the local databases.
*/
CREATE LOGIN userWithAdministrativePermissions WITH PASSWORD = '' -- Creates server-level login
-- Nectari Data Warehouse
use [NectariCube]
CREATE USER userWithAdministrativePermissions FOR LOGIN userWithAdministrativePermissions
ALTER ROLE db_ddladmin add member userWithAdministrativePermissions DDL/admin rights --DDL/admin rights
ALTER ROLE db_datareader add member userWithAdministrativePermissions -- SELECT permissions on all tables
ALTER ROLE db_datawriter add member userWithAdministrativePermissions -- INSERT, UPDATE, DELETE on all tables
GRANT EXEC to userWithAdministrativePermissions -- Execute stored procedures
-- ERP database (e.g., Sage X3)
use [x3]
CREATE USER userWithAdministrativePermissions FOR LOGIN userWithAdministrativePermissions
GRANT ALTER on SCHEMA :: NECTARI_CUSTOM_SCHEMA to userWithAdministrativePermissions -- Full ALTER rights on custom schema
GRANT SELECT,INSERT,UPDATE,DELETE,EXEC on SCHEMA :: NECTARI_CUSTOM_SCHEMA to userWithAdministrativePermissions -- Full DML and EXEC on custom schema
GRANT SELECT on SCHEMA :: X3FOLDER to userWithAdministrativePermissions -- Read-only access to all tables of ERP folder
GRANT CREATE TABLE to userWithAdministrativePermissions -- Allows table creation
GRANT ALTER on SCHEMA :: X3FOLDER to userWithAdministrativePermissions -- Allows trigger creation
-- Configuration Database
use [NECTARI]
CREATE USER userWithAdministrativePermissions FOR LOGIN userWithAdministrativePermissions
ALTER ROLE db_ddladmin add member userWithAdministrativePermissions -- DDL/admin rights
ALTER ROLE db_datareader add member userWithAdministrativePermissions -- SELECT permissions
ALTER ROLE db_datawriter add member userWithAdministrativePermissions -- INSERT, UPDATE, DELETE
-- License Database (Only for versions prior to 2026 Release 1)
use [BILicense]
CREATE USER userWithAdministrativePermissions FOR LOGIN userWithAdministrativePermissions
ALTER ROLE db_ddladmin add member userWithAdministrativePermissions -- DDL/admin rights
ALTER ROLE db_datareader add member userWithAdministrativePermissions -- SELECT permissions
ALTER ROLE db_datawriter add member userWithAdministrativePermissions -- INSERT, UPDATE, DELETE
Créer des utilisateurs avec des permissions minimales
Pour les scénarios où un accès complet à la base de données n’est pas nécessaire, SEI prend en charge des utilisateurs SQL Server avec des privilèges restreints. Ces utilisateurs disposent d’un accès en lecture (SELECT) à toutes les tables des bases requises, et leurs permissions peuvent être encore limitées au besoin. Cette configuration est idéale pour les utilisateurs de reporting ou les intégrations nécessitant uniquement un accès partiel aux données.
Le script fourni accorde à ces utilisateurs l’accès à l’entrepôt de données SEI (NectariCube) ainsi qu’aux schémas de la base ERP (comme Sage X3). Le script peut être ajusté pour exclure certaines tables en appliquant une ou plusieurs instructions DENY.
Exécutez le script MinimumPermissions_user.sql avec un compte disposant de permissions administratives sur SQL Server. Suivez les instructions du script pour définir les noms d’utilisateurs, mots de passe et schémas correspondant à votre environnement.
Le script d’exemple est basé sur un environnement Sage X3. Veillez à adapter les noms de schémas et les paramètres de dossier à votre propre configuration ERP.
/*
Script to create restricted users with minimum permissions.
Run this script as a user with administrative privileges on the SQL Server.
Instructions:
- Replace "userWithMinimumPermissions" with your desired SQL user name.
- Specify a password for the login.
- Replace "NECTARI_CUSTOM_SCHEMA" with your Nectari/SEI schema name.
- Replace "X3FOLDER" with your ERP folder name used by Nectari/SEI.
- Uncomment optional statements as needed.
- Add DENY statements at the end to block access to specific tables.
*/
CREATE LOGIN userWithMinimumPermissions WITH PASSWORD = '' -- Creates a server-level login
-- Data Warehouse
use [NectariCube]
CREATE USER userWithMinimumPermissions FOR LOGIN userWithMinimumPermissions
ALTER ROLE db_datareader add member userWithMinimumPermissions -- SELECT permission
ALTER ROLE db_datawriter add member userWithMinimumPermissions -- INSERT/UPDATE/DELETE
GRANT EXEC to userWithMinimumPermissions -- Execute stored procedures
-- ALTER ROLE db_ddladmin ADD MEMBER userWithMinimumPermissions; -- Optional: Add DDL rights if required for table creation via stored procs
-- ERP database (e.g., Sage X3)
use [x3]
CREATE USER userWithMinimumPermissions FOR LOGIN userWithMinimumPermissions
GRANT SELECT,INSERT,UPDATE,DELETE,EXEC on SCHEMA :: NECTARI_CUSTOM_SCHEMA to userWithMinimumPermissions -- Full DML on custom schema
GRANT SELECT on SCHEMA :: X3FOLDER to userWithMinimumPermissions -- Read-only access to all tables in the ERP folder
-- GRANT ALTER ON SCHEMA::NECTARI_CUSTOM_SCHEMA TO userWithMinimumPermissions; -- Optional: Full ALTER on custom schema (rarely needed)
-- Add DENY statements below to block access to sensitive tables:
DENY SELECT on X3FOLDER.TABLENAME to userWithMinimumPermissions -- Example: blocks SELECT on a specific table
Configuration d'accès supplémentaire
Accorder l’accès à un nouveau schéma
Lorsqu’un nouveau schéma est ajouté à la base de données, les utilisateurs disposant de permissions minimales doivent recevoir un accès explicite. Pour accorder cet accès, exécutez la commande GRANT SELECT on SCHEMA dans le contexte de la base ERP pour chaque nouveau schéma. Par exemple, pour donner à l'utilisateur produser1 un accès en lecture au schéma TEST :
GRANT SELECT on SCHEMA :: TEST to produser1
Refuser l’accès à un schéma ou à une table
Pour restreindre l’accès et empêcher un utilisateur disposant de permissions minimales de lire certaines tables, utilisez la commande DENY SELECT dans le script de la base ERP.
Par exemple, les instructions suivantes refusent à produser1 l’accès à trois tables spécifiques :
DENY SELECT on SEED.GACCENTRYD to produser1
DENY SELECT on SEED.GACACCOUNT to produser1
DENY SELECT on SEED.GACCDUDATE to produser1
Accorder les droits d’altération et de modification
L’attribution de privilèges supplémentaires permet aux utilisateurs de modifier certains objets SEI lorsque nécessaire. Pour autoriser un utilisateur à modifier des objets du schéma SEI, utilisez la commande GRANT ALTER on SCHEMA. Par exemple, pour permettre à l’utilisateur administratif adminuser1 de modifier des objets personnalisés du schéma :
GRANT ALTER on SCHEMA :: NECTARI_CUSTOM_SCHEMA to adminuser1
Pour permettre à un utilisateur disposant de permissions minimales d’insérer, de mettre à jour et de supprimer des enregistrements dans l’entrepôt de données (Cube), utilisez la commande ALTER ROLE dans le script de l’entrepôt SEI. Par exemple, pour accorder ces droits à produser1 :
ALTER ROLE db_datawriter add member produser1
Les utilisateurs doivent être ajoutés après l’installation de SEI via la page Env. & Sources données dans Administration.
Ajouter des utilisateurs à SEI
Créer l'environnement production
- Connectez-vous à SEI.
- Dans le panneau de navigation, cliquez sur l’icône engrenage pour ouvrir Administration.
- Sélectionnez Env. & Sources de données dans le panneau latéral.
- Dans le panneau Environnements, cliquez sur l'icône +.
- Dans Nom de l'environnement, saisissez
Production. - Dans Nom abrégé, saisissez
Prod. - Choisissez une couleur. Utilisez le sélecteur de couleurs puis cliquez sur Appliquer, ou saisissez un code HEX.
- Cliquez sur Confirmer.
Créer l'environnement administration
- Dans le panneau Environnements, cliquez à nouveau sur l'icône +.
- Dans Nom de l'environnement, saisissez
Administration. - Dans Nom abrégé, saisissez
Admin. - Choisissez une couleur. Utilisez le sélecteur de couleurs puis cliquez sur Appliquer, ou saisissez un code HEX.
- Cliquez sur Confirmer.
Définir les identifiants de base de données
- Connectez-vous au Configurateur du Central Point.
- Dans les sections Source de données et Source de données de la licence, saisissez le nom d’utilisateur et le mot de passe de la base de données administrative.
- Cliquez sur Mettre à jour la configuration pour enregistrer vos modifications.