DataSunrise Obtient le Statut Compétence DevOps AWS dans AWS DevSecOps et Surveillance, Journalisation, Performance

Comment Auditer Apache Hive

Introduction

Apache Hive est largement utilisé par de nombreuses organisations pour traiter et analyser de grandes quantités de données structurées stockées dans Hadoop. Avec l’augmentation du volume de données sensibles traitées via Hive, mettre en œuvre des mécanismes d’audit efficaces devient essentiel non seulement pour la sécurité mais aussi pour la conformité réglementaire.

Ce guide vous guidera à travers le processus de configuration et de mise en œuvre des capacités d’audit pour Apache Hive, des fonctionnalités natives d’audit aux solutions améliorées avec DataSunrise, garantissant que vous avez la visibilité nécessaire pour surveiller l’accès aux données, détecter les activités non autorisées, et maintenir la conformité.

Comment Auditer Apache Hive en Utilisant les Capacités Natives

Apache Hive offre plusieurs mécanismes intégrés pour l’audit que l’on peut configurer pour suivre les activités des utilisateurs et les opérations effectuées sur les données. Explorons comment configurer ces capacités natives d’audit :

Étape 1 : Activer l’Autorisation Basée sur les Normes SQL

L’autorisation basée sur les normes SQL dans Hive fournit un modèle de contrôle d’accès basé sur les rôles qui inclut des capacités d’audit de base. Ce modèle enregistre les opérations et les changements de privilèges effectués par les utilisateurs.

Pour activer l’autorisation basée sur les normes SQL, modifiez votre fichier de configuration hive-site.xml :

<property>
  <name>hive.security.authorization.enabled</name>
  <value>true</value>
</property>
<property>
  <name>hive.security.authorization.manager</name>
  <value>org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory</value>
</property>
<property>
  <name>hive.security.authenticator.manager</name>
  <value>org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator</value>
</property>
<property>
  <name>hive.server2.enable.doAs</name>
  <value>false</value>
</property>

Après avoir apporté ces modifications, redémarrez les services Hive pour appliquer la configuration.

Étape 2 : Configurer le Cadre de Journalisation

Apache Hive utilise Log4j pour la journalisation des événements, qu’on peut configurer pour capturer les informations d’audit. Pour améliorer la journalisation d’audit, modifiez le fichier hive-log4j2.properties :

# Journalisation d'Audit Hive
appender.AUDIT.type = RollingFile
appender.AUDIT.name = AUDIT
appender.AUDIT.fileName = ${sys:hive.log.dir}/${sys:hive.log.file}.audit
appender.AUDIT.filePattern = ${sys:hive.log.dir}/${sys:hive.log.file}.audit.%d{yyyy-MM-dd}
appender.AUDIT.layout.type = PatternLayout
appender.AUDIT.layout.pattern = %d{ISO8601} %p %c: %m%n
appender.AUDIT.policies.type = Policies
appender.AUDIT.policies.time.type = TimeBasedTriggeringPolicy
appender.AUDIT.policies.time.interval = 1
appender.AUDIT.policies.time.modulate = true
appender.AUDIT.strategy.type = DefaultRolloverStrategy
appender.AUDIT.strategy.max = 30

# Logger d'Audit
logger.audit.name = org.apache.hadoop.hive.ql.audit
logger.audit.level = INFO
logger.audit.additivity = false
logger.audit.appenderRef.audit.ref = AUDIT

Ces paramètres créent un fichier de journal d’audit dédié qui capture tous les événements d’audit dans un format structuré.

Étape 3 : Activer les Journaux d’Audit HDFS

Étant donné que les opérations Hive impliquent finalement des opérations HDFS, activer les journaux d’audit HDFS fournit une couche supplémentaire d’audit. Modifiez le fichier hdfs-site.xml :

<property>
  <name>hadoop.security.authorization</name>
  <value>true</value>
</property>
<property>
  <name>dfs.namenode.audit.log.async</name>
  <value>true</value>
</property>
<property>
  <name>dfs.namenode.audit.log.debug.cmdlist</name>
  <value>open,create,delete,append,rename</value>
</property>

Redémarrez les services HDFS pour appliquer ces modifications.

Étape 4 : Tester la Journalisation d’Audit

Pour vérifier que l’audit fonctionne correctement, effectuez diverses opérations Hive et vérifiez les journaux d’audit :

-- Créer une base de données de test
CREATE DATABASE audit_test;

-- Créer une table
USE audit_test;
CREATE TABLE employee (
  id INT,
  name STRING,
  salary FLOAT
);

-- Insérer des données
INSERT INTO employee VALUES (1, 'John Doe', 75000.00);
INSERT INTO employee VALUES (2, 'Jane Smith', 85000.00);

-- Interroger des données
SELECT * FROM employee WHERE salary > 80000;

-- Mettre à jour des données
UPDATE employee SET salary = 90000.00 WHERE id = 1;

-- Supprimer la table
DROP TABLE employee;

Après avoir exécuté ces opérations, vérifiez les journaux d’audit pour vous assurer qu’ils enregistrent toutes les activités :

cat ${HIVE_LOG_DIR}/hive.log.audit

Journaux d'Audit Natifs Hive

Étape 5 : Intégrer avec Apache Ranger (Optionnel)

