Aller au contenu principal

Créer des utilisateurs SQL Server

Pour un accès sécurisé aux bases de données SEI, il est fortement recommandé de créer des comptes d'utilisateur SQL Server dédiés au lieu d'utiliser les identifiants par défaut sa ou d'autres comptes administratifs. Cette approche améliore la sécurité et offre un contrôle plus granulaire sur l'accès à la base de données.

SEI fournit des scripts SQL pour créer des utilisateurs avec des autorisations administratives ou limitées. Ces scripts doivent être exécutés par un utilisateur ayant des droits administratifs sur le SQL Server. Après avoir installé SEI, exécutez le script approprié pour créer des comptes de service pour SEI. Les comptes dédiés simplifient la gestion des mots de passe et s'alignent sur les pratiques de sécurité recommandées, car ils ne sont pas soumis aux mêmes exigences que le compte sa ou les utilisateurs Windows.

Les utilisateurs SQL Server dédiés ne devraient avoir que les autorisations nécessaires pour leur utilisation prévue. Cela s'applique aux comptes pour Central Point, DataSync, et tout utilisateur configuré via la page Environnements et Sources de Données.

remarque

Exécutez tous les scripts avec un utilisateur ayant des autorisations administratives sur SQL Server.

Étapes principales

ÉtapeDescription
Créer des utilisateurs administratifsLes utilisateurs administratifs gèrent tous les composants système et bases de données SEI avec un accès complet. SEI fournit des scripts SQL pour automatiser la création de ces utilisateurs, garantissant des autorisations appropriées.
Créer des utilisateurs avec des autorisations minimum..
Configuration d'accès supplémentaire..

Créer des utilisateurs administratifs

Le script crée des utilisateurs dédiés pour chaque base de données clé :

  • Base de données de configuration SEI : Crée l'utilisateur SEI.
  • Base de données de licence BI : Crée l'utilisateur BILicense.
  • Entrepôt de données SEI (SEICube) : Crée l'utilisateur SEICube avec les autorisations nécessaires.
  • Base de données ERP : Fournit le compte administratif avec accès aux schémas pertinents.

Le script est conçu pour des installations où les bases de données sont hébergées sur un seul serveur. Si votre environnement s'étend sur plusieurs serveurs (par exemple, bases de données d'application sur un serveur et données d'entrepôt sur un autre), exécutez uniquement les sections pertinentes du script sur chaque serveur respectif.

Exécutez le script fourni Administrative_user.sql en tant qu'administrateur sur SQL Server, et suivez les instructions du script pour fournir des noms d'utilisateur, des mots de passe et des détails de schéma pour votre environnement.

remarque

Le script d'exemple est basé sur un environnement Sage X3. Ajustez les noms de schéma et les paramètres de dossier pour correspondre à votre propre configuration ERP.

/*
Script pour créer des utilisateurs SQL Server avec des autorisations administratives.
Exécutez ce script en tant qu'utilisateur ayant des privilèges administratifs sur SQL Server.
Instructions :
- Remplacez "userWithAdministrativePermissions" par le nom souhaité de l'utilisateur SQL.
- Spécifiez un mot de passe sécurisé pour la connexion.
- Remplacez "NECTARI_CUSTOM_SCHEMA" par le nom de schéma Nectari/SEI réel.
- Remplacez "X3FOLDER" par le nom correct du dossier ERP utilisé par Nectari/SEI.
- Ajustez les noms de base de données et de schéma selon votre environnement si nécessaire.
Remarque :
- Vous pouvez restreindre encore plus les GRANTs et les adhésions aux rôles si une sécurité plus stricte est requise.
- Pour les environnements avec des composants distribués, exécutez uniquement les parties pertinentes pour les bases de données locales.
*/

CREATE LOGIN userWithAdministrativePermissions WITH PASSWORD = '' -- Crée une connexion au niveau du serveur

-- Nectari Entrepôt de Données
use [NectariCube]
CREATE USER userWithAdministrativePermissions FOR LOGIN userWithAdministrativePermissions
ALTER ROLE db_ddladmin add member userWithAdministrativePermissions DDL/admin rights -- Droits DDL/admin
ALTER ROLE db_datareader add member userWithAdministrativePermissions -- Permissions SELECT sur toutes les tables
ALTER ROLE db_datawriter add member userWithAdministrativePermissions -- INSERT, UPDATE, DELETE sur toutes les tables
GRANT EXEC to userWithAdministrativePermissions -- Exécute des procédures stockées

