PI Services

Le blog des collaborateurs de PI Services

Configuration et déploiement du rôle licensing pour une collection RDS sous Windows serveur 2012 R2

Bonjour,

Ce guide fait suite à mon post sur la création d’une collection RDS avec équilibrage de charge sous Windows serveur 2012 R2.

Nous allons voir comment installer le rôle licensing RDS et mettre une GPO basique pour configurer le(s) serveurs(s) host RDS avec ces informations.

Installation du rôle licensing

 

Sur la page overview des services RDS, cliquez sur le plus au dessus de RD Licensing

RDS-config-5

RDS-config-1

 

L’assistant vous demande quel(s) serveur(s) hébergera le rôle. Nous allons ici choisir le serveur qui héberge déjà les rôles Broker et Web (CF post précédent) car aucun des trois n’est très consommateurs de ressources machine.

RDS-config-2

RDS-config-4

 

Il faudra ensuite ajouter vos licences TS dans la console

 

Création d’une GPO pour paramétré les serveurs host RDS

 

Afin de ne pas avoir à passer sur chaque serveur nous allons mettre une GPO sur les serveurs avec le rôle host

GPO_1

GPO_2

GPO_3

GPO_4

GPO_5

Configuration et déploiement du rôle licensing pour une collection RDS sous Windows serveur 2012 R2

Bonjour,

Ce guide fait suite à mon post sur la création d’une collection RDS avec équilibrage de charge sous Windows serveur 2012 R2.

Nous allons voir comment installer le rôle licensing RDS et mettre une GPO basique pour configurer le(s) serveurs(s) host RDS avec ces informations.

Installation du rôle licensing

 

 Sur la page Overview des services RDS, cliquez sur le plus au dessus de RD Licensing

 

RDS-config-5

RDS-config-1

 

L’assistant vous demande quel(s) serveur(s) hébergera le rôle. Nous allons ici choisir le serveur qui héberge déjà les rôles Broker et Web (voir post précédent) car aucun des trois n’est très consommateurs de ressources machine et on peut donc les regrouper sur une architecture de petite taille.

RDS-config-2

RDS-config-4

 

Il faudra ensuite ajouter vos licences TS dans la console (Ici mon poste à une CAL temporaire)

 RDS-licence TS

Création d’une GPO pour configurer les serveurs host RDS

 

Afin de ne pas avoir à passer sur chaque serveur nous allons mettre une GPO sur les serveurs avec le rôle host.

J’ai créé une GPO nommée GPO_WRK_RDS_CONFIG et je l’ai placée dans l’OU AD réservée à mes serveurs RDS (tout rôles).

Le filtre de sécurité limite l’application à mes serveurs host RDS.

GPO_1

 

Nous allons maintenant voir les paramètres obligatoires et intéressants à mettre en place (tout ce qui suit est à adapter à vos besoins car nous).

Tout les paramètres sont dans la partie ordinateur de la stratégie.

 

Il faut en premier ce rendre dans : “Policies/Administrative Templates/Windows Components/Remote Desktop Services/Remote Desktop Session Host”

Dans la partie “Licensing” :

Les paramètres suivants sont nécessaire pour la bonne configuration de l’infrastructure RDS.

Nous allons renseigner dans la 1ère ligne le nom complet du serveur hébergeant le rôle licensing (dans notre cas LAB-BRDS-02T.labo-pis.dom).

Dans le 3ème, nous spécifions le type de licence utiliser (soit par device, soit par user).

GPO_3

 

Dans la partie “redirection d’imprimante” :

Nous pouvons gérer la redirection des imprimantes clients dans les sessions remote desktop.

Dans le cas de ma dernière expérience il était nécessaire de la bloquer car nous avions des imprimantes installés sur les serveurs et les redirections prêtaient à confusion.

GPO_4

 

Dans le partie “Device and Resource Redirection” :

Nous allons ici bloquer la redirection audio et vidéo, la redirection de l’enregistrement audio, nous autorisons la redirection du port COM (car elle nous est nécessaire pour notre client dans mon cas).

Nous pouvons aussi gérer le presse-papier et d’autres options.

GPO_2

 

 Dans la partie “Session Time Limit” :

Nous allons mettre une durée de vie maximale aux sessions déconnectées.

 GPO_5

 

Nous avons maintenant une collection de serveurs RDS Windows Server 2012 R2 fonctionnelle.

 

 

 

 

 

Création d’une collection RDS avec équilibrage de charge sous Windows serveur 2012 R2

Bonjour à tous,

Nous allons voir comment mettre en place une collection de serveurs Hôte RDS.

 

Nous allons mettre en place l’infrastructure suivante :

  • 2 serveurs avec le rôle hôte de sessions (LAB-HRDS-03T et LAB-HRDS-04T)

  • 1 serveur avec les rôles “connection Broker” et “Web access” RDS (LAB-BRDS-02T) (vous pouvez bien sûr rajouter plusieurs broker si vous voulez de la redondance)

 

Nous allons voir ici la version graphique la plus simple à mettre en œuvre.

CREATION D’UN GROUPE DE SERVEUR

Il faut en premier créer un groupe de serveurs (via le gestionnaire de serveur) sur le serveur servant à l’installation de l’architecture RDS.

config pool srv 1

config pool srv 2

INSTALLATION DES ROLES RDS SUR LES DIFFERENTS SERVEURS

Nous allons faire un ajout de rôle sur le serveur LAB-BRDS-02T.

Nous allons faire une installation de type Remote Desktop Service

Step RDS 1

Nous allons choisir ensuite un déploiement standard qui permet de configurer une solution RDS avec plusieurs serveurs.

Step RDS 2

Nous avons ici deux options :

  • déploiement de bureau basé sur des VM
  • déploiement de bureau basé sur des sessions

