Maintenance de la sécurité de DiveLine

Description

Cette demande provient des clients qui veulent synchroniser leurs utilisateurs, groupes et droits d'accès DiveLine avec une source de données externe de façon régulière.

DI-Config permet la configuration d'une instance DiveLine avec un utilitaire Windows possédant une interface graphique. Via DI-Config, on peut paramétrer et réinitialiser des options telles que :

• Niveau de sécurité

• Authentification

• Configuration du serveur

• Aliases

• Utilisateurs

• Groupes

• Permissions

Cette interface est pratique durant la phase d'apprentissage mais peut devenir lourde quand vous avez besoin de créer et de maintenir des dizaines ou des centaines d'utilisateurs et/ou de Modèles. Un grand nombre d'utilisateurs a rapidement appris à se servir de la version en ligne de commande de DI-Config, plus connue sous le nom de : dicfg.

Avec l'aide d'un consultant DI ou au cours d'une formation sur Data Integrator, un script peut être créé, exécutant une série de commandes dicfg qui permettent de manipuler les tâches typiquement effectuées par l'interface graphique du DI-Config, mais plus rapidement et avec moins de travail.

Les commandes SAVE et MERGE du dicfg rendent le processus plus facile. Ces commandes manipulent des fichiers avec séparateurs tabulation sans avoir besoin de douzaines de commandes dicfg individuelles.

Cette astuce décrit les commandes SAVE et MERGE et fournit des scripts Integrator qui peuvent être entrés dans DI-Scheduler et exécutés sur demande.

En outre les scripts Integrator fournis vont également construire des Modèles vous permettant de voir les contenus des fichiers de configuration de DiveLine. Ceci fournit un meilleur accès à l'ensemble de votre shéma de sécurité.

Commandes DICFG

Les exemples de lignes de commande sont affichées pour chaque commande DICFG ci-dessous.

SAVE

Place plusieurs fichiers dans le répertoire spécifié. Chaque fichier correspond à une zone spécifique de DI-Config.

Les fichiers courants sont :

DiveLine_Users.cfg

DiveLine_Groups.cfg

DiveLine_ACL.cfg

Exécution locale:

dicfg -dataroot f:/di_solution/dl-dataroot save ../data

Exécution à distance :

dicfg -remote admin:admin@myserver:2130 save ../data

L'argument -remote n'est pas nécessaire lors de l'utilisation de la commande sur le serveur DiveLine local.

MERGE

Lit un ou des fichiers dans le répertoire spécifié et met à jour la bonne configuration de sécurité DiveLine. Les fichiers utilisés dans la commande MERGE doivent être nommés :

DiveLine_Users.cfg

DiveLine_Groups.cfg

DiveLine_ACL.cfg

DiveLine_Passwords.cfg

Exécution locale:

dicfg -dataroot f:/di_solution/dl-dataroot merge ../temp

Exécution à distance :

dicfg -remote admin:admin@myserver:2130 merge ../temp

L'argument -remote n'est pas nécessaire lors de l'utilisation de la commande sur le serveur DiveLine local.

La différence entre le fichier SAVE et le fichier MERGE est la colonne additionnelle ACTION.

Un fichier journal (.log) pour chaque .cfg correspondant est écrit dans le même répertoire fournissant un retour d'information. Pour chaque enregistrement dans le fichier .cfg, il y a une entrée dans le fichier .log.

DiveLine_Users.log

DiveLine_Groups.log

DiveLine_ACL.log

DiveLine_Passwords.log

Projet DI_DICFG

Le support technique de DI peut fournir un fichier zip (di_dicfg.zip), qui une fois déployé va générer les répertoires suivants :

DI_DICFG

data

logs

models

programs

temp

Les programmes inclus sont :

_DI_DICFG_ save.int

_DI_DICFG_create.int

_DI_DICFG_merge.int

save_acl.int

save_groups.int

save_users.int

create_acl.int

create_groups.int

create_users.int

create _passwords.int

_DI_DICFG_save.int est le programme pour ce projet qui va lire la configuration courante et générer des fichiers et des Modèles externes des paramètres du DI-Config pour analyses et modifications. Ces fichiers sont sauvegardés au sein du répertoire ../data.

_DI_DICFG_create.int est le programme pour ce projet qui lit ces fichiers modifiés et les prépare pour un import dans la configuration courante de DiveLine en lançant les programmes suivants:

