Hive Hbase Security HDFS utilisant Knox et Ranger

Apache HDFS (Hadoop Distributed File System) est un système de fichiers conçu pour stocker des fichiers volumineux, bloc par bloc, répartis entre les nœuds d'un cluster informatique.

Apache Hive est un système de gestion de base de données basé sur la plateforme Hadoop.

Apache HBase est un projet de SGBD NoSQL open source de l'écosystème Hadoop.

Apache KNOX, une API REST et une passerelle d'application pour les composants de l'écosystème Apache Hadoop, fournit un point d'accès unique pour toutes les connexions HTTP aux clusters Apache Hadoop et un système d'authentification unique (SSO) pour les services et l'interface utilisateur des composants Apache Hadoop.

Apache Ranger est un framework pour fournir, surveiller et gérer la sécurité des données de bout en bout sur la plate-forme Hadoop







Traduction d'un article de 2015 par Securing hdfs hive hbase knox ranger . Je n'ai pas pu trouver un meilleur article plus récent.







introduction







Apache Ranger fournit une approche globale de la sécurisation d'un cluster Hadoop. Il fournit une administration centralisée des politiques de sécurité pour les principales exigences de sécurité de l'entreprise, notamment l'autorisation, la comptabilité et la protection des données.







Apache Ranger étend les fonctionnalités de base pour une utilisation coordonnée entre les charges de travail Hadoop, y compris le batch, le SQL interactif et Hadoop en temps réel.







Dans ce didacticiel, nous examinerons l'utilisation d'Apache Ranger pour HDP 2.3 pour sécuriser votre environnement Hadoop. Nous couvrirons les sujets suivants:







  1. Prend en charge l'autorisation et l'audit Knox







  2. Stratégies de ligne de commande dans Hive







  3. Stratégies de ligne de commande dans HBase







  4. API REST pour Policy Manager









Conditions préalables







— Hortonworks Sandbox.







Hortonworks Sandbox, SSH:













Knox LDAP







Ambari http://localhost:8080/ ( — admin admin ) Knox .













Service Actions



Start



.













Knox :













Service Actions



Knox



Start Demo LDAP



.













- LDAP :













Knox







, Ranger http://localhost:6080/ -. — admin



, — admin



.













,







sudo service ranger-admin start
      
      











sandbox_knox Knox Ranger Administration Portal













, .













Knox, global knox allow



.













Sandbox for Guest



Ranger Admin .













Sandbox for Guest















SSHd ( Sandbox) CURL WebHDFS.







curl -k -u admin:admin-password 'https://127.0.0.1:8443/gateway/knox_sample/webhdfs/v1?op=LISTSTATUS'
      
      











Ranger Policy Manager → Audit screen , () Knox.













CURL, guest



.







curl -k -u guest:guest-password 'https://127.0.0.1:8443/gateway/knox_sample/webhdfs/v1?op=LISTSTATUS'
      
      











{"FileStatuses":{"FileStatus":[{"accessTime":0,"blockSize":0,"childrenNum":0,"fileId":16393,"group":"hadoop","length":0,"modificationTime":1439987528048,"owner":"yarn","pathSuffix":"app-logs","permission":"777","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":4,"fileId":16389,"group":"hdfs","length":0,"modificationTime":1439987809562,"owner":"hdfs","pathSuffix":"apps","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":1,"fileId":17000,"group":"hdfs","length":0,"modificationTime":1439989173392,"owner":"hdfs","pathSuffix":"demo","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":1,"fileId":16398,"group":"hdfs","length":0,"modificationTime":1439987529660,"owner":"hdfs","pathSuffix":"hdp","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":1,"fileId":16394,"group":"hdfs","length":0,"modificationTime":1439987528532,"owner":"mapred","pathSuffix":"mapred","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":2,"fileId":16396,"group":"hadoop","length":0,"modificationTime":1439987538099,"owner":"mapred","pathSuffix":"mr-history","permission":"777","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":1,"fileId":16954,"group":"hdfs","length":0,"modificationTime":1439988741413,"owner":"hdfs","pathSuffix":"ranger","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":3,"fileId":16386,"group":"hdfs","length":0,"modificationTime":1440165443820,"owner":"hdfs","pathSuffix":"tmp","permission":"777","replication":0,"storagePolicy":0,"type":"DIRECTORY"},{"accessTime":0,"blockSize":0,"childrenNum":8,"fileId":16387,"group":"hdfs","length":0,"modificationTime":1439988397561,"owner":"hdfs","pathSuffix":"user","permission":"755","replication":0,"storagePolicy":0,"type":"DIRECTORY"}]}}
      
      