Ici nous allons choisir la seconde option.

Step RDS 3

 

Nous avons ensuite une présentation des 3 rôles de bases d’une architecture RDS (Le licencing sera abordé dans un autre post ultérieurement)

Le service Broker gère la reconnexion des sessions. Cela permet à un utilisateur de retrouvé le bureau du même serveur à chaque reconnexion.

Le service Web Access fournit une page web de connexion qui permet de gérer les éléments disponible pour les utilisateurs.

Le service Host correspond au(x) serveur(s) qui hébergeront les applications et les sessions bureau à distance.

Step RDS 4

 

Il faut ensuite spécifier le serveur qui hébergera le rôle connection broker

Step RDS 5 (broker)

 

Ensuite nous pouvons spécifier le serveur qui hébergera le rôle Web access.

Nous avons le choix du serveur et une case à cocher pour choisir automatiquement le serveur qui hébergera le rôle connection broker

Step RDS 6 (web)

 

Enfin il faut spécifier le(s) serveur(s) qui hébergeront le rôle session host.

Step RDS 7 (host)

 

Nous avons ensuite un récapitulatif de nos choix.

Le(s) serveur(s) hébergeant le rôle session host nécessiteront un redémarrage.

Step RDS 8 (recap   auto reboot)

 

Step RDS 11_1

 

Dans le gestionnaire de serveur du serveur hébergeant le rôle connection broker nous allons créer notre collection de session qui permettra au utilisateurs de se connecter à une adresse unique puis d’être dirigé vers le serveur ayant le moins de sessions.

Step RDS 12_1

 

Step RDS 13

Step RDS 14

 

Step RDS 15

 

Step RDS 16

Step RDS 17

 

Step RDS 18

 

Ensuite nous avons la page récapitulatif de la collection.

Step RDS 19

Nous retrouvons 4 sections:

      1. Propriétés : listes des informations de base sur la collection.
      2. Programme RemoteApp : liste des applications publiés dans la collection (ces dernières peuvents être lancé directement depuis l’interface RD Web)
      3. Serveur Host: liste des serveurs host de la collection. Il est possible de refuser les nouvelles connexions (pour une maintenance par exemple) sur un serveur en faisant un clique droit sur son nom.

                              Final 3

      1. Connexions : liste les connexions actuelles et leur état. ATTENTION : il n’y a pas de rafraichissement automatique de la fenêtre il faut choisir tache => rafraichir ou changer de page dans le gestionnaire de serveur

                              Final 2

 

Nous pouvons désormais accéder au serveur RDweb et nous authentifier avec notre compte AD.

ATTENTION : il faut mettre le nom de domaine même si vous n’en avez qu’un. 

Step RDS 20

 

Nous voyons notre collection il suffit de cliquer dessus pour se connecter.

Step RDS 21

 

Step RDS 22

 

Step RDS 23

 

Je suis en nom de RDP sur mon broker mais la session est bien ouverte sur un serveur host (LAB-HRDS-03T)

Final 1

Configuration du rôle container sur un serveur Nano [ Version Technical Preview 5 2016]

 

Pré requis : Avoir installé le Package Container (.cab) dans le serveur Nano.

Exemple via DISM:

image

 

image

 

Nous allons installer sur notre serveur Nano le module qui nous permettra de manipuler des images de Containers.

Exécuter la commande suivante afin de visualiser le module:

Find-Module ContainerImage (l’exécution de cette commande demande un accès à Internet)

image

 

Exécuter la commande suivante pour Installer le module :

Find-Module ContainerImage |install-module –force  (l’exécution de cette commande demande un accès à Internet)

la commande suivante : Get-module –l cont* nous permet de voir que le module est maintenant installé sur le serveur Nano.

image

 

Nous allons maintenant installer l’image Container NanoServer.

Exécuter la commande suivante :

Find-ContainerImage   (l’exécution de cette commande demande un accès à Internet)

image

en TP5,  depuis un serveur Nano, il n’est pas possible de télécharger un Container image à l’aide de la commande Find-ContainerImage.

Afin de contourner le problème, nous allons télécharger le container image NanoServer depuis un autre serveur en version Windows Server 2016 TP5 Full. Puis nous importerons celui ci sur notre serveur Nano.

(Le module ContainerImage doit bien entendu être installé sur le serveur 2016 FULL)

Depuis le serveur 2016 Full, lancer la commande suivante:

Find-ContainerImage

 

image

Ici, contrairement au serveur Nano, il est possible de voir les containers Image disponible.

Nous allons donc sauvegarder en local le container Image NanoServer, puis le copier sur notre serveur Nano et ensuite l’importer dans la configuration de notre serveur Nano.

 

Sur le serveur 2016 FULL créer un répertoire:

mkdir <répertoire-à-créer>

image

 

Puis lancer la commande suivante :

Find-ContainerImage –Name NanoServer | Save-ContainerImage –Path <répertoire-créer>

 

La téléchargement et la sauvegarde est en cours.

image

 

image

 

La sauvegarde est maintenant effective.

image

 

Copions maintenant l’export de notre Container Image sur notre serveur Nano

image

 

image

 

Nous devons maintenant récupérer le script Install-ContainerHost.ps1 qui va nous permettre d’importer notre container Image Nano et activer les fonctionnalités docker sur notre serveur Nano.

 

Le script peut être trouvé à l’adresse suivante :

https://github.com/Microsoft/Virtualization-Documentation/blob/master/windows-server-container-tools/Install-ContainerHost/Install-ContainerHost.ps1

 

Copier le à la racine du serveur.

image

 

Et lancer la commande suivante :

.\Install-ContainerHost.ps1 –PSDirect –WimPath <Export-de-notre-Conteneur>