DICFG_ACL.int

DICFG_Groups.int

DICFG_Passwords.int

DICFG_Users.int

_DI_DICFG_merge.int est le programme qui importe les fichiers modifiés dans la configuration du DiveLine courant, en mettant à jour les paramètres du DI-Config avec les modifications.

Il est nécessaire de spécifier la location de dl-dataroot à la fois dans l'objet PARM de _DI_DICFG_save.int et de _DI_DICFG_merge.int (par exemple DATAROOT = "C:/DI_Solution /dl-dataroot").

Configuration de DI-Scheduler

Trois tâches peuvent être créées dans DI-Scheduler pour faciliter le lancement de chaque étape de DICFG.

DI_DICFG_010_Save

DI_DICFG_020_Create

DI_DICFG_030_Merge

DI_DICFG_010_Save

DI_DICFG_020_Create

DI_DICFG_030_Merge

Options d'utilisation Client DI

Le fonctionnement normal du paquetage DI_DICFG est d'être lancé avec l' OPTION 2. Cependant, les options suivantes sont des solutions viables pour maintenir la configuration DiveLine.

OPTION 1

L'administrateur DiveLine peut choisir de maintenir une liste d'utilisateurs ou de modifications dans des fichiers externes comme ACCESS ou EXCEL. S'il s'agit de la méthode préférée, les noms de colonnes doivent correspondre aux noms de colonnes dans les fichiers SAVE créés.

1. Une colonne additionnelle Action doit être ajoutée avec la valeur UPDATE.

2. Créez plusieurs programmes d'"export" afin de créer les fichiers requis. Visualisez les programmes .int qui listent les champs possibles.

3. Sauvegardez ces fichiers, afin d'alimenter dicfg, dans .. /temp avec les noms suivants :

DiveLine_Users.cfg

DiveLine_Groups.cfg

DiveLine_ACL.cfg

4. Exécutez DI_DICFG_Merge pour mettre à jour DI-Config.

OPTION 2

1. Exécutez DI_DICFG_Save pour extraire les paramètres DI-Config des fichiers dans ../data .

DiveLine_Users.cfg

DiveLine_Groups.cfg

DiveLine_ACL.cfg

Remarquez que DI_DICFG_Save crée également les fichiers suivants devant être modifiés par l'administrateur DiveLine :

_users.txt

_groups.txt

_acl.txt

2. Modifiez les fichiers listés ci-dessous et / ou modifiez les programmes Integrator correspondants.

DICFG_ACL.int

DICFG_Groups.int

DICFG_Users.int

3. Ces fichiers avec séparateurs tabulation peuvent être facilement créés et stockés dans ../data avec les noms suivants :

_users.txt

_groups.txt

_acl.txt

Assurez-vous que les en-têtes de colonnes correspondent à ceux trouvés dans le fichier créé par DI_DICFG_Save.

4. Exécutez DI_DICFG_Create depuis DI-Scheduler pour lire ces fichiers .txt et créez les fichiers suivants dans ../temp afin d'être utilisés par la tache DI_DICFG_Merge :

DiveLine_Users.cfg

DiveLine_Groups.cfg

DiveLine_ACL.cfg

5. Exécutez DI_DICFG_Merge depuis DI-Scheduler pour lire les fichiers cfg trouvés dans ../temp et fusionnez les modifications dans la configuration de DiveLine.

6. Ouvrez l'interface graphique de DI-Config pour vérifier que les modifications apparaissent comme souhaité.

Fonctionnement du programme

1. Ouvrez _DI_DICFG_save.int et _DI_DICFG_merge.int dans Visual Integrator, ou dans un éditeur de texte, et modifiez le paramètre DATAROOT afin qu'il soit correct pour votre instance DiveLine.

2. Ouvrez le programme _DI_DICFG_save.int.

3. Le lancement de cette tâche crée six fichiers, qui sont des instantanés des paramètres des Utilisateurs dans le DiveLine courant et crée également trois Modèles pour l'analyse de la configuration courante.

Ces fichiers sont :

../data/DiveLine_ACL.cfg

../data _ACL.txt

../data/DiveLine_Users.cfg

../data/_Users.txt

../data/DiveLine_Groups.cfg

../data/_Groups.txt

../models/DICFG_ACL.mdl

../models/DICFG_Groups.mdl