-- Base de données ERP (par exemple, Sage X3)
use [x3]
CREATE USER userWithAdministrativePermissions FOR LOGIN userWithAdministrativePermissions
GRANT ALTER on SCHEMA :: NECTARI_CUSTOM_SCHEMA to userWithAdministrativePermissions -- Droits FULL ALTER sur le schéma personnalisé
GRANT SELECT,INSERT,UPDATE,DELETE,EXEC on SCHEMA :: NECTARI_CUSTOM_SCHEMA to userWithAdministrativePermissions -- DML complet et EXEC sur le schéma personnalisé
GRANT SELECT on SCHEMA :: X3FOLDER to userWithAdministrativePermissions -- Accès en lecture seule à toutes les tables du dossier ERP
GRANT CREATE TABLE to userWithAdministrativePermissions -- Permet la création de tables
GRANT ALTER on SCHEMA :: X3FOLDER to userWithAdministrativePermissions -- Permet la création de triggers

-- Base de données de Configuration
use [NECTARI]
CREATE USER userWithAdministrativePermissions FOR LOGIN userWithAdministrativePermissions
ALTER ROLE db_ddladmin add member userWithAdministrativePermissions -- Droits DDL/admin
ALTER ROLE db_datareader add member userWithAdministrativePermissions -- Permissions SELECT
ALTER ROLE db_datawriter add member userWithAdministrativePermissions -- INSERT, UPDATE, DELETE

-- Base de données de Licence
use [BILicense]
CREATE USER userWithAdministrativePermissions FOR LOGIN userWithAdministrativePermissions
ALTER ROLE db_ddladmin add member userWithAdministrativePermissions -- Droits DDL/admin
ALTER ROLE db_datareader add member userWithAdministrativePermissions -- Permissions SELECT
ALTER ROLE db_datawriter add member userWithAdministrativePermissions -- INSERT, UPDATE, DELETE

Créer des utilisateurs avec des autorisations minimum

Pour les scénarios où un accès complet à la base de données n'est pas requis, SEI prend en charge les utilisateurs SQL Server avec des privilèges restreints. Les utilisateurs avec des autorisations minimales ont un accès en lecture (SELECT) à toutes les tables des bases de données requises et peuvent être restreints davantage si nécessaire. Cette configuration est utile pour les utilisateurs de rapports ou les intégrations qui nécessitent uniquement un accès limité aux données.

Le script fourni accorde à ces utilisateurs l'accès aux schémas de l'Entrepôt de données SEI (NectariCube) et de la base de données ERP (telle que Sage X3). Le script peut être ajusté pour exclure l'accès à des tables spécifiques en appliquant une ou plusieurs déclarations DENY.

Exécutez le script MinimumPermissions_user.sql avec un compte ayant des permissions administratives sur le SQL Server. Suivez les instructions du script pour fournir les bons noms d'utilisateur, mots de passe et détails de schéma pour votre environnement.

remarque

Le script d'exemple fourni est basé sur un environnement Sage X3. Assurez-vous d'ajuster les noms de schéma et les paramètres de dossier pour correspondre à votre propre configuration de base de données ERP.

/*
Script pour créer des utilisateurs restreints avec des autorisations minimum.
Exécutez ce script en tant qu'utilisateur ayant des privilèges administratifs sur SQL Server.
Instructions :
- Remplacez "userWithMinimumPermissions" par le nom souhaité de l'utilisateur SQL.
- Spécifiez un mot de passe pour la connexion.
- Remplacez "NECTARI_CUSTOM_SCHEMA" par votre nom de schéma Nectari/SEI.
- Remplacez "X3FOLDER" par le nom de votre dossier ERP utilisé par Nectari/SEI.
- Décommentez les instructions optionnelles si nécessaire.
- Ajoutez des déclarations DENY à la fin pour bloquer l'accès à des tables spécifiques.
*/

CREATE LOGIN userWithMinimumPermissions WITH PASSWORD = '' -- Crée une connexion au niveau du serveur

-- Entrepôt de Données
use [NectariCube]
CREATE USER userWithMinimumPermissions FOR LOGIN userWithMinimumPermissions
ALTER ROLE db_datareader add member userWithMinimumPermissions -- Permission SELECT
ALTER ROLE db_datawriter add member userWithMinimumPermissions -- INSERT/UPDATE/DELETE
GRANT EXEC to userWithMinimumPermissions -- Exécute des procédures stockées
-- ALTER ROLE db_ddladmin ADD MEMBER userWithMinimumPermissions; -- Optionnel : Ajoutez des droits DDL si nécessaire pour la création de table via des procédures stockées