La configuration est en cours.

image

 

En lançant maintenant la commande Get-ContainerImage, on peut remarquer que notre serveur Nano détient désormais l’image Containeur NanoServer.

image

 

Docker est également installé.

image

 

Nous pouvons désormais créer des containers sur notre Serveur Nano.

Nagios – Exemple de supervision Hardware Dell avec check_openmanage

Ce plugin très complet est utilisé pour la supervision hardware des serveurs Dell sur la base des information fournis par le composant OMSA (Open Manage Server Administrator) sur les serveurs cibles.

Le fonctionnement du plugin est disponible:

-  via NRPE (Nagios Remote Plugin Executor) où les checks sont effectués en local par un .exe dedié (check_openmanage.exe pour les serveur windows) et renvoyé a Nagios

- via SNMP ou les checks sont effectués a distance

L’utilisation de SNMP a l’avantage de ne pas nécessiter d’exécutable sur la machine cible.

Prérequis: Installation fonctionnelle de Dell OMSA (version 5.3 et supérieure) et service SNMP configuré pour autoriser le serveur Nagios

1/ Récupération des sources avec wget:

cd /usr/src

wget http://folk.uio.no/trondham/software/files/check_openmanage-3.7.12.tar.gz

2/ Décompression de l’archive

tar –xvzf check_openmanage-3.7.12.tar.gz

3/ Copie de check_openmanage dans le repertoire des plugins de nagios et des pages de manuel

cp /usr/src/check_openmanage/check_openmanage /usr/local/nagios/libexec

cp /usr/src/check_openmanage/check_openmanage.8 /usr/share/man/man8

cp /usr/src/check_openmanage/check_openmanage.conf.5 /usr/share/man/man5

 

4/ changement des droits :

chown nagios /usr/local/nagios/libexec/check_openmanage

chgrp nagios /usr/local/nagios/libexec/check_openmanage

chmod 755 /usr/local/nagios/libexec/check_openmanage

 

5/ Test de récupération d’information (NB : ce test de debug (-d) affiche l’ensemble des information et ne doit pas être implémenté en tant que commande dans nagios car l’affichage resultant n’est pas exploitable:

. /check_openmanage –H <ip_adress> –C <snmp_community> –d

Capture_check_dell_om_debug_1

Capture_check_dell_om_debug_2

 

Si cette commande renvoi un tableau avec l’ensemble des informations et des état de la machine cible, le fonctionnement du plugin en snmp est OK, et les variantes d’utilisation de commandes peuvent être implémentées:

Ci-dessous quelques exemples des nombreux états qui peuvent être remontés.:

Capture_check_dell_om_display1

Capture_check_dell_om_display_warn

Capture_check_dell_om_display_temp

 

Se référer au lien suivant pour l’ensemble des options disponibles pour la création de commandes avec ce plugin :

http://folk.uio.no/trondham/software/check_openmanage.html

Skype Entreprise – Icônes et/ou textes manquants sur le client

Contexte

Dans le client Skype Entreprise certains textes et/ou icônes sont manquants, comme lorsque l’on ouvre le panneau de partage dans une fenêtre de conversation.

image

Solution

Après investigation, il s’avère que c’est un fichier DLL qui est responsable de ce bug. Le fichier DLL se trouve dans C:\Programmes\Microsoft Office\Office15\1036\ et se nomme LyncDesktopResources.dll.

La version qui pose problème dans notre cas est 15.0.4699.1000.

image

Récupérez ce fichier DLL depuis un poste qui ne rencontre pas le problème. Ici le fichier récupéré est en version 15.0.4797.1000.

image

Renommez le fichier DLL en .old et copiez le nouveau fichier.

clip_image002

Fermez le client et relancez-le.

Les textes et icones s’affichent alors correctement.

clip_image001

Solution 2 : Dans le cas où vous n’avez pas d’autres postes pour récupérer le fichier DLL, désinstallez complètement la suite Office. Supprimez ensuite le dossier C:\Programmes\Microsoft Office\Office15. Réinstallez la suite Office.

FIM Synchronization Service Partie 3 : Configuration des managements agents AD et SQL

Introduction

La gestion des identités en entreprise est une problématique de plus en plus importante. En effet, des thématiques telles que la mise en place d'un référentiel d'identité unique, le SSO (authentification unique), la gestion du cycle de vie d'un utilisateur (provisioning et deprovisioning, gestion du mot de passe, …) et bien d'autres deviennent essentielles dans des environnements toujours plus complexes et offrant plus de services. Il devient donc primordial d'intégrer des solutions permettant de gérer les identités au sein d'une entreprise. Cela permet notamment :

  • d'automatiser des processus de gestions de comptes (exemple la saisie/modification/suppression d'un compte dans une base RH déclenche les actions nécessaires sur les infrastructures du système d'information)
  • d'éviter les erreurs humaines de manipulations
  • de réduire les tâches d'exploitation
  • de n'avoir qu'un seul point d'entrée pour la saisie d'informations (référentiel RH par exemple, …)

Dans cette série d'articles, nous allons nous intéresser au composant Synchronisation Service de Forefront Identity Manager qui répond à un grand nombre de ces problématiques. L'objectif est de découvrir les possibilités offertes par cet outil. Pour cela, nous allons utiliser le contexte d'une société "MyCompany" souhaitant synchroniser les changements de son référentiel d'identité (une base de données SQL Server) vers l'annuaire Active Directory (synchronisation d'attributs). Aussi, nous verrons comme gérer le cycle de vie des objets tels que les utilisateurs ou les groupes via un mécanisme de Provisioning/Deprovisioning.

Ces articles vont s'articuler de la façon suivante :