../models/DICFG_Users.mdl

4. Nous allons utiliser ces fichiers en tant que source pour faire nos modifications. Les fichiers *.txt sont à l'endroit où les modifications requises seront effectuées. Les fichiers *.cfg sont des instantanés de la configuration courante et seront utilisés pour générer des Modèles. La commande SAVE ne sera pas nécessaire à nouveau tant que nous n'avons pas besoin d'une "image complète" de notre configuration mise à jour.

5. Les fichiers qui vont être créés dans le dossier Data sont des fichiers texte avec séparateur tabulation qui peuvent être ouverts et analysés via Microsoft Excel. Ouvrez _ACL.txt, _Groups.txt, _Users.txt et _Passwords.txt dans Excel, Access, ou un éditeur de texte, ensuite modifiez n'importe quelle cellule d'information qui n'est pas exacte par rapport à l'information précise.

Durant cette étape, les utilisateurs peuvent ajouter, supprimer, modifier d'autres groupes, des DiveBooks par défaut peuvent être ajoutés ou modifiés, les répertoires d'accueil (Home) peuvent être définis ou modifiés, les noms et/ou les emails peuvent être modifiés ou complétés etc... Notez que les droits d'accès ne peuvent pas être ajoutés ou définis pour un Modèle qui n'existe pas sur le serveur. Les ACL ont seulement besoin d'être appliqués aux fichiers .mdl, et pas aux fichiers DiveBooks, DivePlans, Marques, ou aux extensions de Modèle. Si un dossier niveau de sécurité est utilisé, alors les ACL’s vont être définis comme par défaut et seront appliqués à l'ensemble des Modèles dans le dossier.

GESTION DES MOTS DE PASSE

L'option SAVE n'exporte pas les mots de passe courants.

Cependant, vous pouvez créer un fichier qui peut être utilisé pour définir un mot de passe initial ou utiliser des templates fournis pour faire ceci via le programme Integrator :

6. Lancez _DI_DICFG_create.int pour lire le fichier *.txt correspondant situé dans ../data et créez les fichiers cfg requis dans ../temp, afin d'être utilisé par _DI_DICFG_merge.int, comme montré dans la table ci-dessous :

7. Lancez _DI_DICFG_merge.int pour lire les fichiers cfg depuis ../temp et importez les modifications dans la configuration DiveLine courante.

Visualisation des Modèles de Configuration

En visualisant les Modèles créés par _DI_DICFG_save.int dans (Pro)Diver, ouvrez en même temps les trois Modèles dans la Console (comme dans l'image ci-dessous). Ceci permet à l'administrateur de passer d'un Modèle à un autre si des informations supplémentaires sont nécessaires.

Effectuez une plongée, double-cliquez sur une valeur et les flèches rouges s'affichent dans la console pour les autres Modèles lorsque disponible. Ceci permet de sauter d'un Modèle à un autre pour prendre connaissance des informations supplémentaires.

REMARQUES:

Modifier les fichiers texte pour la fusion (MERGE)

En modifiant les fichiers créés par _DI_DICFG_save.int, les éléments suivants doivent être pris en considération :

• Un "vide" dans un champ ne peut pas remplacer une valeur existante. Pour remplacer une valeur par un "vide" la valeur du champ doit contenir "delete".

• La valeur requise pour ACTION est "update". Si l'élément n'existe pas alors un "ajout" ("add") sera exécuté automatiquement.

• Il est préférable d'avoir tous les champs dans chaque fichier à des fins de compatibilité.

Bonnes pratiques générales

L'entretien et la maintenance de la sécurité doivent prendre en considération la structure des répertoires et la conception des Modèles du projet.

• Dans la mesure du possible, la sécurité doit être définie sur les Groupes et les Utilisateurs doivent être assignés aux Groupes. Ceci va rendre la maintenance de la sécurité plus facile, particulièrement avec un nombre important d'utilisateurs.

• Les Modèles de structure semblable peuvent également être séparés dans différents répertoires permettant l'utilisation d'un fichier ACL par défaut à opposer aux paramètres de sécurité sur chaque Modèle individuel.

• Les Modèles peuvent également être fractionnés dans différents répertoires et l'accès contrôlé par des chemins de recherche individuels. Ceci est utile si les Modèles sont fractionnés en fonction du contenu qure les différents Utilisateurs/Groupes sont autorisés à voir.