Hadoop / Big Data en entreprise
L‘écosystème Big Data a vu le jour pour faire face à la quantité massive de données générées par l‘activité web/en ligne. Une fois que les principaux composants de l‘écosystème sont arrivés à maturité, il n‘a pas fallu beaucoup de temps aux entreprises pour utiliser ces nouveaux outils et technologies dans leurs cas d‘utilisation. Aujourd‘hui, les entreprises déversent toutes sortes de données structurées, semi-structurées et non structurées dans leurs systèmes d‘information. lacs de données. Mais le principal défi auquel elles sont confrontées est de savoir comment donner un sens aux données massives de leur lac de données. En utilisant la solution SnapLogic Elastic iPaaS (Integration plateforme as a service), qui est basé sur le paradigme de la programmation visuelle, les clients peuvent facilement résoudre ce problème. Il fournit un puissant concepteur basé sur le web et des centaines de connecteurs préconstruits (Claquettes), que les clients peuvent faire glisser et déposer pour construire leurs pipelines de données afin de nettoyer et de remodeler les données dans le format requis, et ils peuvent le faire à l‘échelle du big data et dans un environnement big data.
Sécurité
L‘utilisation d‘Hadoop dans les entreprises pose un autre problème de taille : la sécurité. La plupart des organisations traitent ce problème en utilisant Kerberos, qui est une norme de facto pour la mise en œuvre de la sécurité dans les systèmes distribués. Kerberos assure la sécurité en authentifiant et en autorisant les utilisateurs. Grâce à la fonction de cryptage de HDFS, les clients peuvent sécuriser leurs données en mouvement (fil) ainsi que leurs données au repos (disque).
Kerberos
Kerberos is a widely used network authentication protocol in a distributed computing environment developed originally by MIT. Main components of this system involve KDC, which consists of an Authentication server and a Ticket granting server. <link to resources at bottom of document>
Pourquoi Kerberos ?
- Il repose sur une cryptographie à clé symétrique forte.
- Ne stocke pas le mot de passe localement et ne le transmet pas sur le réseau. Il utilise plutôt des tickets.
- Utilise un tiers de confiance (KDC) pour conduire l‘authentification.
- Léger. Les tickets sont valables jusqu‘à l‘heure d‘expiration et l‘interaction avec le KDC est donc minimale.
- Session orientée.
- Le KDC peut expirer les jetons, ce qui facilite l‘administration.
- Il s‘agit d‘une configuration d‘authentification unique largement mise en œuvre.
- Largement utilisé dans le monde Hadoop où il sécurise la communication entre les entités de service.
Comment utiliser Kerberos et l‘usurpation d‘identité avec SnapLogic ?
SnapLogic supporte Kerberos et User Impersonation dès le départ (avec seulement quelques changements dans les fichiers de configuration de votre cluster et de SnapLogic).
Nous supposons que le client a une connaissance des terminologies de base de SnapLogic et de l‘installation de Kerberos dans son cluster Hadoop avant de continuer.
- Créez un principal dans le KDC et créez un fichier keytab correspondant à ce principal. Disons que le nom du principal créé est "snaplogic" et que le fichier keytab correspondant à ce principe est "snaplogic.keytab"
- Copiez ce keytab à un endroit bien connu sur tous les nœuds de la grappe où les nœuds JCC seront exécutés.
- Créez des utilisateurs sur tous les nœuds du cluster où les pipelines seront exécutés. Vous pouvez également configurer LDAP pour y parvenir.
Changements apportés au cluster pour activer l‘usurpation d‘identité
Cette fonctionnalité permet à l‘utilisateur connecté d‘exécuter des pipelines (de tous types) dans un cluster Hadoop en tant qu‘utilisateur proxy préconfiguré.
Les éléments suivants doivent être ajoutés à la soupape de sécurité du cluster core-site.xml. (remplacez snaplogic par votre nom de principal)
<property>
<name>hadoop.proxyuser.snaplogic.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.snaplogic.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.snaplogic.users</name>
<value>*</value>
</property>
Changements dans les fichiers de configuration de SnapLogic (Kerberos + User Impersonation)
Le texte suivant doit être ajouté au fichier plex.properties. La valeur par défaut de cet attribut est false.
jcc.proxy_user_enabled=true
snapreduce.keytab=/snaplogic.keytab
snapreduce.principal=snaplogic/[email protected]
Démarrage
- Démarrer l‘authentification avec le KDC en utilisant kinit avec votre utilisateur SnapLogic et keytab.
bash. # kinit snaplogic/[email protected] -k -t /snaplogic.keytab
- Démarrer l‘Hadooplex.
bash. # yarn jar yplex-4.0-snapreduce.jar -war jcc-4.0-mrc236-snapreduce.war -driver driver-mrc236.jar -master_conf master.properties -plex_conf plex.properties -keys keys.properties
Lancez l‘exécution du pipeline via le Designer. L‘utilisateur connecté ne pourra accéder qu‘aux fichiers auxquels il est autorisé à accéder. Tous les nouveaux fichiers créés appartiendront à l‘utilisateur connecté.
Ressources :
Système d‘authentification Kerberos :
https://www.youtube.com/watch?v=KD2Q-2ToloE
http://www.roguelynn.com/words/explain-like-im-5-kerberos/
http://web.mit.edu/kerberos/krb5-latest/doc/
Configuration de Kerberos et de l‘usurpation d‘identité pour snaplogic :
Veuillez consulter doc.snaplogic.com pour obtenir la documentation la plus récente sur le sujet.
N‘hésitez pas à consulter nos autres articles de blog sur l‘intégration des big data SnapLogic sur l‘intégration des big data. SnapLogic recherche également des développeurs Big Data seniors ; postulez dès aujourd‘hui sur notre site Web à l‘adresse www.snaplogic.com/jobs.