Lors de cette troisième partie, nous allons nous attarder sur la configuration d'un Management Agent. Ceux-ci vont nous permettre d'interagir avec les nos différents systèmes. Dans notre cas, il s'agira d'une base de données SQL et d'un annuaire Active Directory. Au cours de cet article, nous verrons la configuration du Management Agent SQL. Nous aborderons les options offertes lors de la configuration d'un Management Agent. Une partie d'entre elles est commune à tous les Management Agent. Seule la synchronisation d'attributs sera traitée. Le provisioning ne sera abordé que lors de la dernière partie de cette série d'articles.

NB : En Août 2015, Microsoft a sorti une nouvelle version de la suite FIM, renommé pour l'occasion MIM (Microsoft Identity Manager) suite à l'abandon de la gamme de produits Forefront. Cette nouvelle mouture apporte quelques fonctionnalités supplémentaires. Cependant le contenu de ces articles restent valables.

Problématiques

Pour établir une synchronisation, il faudra tout d'abord définir les attributs traité par outil. Il n'est en effet pas obligatoire de synchroniser tout les attributs d'un objets. De même, nous verrons que nous ne sommes pas obligés de traiter tous les objets. Enfin, l'une des problématiques principales sera d'établir le lien entre les objets contenus dans l'annuaire Active Directory et ceux dans le référentiel RH (la base de données SQL).

Configuration du management Agent SQL