-- Base de données ERP (par exemple, Sage X3)
use [x3]
CREATE USER userWithMinimumPermissions FOR LOGIN userWithMinimumPermissions
GRANT SELECT,INSERT,UPDATE,DELETE,EXEC on SCHEMA :: NECTARI_CUSTOM_SCHEMA to userWithMinimumPermissions -- DML complet sur le schéma personnalisé
GRANT SELECT on SCHEMA :: X3FOLDER to userWithMinimumPermissions -- Accès en lecture seule à toutes les tables dans le dossier ERP
-- GRANT ALTER ON SCHEMA::NECTARI_CUSTOM_SCHEMA TO userWithMinimumPermissions; -- Optionnel : Full ALTER sur le schéma personnalisé (rarement nécessaire)

-- Ajoutez des déclarations DENY ci-dessous pour bloquer l'accès à des tables sensibles :
DENY SELECT on X3FOLDER.TABLENAME to userWithMinimumPermissions -- Exemple : bloque l'accès SELECT sur une table spécifique

Configuration d'accès supplémentaire

Accorder l'accès à un nouveau schéma de base de données

Lorsqu'un nouveau schéma de base de données est ajouté, les utilisateurs avec des autorisations minimales auront besoin d'un accès explicite à celui-ci. Pour accorder cet accès, exécutez la commande GRANT SELECT on SCHEMA dans le contexte de la base de données ERP pour chaque nouveau schéma. Par exemple, pour donner à l'utilisateur produser1 un accès en lecture à un nouveau schéma appelé TEST :

GRANT SELECT on SCHEMA :: TEST to produser1

Refuser l'accès à un schéma de base de données ou à une table

Pour restreindre l'accès et assurer qu'un utilisateur avec des autorisations minimales ne puisse pas lire certaines tables, utilisez la commande DENY SELECT dans le script de la base de données ERP. Par exemple, les déclarations 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 un accès d'altération et des droits de modification

Accorder des privilèges supplémentaires permet aux utilisateurs de modifier des objets spécifiques de SEI si nécessaire. Pour permettre à un utilisateur de modifier des objets de schéma SEI, utilisez la commande GRANT ALTER on SCHEMA. Par exemple, pour permettre à l'utilisateur administratif adminuser1 de modifier des objets de schéma personnalisés :

GRANT ALTER on SCHEMA :: NECTARI_CUSTOM_SCHEMA to adminuser1

Pour permettre à un utilisateur avec des autorisations 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 à partir du script de l'Entrepôt de Données SEI. Par exemple, pour fournir ces droits à produser1 :

ALTER ROLE db_datawriter add member produser1

remarque

Besoin d'ajouter des utilisateurs après l'installation de SEI en utilisant la page Env. & Data Sources dans Administration.

Ajouter des utilisateurs à SEI

Créer l'environnement de production

  1. Connectez-vous à SEI.
  2. Dans le panneau de navigation, sélectionnez l'icône d'engrenage pour ouvrir Administration.
  3. Sélectionnez Env. & Data Sources dans le panneau de gauche.
  4. Dans le panneau Environnements, cliquez sur l'icône +.
  5. Dans Nom de l'environnement, entrez Production.
  6. Dans Nom abrégé, entrez Prod.
  7. Choisissez la couleur pour l'environnement. Utilisez le sélecteur de couleur et sélectionnez Appliquer, ou entrez manuellement un code HEX.
  8. Cliquez sur Confirmer.

Créer l'environnement d'administration

  1. Dans le panneau Environnements, cliquez à nouveau sur l'icône +.
  2. Dans Nom de l'environnement, entrez Administration.
  3. Dans Nom abrégé, entrez Admin.
  4. Choisissez la couleur pour l'environnement. Utilisez le sélecteur de couleur et sélectionnez Appliquer, ou entrez manuellement un code HEX.
  5. Cliquez sur Confirmer.

Définir les identifiants de base de données dans le Configurateur de Point Central

  1. Connectez-vous au Configurateur de Point Central.
  2. Dans les sections Source de Données et Source de Données de Licence, entrez le nom d'utilisateur et le mot de passe de la base de données administrative.
  3. Cliquez sur Mettre à jour la configuration pour enregistrer vos modifications.