Ranger Policy Manager → Audit screen.













Ranger Knox , Knox, , Ranger.







Knox Ranger, (WebHDFS, WebHCAT . .) , / IP-













grant/revoke Hive







Ranger grant



/revoke



, Hue for Hive



. Ranger , , Hive .













Hive Ranger.













Grant



, Hive



. beeline,







beeline -u "jdbc:hive2://sandbox.hortonworks.com:10000/default" -n it1 -p it1-d org.apache.hive.jdbc.HiveDriver
      
      











GRANT









grant select, update on table xademo.customer_details to user network1;
      
      





:













Ranger Administration Portal → Audit













, it1



.







Ranger it1



. Ranger , .













beeline , .







GRANT select, update on table xademo.customer_details to user network1;
      
      











, , / Ranger Admin Portal → Policy Manager. , , .













?







Ranger GRANT/REVOKE



Hive



. Hive



(Hiveserver2



).







GRANT



REVOKE



.







grant/revoke HBase







Ranger grant/revoke



, Hbase



. Hive, Ranger Hbase .







, , HBase Ambari — http://127.0.0.1:8080 ( admin



).







, Service Actions



.













Grant Hbase.







HBase Global Allow



Ranger Administration Portal — .













HBase it1







su - it1
[it1@sandbox ~]$ hbase shell
      
      











grant, mktg1



, iemployee



.







hbase(main):001:0> grant 'mktg1', 'RWC', 'iemployee'
      
      





, :













Ranger Administration Portal→ Policy Manager , admin



it1



.













HBase.







hbase(main):006:0> grant 'mktg1', 'RWC', 'iemployee'

0 row(s) in 0.8670 seconds
      
      











HBase Ranger Policy Administration. iemployee



, .













, Ranger. HBase







hbase(main):007:0> revoke 'mktg1', 'iemployee'

0 row(s) in 0.4330 seconds
      
      





,













?







Ranger GRANT/REVOKE



Hbase . .







GRANT



REVOKE .







REST APIs







Ranger REST API. API , , .







REST API







CURL. API hadoopdev-testing-policy2



HDFS sandbox_hdfs









curl -i --header "Accept:application/json" -H "Content-Type: application/json" --user admin:admin -X POST http://127.0.0.1:6080/service/public/api/policy -d '{ "policyName":"hadoopdev-testing-policy2","resourceName":"/demo/data/test","description":"Testing policy for /demo/data/test","repositoryName":"sandbox_hdfs","repositoryType":"HDFS","permMapList":[{"userList":["mktg1"],"permList":["Read"]},{"groupList":["IT"],"permList":["Read"]}],"isEnabled":true,"isRecursive":true,"isAuditEnabled":true,"version":"0.1.0","replacePerm":false}'
      
      











hadoopdev-testing-policy2















.













URL- http://127.0.0.1:6080/index.html#!/hdfs/1/policy/26







.







CURL, API.







curl -i --user admin:admin -X GET http://127.0.0.1:6080/service/public/api/policy/26
      
      





?







REST API. API , REST API Ranger.







Espérons que lors de cette visite vertigineuse de Ranger, vous avez expérimenté la simplicité et la puissance de Ranger pour la gestion de la sécurité.








All Articles