Pour cette étude de cas, nous allons commencer par la configuration du management agent SQL qui contient les données du référentiel RH à importer dans l'annuaire Active Directory. Pour rappel, les données vont transiter par la métaverse. Chaque objet de cette dernière aura des liens vers l'objet correspondant du connector space Active Directory et du connector space SQL (s'ils existent dans ces connector space). Je vous invite à relire la partie 1 si vous souhaitez revoir les concepts du service de synchronisation FIM.

Lancez la console Synchronisation Service Manager puis rendez-vous dans l'onglet Management Agents. Cliquez sur Create afin d'exécuter l'assistant de création de Management Agent.

image

Sur le premier onglet, vous pouvez définir le nom, une description ainsi que le type de Management Agent parmi une liste. Dans notre cas, nous choisissons le type SQL Server.

msohtmlclipclip_image002

L'onglet suivant permet de définir la localisation des données ainsi que les informations d'authentification pour y accéder.

Ainsi, on peut définir le nom du serveur SQL et de la base de données. Il faut également indiquer le nom de la table ou de la vue SQL qui contient les informations. Attention, il n'est possible de spécifier qu'une seule table ou vue par Management Agent. Si vous souhaitez accéder à plusieurs tables / vues, il faudra créer plusieurs Management Agent ou alors créer une vue contenant l'union des données que vous souhaitez. Il est par ailleurs plus simple d'adapter son modèle de données en ajoutant des vues supplémentaires plutôt qu'en créant des managements agent qui vont alourdir l'exploitation et la maintenabilité du système.

Enfin, on spécifie un compte utilisateur permettant d'accéder aux données (ce dernier peut s'authentifier en SQL ou au travers d'une authentification intégrée Windows). Ce dernier doit pouvoir lire les données de la table spécifiée.

msohtmlclipclip_image003

NB : Les informations optionnelles ne seront pas utilisées dans cet exemple. L'option Delta View permet de spécifier une vue contenant les changements depuis la dernière synchronisation complète. Cela permet d'effectuer des opérations de synchronisation différentielles. Dans le cas contraire et contrairement au Management Agent Active Directory, le Management Agent SQL ne réalisera que des synchronisation complètes. L'option Multivalue Table offre quant à elle la possibilité de gérer des champs pouvant contenir plusieurs valeurs. L'un des exemples les plus courants est l'attribution d'un manager à un collaborateur. En effet, un manager peut posséder plusieurs personnes sous sa responsabilité. Pour approfondir le sujet, je vous invite à lire l'article Technet suivant : https://technet.microsoft.com/en-us/library/cc708679(v=ws.10).aspx

L'assistant va ensuite tenter d'accéder aux données de la base SQL avec les informations fournies. Si l'opération réussie, nous obtenons un listing des différentes colonnes. On peut ensuite définir l'ancre via le bouton Set Anchor. En général, il s'agira de la colonne représentant l'ID car celle-ci sera unique au sein de la table. Enfin, il est possible d'indiquer un type. Ce dernier n'a pas de lien avec le type utilisé dans la metaverse. Il s'agit d'une chaîne de caractère.

msohtmlclipclip_image004

msohtmlclipclip_image005

L'onglet Configure Connector Filter permet de filtrer des objets en fonctions d'un critère comme la valeur d'un attribut. On peut imaginer le cas où on ne souhaite pas synchroniser les collaborateurs ayant le statut de travailleur détaché. Attention, les objets satisfaisants ces filtres sont exclues de la synchronisation.

msohtmlclipclip_image006

Il est ensuite possible de configurer les règles de jointures (Join Rules) et de projection (voir partie 1). Pour rappel, les premières permettent de créer le lien entre un objet de la metaverse existant et celui du connector space. Pour ce faire on définit le type d'objets correspondant (il est possible d'indiquer la valeur Any si l'on souhaite chercher sur toute la metaverse), ainsi que l'attribut de la metaverse et du connector space qui doivent être identiques pour réaliser la jointure. Dans notre cas, j'ai réalisé la jointure sur le login utilisateur (samAccountName dans la base de données et accountName dans la metaverse).

msohtmlclipclip_image007

msohtmlclipclip_image008

Si plusieurs objets de la metaverse correspondent, vous rencontrerez alors des erreurs à moins d'avoir défini une règle de résolution qui nécessite un développement spécifique en C# ou en VB.Net. Il est important de définir la jointure sur des attributs uniques. Si vous souhaitez établir des jointures en vous basant sur plusieurs attributs, il faudra aussi écrire la règle en C# (ou VB.Net) au travers des règles avancées. Celles-ci seront détaillées plus précisément lors de la partie 6. Chaque Management Agent doit posséder au moins une règle de jointure.

NB : Plusieurs règles de jointures peuvent exister à la fois. Cependant, dès qu'une règle est satisfaite, une jointure est réalisée et les suivantes ne sont pas évaluées. Il est donc important de faire attention à l'ordre des règles (l'ordre de traitement se faisant par ordre croissant).

Concernant les règles de projection, il ne peut y en avoir qu'une par Management Agent. Il convient simplement de définir le type d'objet qui sera créé dans la metaverse si aucune règle de jointure n'a été satisfaite. Contrairement aux règles de jointure, il n'est pas obligatoire d'avoir une règle de projection par Management Agent. Cette dernière est en effet optionnelle.

msohtmlclipclip_image009

La section Configure Attribute Flow configure le flux d'attributs entre l'objet dans le connector space (qui est une représentation de l'objet provenant du système connecté) et son équivalent dans la metaverse. Pour chaque information à synchroniser, on définit le nom de l'attribut source et de l'attribut cible ainsi que le sens du flux (Flow Direction) :

  • Import : si la valeur de l'attribut est copiée de la base de données vers la metaverse
  • Export : si la valeur de l'attribut est copiée de la metaverse vers la base de données (dans notre cas, il pourrait s'agir d'une valeur de l'annuaire Active Directory à copier vers la base de données)

Le champ mapping type permet de définir des règles directes s'il convient simplement de transposer l'attribut ou avancés. Le type Advanced permet de spécifier des règles personnalisées (via du développement C# ou VB.Net), une constante (une valeur toujours identique pour tous les objets) ou une référence de type distinguishedName (elle permet AAA).

msohtmlclipclip_image010

Conformément à notre exemple, j'ai choisi de synchroniser sans transformation le nom, le prénom, le samaccountname, le status et le service d'appartenance de chaque collaborateur.

NB : Nous verrons dans un prochain article qu'il est possible de transformer des attributs ou d'en utiliser plusieurs pour définir une valeur cible au travers du mapping de type avancé.

L'avant dernière section (Configure Deprovisioning) définit les règles de suppression des objets d'un connector space lorsque le lien avec l'objet dans la métaverse n'existe plus (par exemple : lorsque l'objet est supprimé de la metaverse). Il existe quatre options :

  • Make them disconnector : L'objet est marqué comme déconnecté. Il peut cependant être reconnecté ou recréé dans la metaverse lors de la prochaine synchronisation. Il s'agit du choix par défaut
  • Make them explicit disconnectors : L'objet dans le connector space est déconnecté. Contrairement à la première option, il ne peut être reconnecté ou recréé qu'explicitement (par exemple via une action manuelle au travers de l'onglet Joiner que nous verrons dans la partie 5).
  • Stage a delete on the objet for the next export run : Cette option indique que l'objet sera supprimé du système connecté lors de la prochaine opération d'export. Cette opération est donc destructrice.
  • Determine with a rules extension : Il s'agit d'une règle développée en C# ou VB.Net qui déterminera lequel des trois états précédemment expliqués sera appliqué.

De plus, lorsque l'objet est supprimé du système (la base de données), il est aussi supprimé du connector space et déconnecté de la metaverse. Le comportement par défaut dans cette situation est de supprimer tous les attributs peuplés par le Managament Agent. L'option Do not recall attributes contributed by objects from this management agent when disconnected permet d'indiquer que les attributs fournis par un système ne seront pas supprimés de la metaverse lorsqu'il sera déconnecté. Dans notre exemple, cela pourrait être utile dans le cas où nous souhaiterions conserver le compte Active Directory et tous ses attributs (y compris ceux fournis par le référentiel RH) alors même que le compte a été supprimé du référentiel RH.

msohtmlclipclip_image011

Enfin, la dernière étape de l'assistant ne serait pas utilisée dans cet article. Celle-ci permet d'indiquer le nom d'une DLL. Cette dernière contient toutes les règles personnalisées (de jointure, de flux attributs, etc) que nous aurions pu ajouter au cours de l'assistant (Ici, la case est grisée car nous n'en avons pas configuré).

msohtmlclipclip_image012

Lors du prochain article, j’aborderai la configuration du management agent Active Directory ainsi que les profils d’exécution permettant d’exécuter les tâches de synchronisation.

SCOM – Management Pack Nutanix

 

Comtrade Software, a l’origine du management pack pour Citrix, a mis en ligne le management pack pour les environnement Nutanix.

Nutanix propose une solution originale de gestion des infrastructures virtualisées VMware, HyperV et KVM,  basé sur la convergence du stockage et du calcul au sein d’appliance maison clusterisées.

Le management pack répond aux “bonnes pratiques” scom au travers des fonctionnalités suivantes:

- Supervision des clusters Nutanix, de la protection des données, du stockage et des machines virtuelles.

- Decouverte automatique des environnement Citrix XenApp/XenDesktop éxécutés sur les clusters Nutanix et des groupes de VMs liées.

 

http://www.comtradesoftware.com/nutanix-scom-mp/

FIM Synchronization Service Partie 2 : Installation

Introduction

La gestion des identités en entreprise est une problématique de plus en plus importante. En effet, des thématiques telles que la mise en place d'un référentiel d'identité unique, le SSO (authentification unique), la gestion du cycle de vie d'un utilisateur (provisioning et deprovisioning, gestion du mot de passe, …) et bien d'autres deviennent essentielles dans des environnements toujours plus complexes et offrant plus de services. Il devient donc primordial d'intégrer des solutions permettant de gérer les identités au sein d'une entreprise. Cela permet notamment :

  • d'automatiser des processus de gestions de comptes (exemple la saisie/modification/suppression d'un compte dans une base RH déclenche les actions nécessaires sur les infrastructures du système d'information)
  • d'éviter les erreurs humaines de manipulations
  • de réduire les tâches d'exploitation
  • de n'avoir qu'un seul point d'entrée pour la saisie d'informations (référentiel RH par exemple, …)

Dans cette série d'articles, nous allons nous intéresser au composant Synchronisation Service de Forefront Identity Manager qui répond à un grand nombre de ces problématiques. L'objectif est de découvrir les possibilités offertes par cet outil. Pour cela, nous allons utiliser le contexte d'une société "MyCompany" souhaitant synchroniser les changements de son référentiel d'identité (une base de données SQL Server) vers l'annuaire Active Directory (synchronisation d'attributs). Aussi, nous verrons comme gérer le cycle de vie des objets tels que les utilisateurs ou les groupes via un mécanisme de Provisioning/Deprovisioning.

Ces articles vont s'articuler de la façon suivante :

Cette seconde partie s'intéresse à l'installation du rôle Synchronization Service de FIM. Les prérequis du produit ainsi qu'une installation étape par étape seront détaillées.

NB : En Août 2015, Microsoft a sorti une nouvelle version de la suite FIM, renommé pour l'occasion MIM (Microsoft Identity Manager) suite à l'abandon de la gamme de produits Forefront. Cette nouvelle mouture apporte quelques fonctionnalités supplémentaires. Cependant le contenu de ces articles restent valables.

Architecture

Le schéma ci-dessous présente un rappel de l’architecture générale d'un environnement FIM 2010 R2 SP1 type pour le service de synchronisation :

Schema

Ce dernier est composé d'une base de données SQL Server qui peut être située sur le même serveur que FIM ou sur un serveur différent. Ce dernier communique sur le port TCP 1433. Attention, il n'est pas possible d'utiliser la version Express de SQL Server. Il faut donc disposer d'une licence pour le serveur de base de données.

Haute disponibilité

Il n'existe pas de haute disponibilité pour le service de synchronisation de FIM. Microsoft recommande d'avoir un second serveur passif. Ce dernier possèdera la même configuration et se connectera sur la même base de données mais n'exécutera aucune synchronisation. Ainsi, si le serveur principal connaît une défaillance, il suffit d'activer la synchronisation sur le second serveur. Dans le cadre de ce type de service, il est tolérable d'avoir une coupure de service qui sera rapidement corrigée à la prochaine synchronisation. De plus, le service de synchronisation ne s'exécute pas constamment mais à intervalle régulier. Une coupure de service peut donc être invisible si les serveurs sont supervisés et que l'activation du second serveur se fait rapidement.

Prérequis

Système d'exploitation

FIM 2010 R2 SP1 peut être installé sur Windows 2012. Pour l'installer sur Windows 2012 R2, il faut se tourner vers MIM 2015 (Microsoft Identity Manager).

Compte de service

FIM utilise à compte de service pour s’exécuter. Il est donc nécessaire d’en créer un pour tout nouvel environnement.

Dans le cadre du respect des bonnes pratiques de déploiement de FIM mais aussi afin de respecter des préconisations de sécurité, un paramétrage du compte de service FIM est à effectuer. Ce dernier permet d'empêcher un utilisateur d'utiliser ce compte pour se connecter au serveur.

Cette opération doit se réaliser dans la console Local Security Policy (secpol.msc) du serveur FIM. Il faut se rendre dans « Local Policies » puis « User Rights Assignment » et renseigner le nom du compte de service FIM sur les 3 éléments ci-dessous :

  • Deny access to this computer from the network
  • Deny log on as batch job
  • Deny log on locally

msohtmlclipclip_image001

Groupes de sécurité

Par défaut, FIM 2010 R2 utilise des groupes d’administration locaux. Pour utiliser des groupes de sécurité du domaine, il est nécessaire de les créer avant l'installation (de type domain local afin de donner des accès à des utilisateurs répartis sur plusieurs domaines Active Directory). Ils sont au nombre de cinq et correspondent aux groupes locaux suivants :

  • FIMSyncAdmins
  • FIMSyncBrowse
  • FIMSyncJoiners
  • FIMSyncOperators
  • FIMSyncPasswordSet

En dehors du groupe FIMSyncAdmins qui donne des droits d'accès complets au serveur de synchronisation, nous reviendrons sur les autorisations données à chacun de ses groupes dans la partie 5 de cette série d'article.

L'implémentation des groupes de sécurité de domaine est recommandé si on possède plusieurs serveurs FIM (haute disponibilité avec serveur passif par exemple).

Logiciels

Le framework .Net 3.5 (disponible dans les sources d'installation de Windows Server depuis la version 2012) ainsi que SQL Native Client 2012 doivent être installés sur le serveur de Synchronisation avant de commencer l'installation.

Installation

Lorsque les prérequis sont remplis, on peut procéder à l'installation. Sur le serveur de synchronisation, il faut ouvrir une session avec un compte Administrateur Local du serveur. Ce compte doit aussi permettre de créer la base de données sur le serveur SQL qui contiendra la base de données. Pour ce faire, on peut donner temporairement les droits sysadmin au compte réalisant l'installation sur la base de données.

Il faut ensuite se rendre dans le dossier Synchronization Service et exécuter le fichier setup.exe.

Setup

Sur le premier écran, cliquez sur Next.

Install 01

Le second onglet permet simplement de valider la licence en cochant la case I accept the license terms in the License Agreement.

Install 02

Il est ensuite possible de définir le chemin d'installation via le bouton Change.

Install 03

Puis, on définit le serveur SQL qui sera utilisé. Il peut être local (sur le même serveur) ou distant. On peut aussi spécifier s'il s'agit d'une instance SQL par défaut ou nommée.

Install 04

L'onglet suivant permet d'indiquer le compte de service utilisé par le service de synchronisation FIM. Il s'agit du compte créée lors des prérequis.

Install 05

Les groupes de sécurités doivent ensuite être défini. S'il s'agit de groupe Active Directory, il est nécessaire de changer les groupes inscrit par défaut dont voici la liste de correspondance :

  • Administrator : FIMSyncAdmins
  • Operator : FIMSyncOperators
  • Joiner : FIMSyncJoiners
  • Connector browse : FIMSyncBrowse
  • WMI Password management : FIMSyncPasswordSet

Install 06

On peut également créer automatiquement les règles dans le pare feu Windows permettant de communiquer en RPC avec le service de synchronisation. Cette option ne sera pas utilisée au cours de cette série d'article.

Install 07

L'installation commence après avoir cliqué sur le bouton Install.

Install 08

Si vous n'avez pas suivi les recommandations de sécurisation du compte de service énoncées dans les prérequis alors vous obtiendrez le message suivant.

Install 09

Enfin, lorsque l'installation est terminée, un message d'avertissement indique que la clé de chiffrement va être sauvegardé. Il faut alors définir un nom de fichier et un emplacement. Cette dernière est utile si vous devez restaurer la configuration. En effet, sans cette clé, les données de configuration ne peuvent être lues.

Install 10

L'installation se termine. Nous allons pouvoir passer à la configurations des Managements Agents dans le prochain article.

FIM Synchronization Service Partie 1 : Introduction, concepts et licensing

Introduction

La gestion des identités en entreprise est une problématique de plus en plus importante. En effet, des thématiques telles que la mise en place d'un référentiel d'identité unique, le SSO (authentification unique), la gestion du cycle de vie d'un utilisateur (provisioning et deprovisioning, gestion du mot de passe, …) et bien d'autres deviennent essentielles dans des environnements toujours plus complexes et offrant plus de services. Il devient donc primordial d'intégrer des solutions permettant de gérer les identités au sein d'une entreprise. Cela permet notamment :

  • d'automatiser des processus de gestion de compte (exemple la saisie/modification/suppression d'un compte dans une base RH déclenche les actions nécessaires sur les infrastructures du système d'information)
  • d'éviter les erreurs humaines de manipulations
  • de réduire les tâches d'exploitation
  • de n'avoir qu'un seul point d'entrée pour la saisie d'informations (référentiel RH par exemple, …)

Forefront Identity Manager (FIM) est une suite de produits répondant à un grand nombre de ces problématiques. Voici une liste des différents composants de FIM et de leur utilité :

  • FIM Synchronization Service : Il s'agit du service le plus connu, car il est le plus utilisé et forme notamment la base des outils comme Dirsync/Azure AD Connect (pour la synchronisation AD On premise / Office 365). Il représente le moteur de synchronisation pouvant interagir entre différents référentiels. Il permet de répercuter les changements d'un référentiel à un autre.
  • FIM Service : Ce composant ajoute une surcouche offrant la possibilité de définir une politique de gestion des identités avec un système de Workflow. Par exemple, il est possible de gérer les membres d'un groupe Active Directory. Cette action est aussi réalisable directement via FIM Sync. Cependant, elle nécessite une implémentation qui peut être plus complexe via ce dernier. En effet FIM Service et FIM Portal donne la possibilité d'utiliser une syntaxe dite déclarative, qui est plus simple dans un environnement où il n'y a pas de développeur.
  • FIM Portal : Il s'agit d'une interface web d'administration pour les autres composants de FIM. Ainsi, il devient possible de configurer simplement FIM Service.
  • Password Change Notification Service : Associé à FIM Portal, il permet d'implémenter un portail de réinitialisation de mot de passe "self service".
  • FIM Certificate Management : Il s'agit d'un portail de gestion des certificats sur carte à puce ("smartcard"). Ce dernier n'est pas intégré à FIM Portal. Il devient ainsi possible de gérer le cycle de vie de ce type de certificat via des Workflow spécifiques tels que l'enrôlement des cartes à puces. Ce composant nécessite l'installation d’un module sur l'autorité de certification émettrice.
  • FIM Reporting : Cet outil permet de générer des rapports. Par exemple, on peut vouloir obtenir un rapport sur les changements de membre au sein d'un groupe ou encore un historique des workflows qui ont été exécutés par FIM Service.

Dans cette série d'articles, nous allons nous intéresser au composant Synchronisation Service. Si certains composants fonctionnent ensemble, ce n'est pas le cas de celui-ci qui peut être installé seul. L'objectif est de découvrir les possibilités offertes par cet outil. Pour cela, nous allons utiliser le contexte d'une société "MyCompany" souhaitant synchroniser les changements de son référentiel d'identité (une base de données SQL Server) vers l'annuaire Active Directory (synchronisation d'attributs). Aussi, nous verrons comme gérer le cycle de vie des objets tels que les utilisateurs ou les groupes via un mécanisme de Provisioning/Deprovisioning.

Ces articles vont s'articuler de la façon suivante :

NB : En Août 2015, Microsoft a sorti une nouvelle version de la suite FIM, renommée pour l'occasion MIM (Microsoft Identity Manager) suite à l'abandon de la gamme de produits Forefront. Cette nouvelle mouture apporte quelques fonctionnalités supplémentaires. Cependant le contenu de ces articles restent valables.

Licensing

Le licensing de FIM a évolué depuis Avril 2015. Désormais, il n'est plus nécessaire d'avoir une licence serveur. Celle-ci est incluse avec la licence de Windows Server (Standard et Datacenter). Cependant le système de CAL existe toujours et Microsoft a d'ailleurs publié un schéma récapitulatif à ce sujet. En effet, tous les services ne nécessitent pas forcément d'avoir une CAL. Ainsi, on remarque que tous les services à l'exception de celui de synchronisation nécessite une CAL pour chaque utilisateur géré par le service. Toutes les opérations réalisées durant cette série d'article ne nécessiteront donc pas de CAL.

msohtmlclipclip_image001

NB : La licence SQL Server n'est pas inclue et doit donc être prévue (SQL Express n'est pas compatible avec FIM Synchronization Service).

Concepts

Lors de ce chapitre, J’aborderai les différents concepts que nous pouvons rencontrés avec le service de synchronisation FIM. Ces derniers doivent être compris dès que l'on souhaite mettre en place une synchronisation entre différents référentiels d'identité. Grâce à ceux-ci, nous allons pouvoir savoie à chaque instant où la donnée est stockée. En effet, FIM Synchronization Service repose sur un schéma plus complexe qu'une simple base de données.

Metaverse (MV)

Il s'agit du cœur de FIM, il centralise la totalité des informations de tous les objets gérés par l'outil. Il peut s'agir d'utilisateur, de groupe, de contact, etc. Il est même possible de créer ses propres objets. La metaverse n'existe qu'une fois par serveur FIM. Cette dernière peut contenir différents types d'attributs :

  • Chaîne de caractère
  • Nombre
  • Booléen
  • Reference (correspond à un lien vers un autre objet)
  • Binaire

En dehors du type booléen, tous les champs peuvent être de type "Multi-valued", c’est-à-dire qu'ils peuvent posséder une liste de valeur au lieu d'une valeur unique. Aussi, les champs de type chaîne de caractères, binaire et nombre peuvent être indexés, ce qui permet d'effectuer des recherches dessus. Cette option pourra être utile dans le cas de règles développées en C# ou en VB.Net lorsque celles-ci nécessiteront de trouver un objet (ou une liste d'objets) précis dans la metaverse.

NB : Les types indexés possèdent certaines propriétés supplémentaires. Par exemple, une chaîne de caractère indexée est limitée à une longueur de 448 caractères (illimité dans le cas contraire).

Connector Space (CS)

C'est une entité logique représentant tous les objets d'un système connecté à FIM. Ce dernier peut être une base de données, un annuaire LDAP, un fichier à plat, ... Ces objets interagissent avec le système connecté ou avec la metaverse au travers d'actions que nous verrons plus loin. Attention, il faut bien noter qu'un connector space ne contient qu'une représentation de l'objet pour un système donné. Si vous modifiez cet objet, cela n'aura pas d'impact sur le système connecté ou sur la metaverse tant que cette modification n'aura pas été poussé sur l'un de ces éléments. Il existe un connector space par système connecté à FIM.

Management Agent (MA)

Il s'agit de l'ensemble de règle déterminant les mécanismes de synchronisation entre le système de données, le connector space et la metaverse. Il interagit avec ces trois systèmes.

Connector

Un Connector est le nom donné à un objet d'un connector space d'un système connecté à FIM qui est lui-même connecté à un objet dans la metaverse. S'il ne l'est pas il s'agit d'un disconnector. Ces derniers peuvent être explicites à cause d'une action voulue dans le Management Agent et ne peuvent être connectés à la metaverse sans l'outil Joiner que nous verrons dans la partie 4 (celui-ci permet de joindre manuellement un objet d'un connector space à la metaverse). On parle alors de connector explicite si la jointure entre un connector space et la metaverse a eu lieu avec cet outil. Un disconnector peut être aussi de type filtered si un filtre dans la configuration du Management Agent empêche de connecter l'objet du connector space à la metaverse. Ce comportement peut être modifié facilement en changeant le filtre. A noter qu'un connector explicite ne peut devenir un filtered disconnector via un filtre. Ces derniers ne s'appliquent pas à ce type d'objet.

Join

C'est l'opération consistant à joindre un objet d'un Connector Space à un objet de la metaverse. Attention, ceux-ci doivent exister tous les deux. Elle a pour effet de créer un connector.

Projection

Lorsqu'un objet dans un connector space n'existe pas dans la metaverse, il peut être projeter. Cette opération correspond à la création d'un objet dans la metaverse. Cela permet aussi de créer un connector.

Import

Cette opération importe les données depuis un système connecté vers le connector space associé.

Export

Il s'agit d'exporter les données vers un système connecté depuis le connector space associé.

Synchronisation

C'est l'étape qui permet d'appliquer tout changement entre la metaverse et un connector space. Celle-ci est bidirectionnelle. Cette opération suit généralement un import et précède un export.

Provisioning

Le provisioning est la notion définissant l'action qui crée un nouvel objet dans un connector space lorsqu'il n'existe pas. Lors de celle-ci, un nouveau connecteur va être créé avec un objet de la metaverse. Ce nouvel objet ne sera visible dans le système connecté qu'après une opération d'export.

Delta

Les opérations d'import, d'export et de synchronisation peuvent être complètes ou incrémentielles. Ce second type est aussi nommé "delta" et n'est pas disponible pour tous les types de système. Il est parfois nécessaire d'implémenter quelques modifications sur le système connecté pour traiter ce type d'opération (exemple : un référentiel SQL nécessite une table des changements qui ont eu lieu depuis la dernière synchronisation).

Schéma fonctionnel

Enfin, voici un schéma avec deux systèmes connectés reprenant le cas pratique qui sera développé au cours de cette série d'article (un annuaire Active Directory et une base de données SQL Server) montrant les interactions entre les différents entités :

msohtmlclipclip_image002