Pour des capacités d’audit plus complètes, intégrez Apache Hive avec Apache Ranger. Ranger fournit une administration centralisée de la sécurité et des journaux d’audit détaillés pour les composants Hadoop.

  1. Installez Apache Ranger en utilisant le guide d’installation officiel.

  2. Configurez le plugin Ranger Hive en modifiant hive-site.xml :

<property>
  <name>hive.security.authorization.enabled</name>
  <value>true</value>
</property>
<property>
  <name>hive.security.authorization.manager</name>
  <value>org.apache.ranger.authorization.hive.authorizer.RangerHiveAuthorizerFactory</value>
</property>
  1. Configurez les paramètres d’audit de Ranger dans ranger-hive-audit.xml :
<property>
  <name>xasecure.audit.is.enabled</name>
  <value>true</value>
</property>
<property>
  <name>xasecure.audit.destination.db</name>
  <value>true</value>
</property>
<property>
  <name>xasecure.audit.destination.db.jdbc.driver</name>
  <value>org.postgresql.Driver</value>
</property>
<property>
  <name>xasecure.audit.destination.db.jdbc.url</name>
  <value>jdbc:postgresql://ranger-db:5432/ranger</value>
</property>

Limitations de l’Audit Natif

Bien que ces mécanismes d’audit natifs fournissent une fonctionnalité de base, ils présentent plusieurs limitations :

  1. Données d’Audit Fragmentées : Les informations d’audit se dispersent dans plusieurs fichiers journaux et systèmes.
  2. Configuration Complexe : Mettre en place une audit complète nécessite de configurer plusieurs composants.
  3. Outils de Surveillance Limités : Les journaux d’audit natifs manquent d’interfaces conviviales pour l’analyse.
  4. Rapports de Conformité Manuels : Produire des rapports de conformité nécessite des scripts personnalisés ou une extraction manuelle.
  5. Consommatrice de Ressources : Un audit intensif peut impacter la performance dans des environnements à fort volume.

Comment Auditer Apache Hive Efficacement avec DataSunrise

Pour les organisations qui ont besoin de solutions d’audit plus complètes, DataSunrise fournit des capacités avancées qui répondent aux limitations de l’audit natif de Hive. Explorons comment configurer et mettre en œuvre DataSunrise pour auditer Apache Hive :

Étape 1 : Déployer DataSunrise

Commencez par déployer DataSunrise dans votre environnement. DataSunrise offre des options de déploiement flexibles incluant des configurations sur site, cloud, et hybrides.

Étape 2 : Connectez-vous à Apache Hive

Une fois DataSunrise déployé, connectez-le à votre environnement Apache Hive :

  1. Allez à la console de gestion DataSunrise.
  2. Allez dans “Bases de données” et sélectionnez “Ajouter une base de données”.
  3. Sélectionnez “Apache Hive” comme type de base de données.
  4. Saisissez les détails de connexion pour votre instance Hive, incluant l’hôte, le port, et les informations d’authentification.
  5. Testez la connexion pour s’assurer qu’elle est correctement configurée.

Étape 3 : Configurer les Règles d’Audit

Créez des règles d’audit pour définir quelles activités doivent être surveillées :

  1. Allez dans “Règles” et sélectionnez “Ajouter une Règle”.
  2. Choisissez “Audit” comme type de règle.
  3. Configurez les paramètres de la règle, incluant :
    • Nom et description de la règle
    • Objets cibles (bases de données, tables, vues)
    • Utilisateurs et rôles à surveiller
    • Types d’opérations à auditer (SELECT, INSERT, UPDATE, DELETE, etc.)
    • Conditions basées sur le temps (si nécessaire)
  4. Enregistrez et activez la règle.

Configurer les Règles d'Audit

Étape 4 : Tester et Valider l’Audit

Effectuez diverses opérations Hive pour valider que DataSunrise audite correctement les activités :

  1. Exécutez les mêmes requêtes de test utilisées précédemment pour valider l’audit natif.
  2. Allez à la section “Journal d’Audit” dans DataSunrise pour voir les événements d’audit capturés.
  3. Vérifiez que toutes les opérations sont correctement enregistrées avec des informations détaillées incluant :
    • Identité de l’utilisateur
    • Horodatage
    • Requête SQL
    • Type d’opération
    • Objets affectés
    • Adresse IP source

Voir les Journaux d'Audit

Conclusion

Un audit efficace d’Apache Hive est essentiel pour maintenir la sécurité, assurer la conformité, et obtenir une visibilité sur les schémas d’accès aux données. Bien que les capacités natives d’audit de Hive fournissent une fonctionnalité de base, les organisations ayant des exigences avancées bénéficient de solutions complètes comme DataSunrise.

DataSunrise améliore l’audit d’Apache Hive avec une gestion centralisée, des pistes d’audit détaillées, des alertes en temps réel, et des rapports automatisés de conformité. En mettant en œuvre une solution d’audit robuste, les organisations peuvent protéger leurs données sensibles, maintenir la conformité réglementaire, et réagir rapidement aux incidents de sécurité.

Prêt à améliorer vos capacités d’audit Apache Hive ? Planifiez une démo pour voir comment DataSunrise peut vous aider à mettre en œuvre un audit complet pour votre environnement Hive.

Suivant

Journal d’audit Apache Hive

En savoir plus

Besoin de l'aide de notre équipe de support ?

Nos experts seront ravis de répondre à vos questions.

Informations générales :
[email protected]
Service clientèle et support technique :
support.datasunrise.com
Demandes de partenariat et d'alliance :
[email protected]