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.

Countryx
United States
United Kingdom
France
Germany
Australia
Afghanistan
Islands
Albania
Algeria
American Samoa
Andorra
Angola
Anguilla
Antarctica
Antigua and Barbuda
Argentina
Armenia
Aruba
Austria
Azerbaijan
Bahamas
Bahrain
Bangladesh
Barbados
Belarus
Belgium
Belize
Benin
Bermuda
Bhutan
Bolivia
Bosnia and Herzegovina
Botswana
Bouvet
Brazil
British Indian Ocean Territory
Brunei Darussalam
Bulgaria
Burkina Faso
Burundi
Cambodia
Cameroon
Canada
Cape Verde
Cayman Islands
Central African Republic
Chad
Chile
China
Christmas Island
Cocos (Keeling) Islands
Colombia
Comoros
Congo, Republic of the
Congo, The Democratic Republic of the
Cook Islands
Costa Rica
Cote D'Ivoire
Croatia
Cuba
Cyprus
Czech Republic
Denmark
Djibouti
Dominica
Dominican Republic
Ecuador
Egypt
El Salvador
Equatorial Guinea
Eritrea
Estonia
Ethiopia
Falkland Islands (Malvinas)
Faroe Islands
Fiji
Finland
French Guiana
French Polynesia
French Southern Territories
Gabon
Gambia
Georgia
Ghana
Gibraltar
Greece
Greenland
Grenada
Guadeloupe
Guam
Guatemala
Guernsey
Guinea
Guinea-Bissau
Guyana
Haiti
Heard Island and Mcdonald Islands
Holy See (Vatican City State)
Honduras
Hong Kong
Hungary
Iceland
India
Indonesia
Iran, Islamic Republic Of
Iraq
Ireland
Isle of Man
Israel
Italy
Jamaica
Japan
Jersey
Jordan
Kazakhstan
Kenya
Kiribati
Korea, Democratic People's Republic of
Korea, Republic of
Kuwait
Kyrgyzstan
Lao People's Democratic Republic
Latvia
Lebanon
Lesotho
Liberia
Libyan Arab Jamahiriya
Liechtenstein
Lithuania
Luxembourg
Macao
Madagascar
Malawi
Malaysia
Maldives
Mali
Malta
Marshall Islands
Martinique
Mauritania
Mauritius
Mayotte
Mexico
Micronesia, Federated States of
Moldova, Republic of
Monaco
Mongolia
Montserrat
Morocco
Mozambique
Myanmar
Namibia
Nauru
Nepal
Netherlands
Netherlands Antilles
New Caledonia
New Zealand
Nicaragua
Niger
Nigeria
Niue
Norfolk Island
North Macedonia, Republic of
Northern Mariana Islands
Norway
Oman
Pakistan
Palau
Palestinian Territory, Occupied
Panama
Papua New Guinea
Paraguay
Peru
Philippines
Pitcairn
Poland
Portugal
Puerto Rico
Qatar
Reunion
Romania
Russian Federation
Rwanda
Saint Helena
Saint Kitts and Nevis
Saint Lucia
Saint Pierre and Miquelon
Saint Vincent and the Grenadines
Samoa
San Marino
Sao Tome and Principe
Saudi Arabia
Senegal
Serbia and Montenegro
Seychelles
Sierra Leone
Singapore
Slovakia
Slovenia
Solomon Islands
Somalia
South Africa
South Georgia and the South Sandwich Islands
Spain
Sri Lanka
Sudan
Suriname
Svalbard and Jan Mayen
Swaziland
Sweden
Switzerland
Syrian Arab Republic
Taiwan, Province of China
Tajikistan
Tanzania, United Republic of
Thailand
Timor-Leste
Togo
Tokelau
Tonga
Trinidad and Tobago
Tunisia
Turkey
Turkmenistan
Turks and Caicos Islands
Tuvalu
Uganda
Ukraine
United Arab Emirates
United States Minor Outlying Islands
Uruguay
Uzbekistan
Vanuatu
Venezuela
Viet Nam
Virgin Islands, British
Virgin Islands, U.S.
Wallis and Futuna
Western Sahara
Yemen
Zambia
Zimbabwe
Choose a topicx
Informations générales
Ventes
Service clientèle et support technique
Demandes de partenariat et d'alliance
Informations générales :
info@datasunrise.com
Service clientèle et support technique :
support.datasunrise.com
Demandes de partenariat et d'alliance :
partner@datasunrise.com