Configurations d'importation et d'exportation Ranger

Des fonctions d'aide à l'importation et à l'exportation d'amorçage Ranger existent pour importer et exporter les configurations Ranger dans le service de mégadonnées.

Les fonctions d'aide à l'importation et à l'exportation d'amorçage Ranger sont utiles pour la résilience du cluster, les opérations de récupération et le déplacement des stratégies Ranger d'un cluster à un autre et sont utiles dans plusieurs scénarios.

Disaster Recovery
Créez une nouvelle grappe et à l'aide de la fonction d'aide import_ranger_policies, vous pouvez importer toutes les politiques Ranger présentes dans une ancienne grappe dans une nouvelle grappe.
Environnements de test ou de développement
Pour créer un environnement de test ou de développement à l'aide de politiques Ranger de grappe existantes, vous pouvez utiliser la fonction d'aide export_ranger_policies pour exporter toutes les politiques Ranger présentes dans la grappe source vers un fichier JSON. À l'aide de la fonction d'aide import_ranger_policies, vous pouvez importer toutes les politiques dans une grappe de destination.
Note

Pour effectuer des opérations d'importation et d'exportation Ranger, les données d'identification de l'administrateur Ambari et Ranger doivent être identiques.

Pour exécuter un script d'amorçage, voir Exécution du script d'amorçage.

Note

Pour importer d'anciennes politiques Ranger avant le service de mégadonnées 3.1.1, assurez-vous que tous les utilisateurs de la liste de la politique sont disponibles.

Pour plus d'informations sur les fonctions d'aide à l'importation et à l'exportation de Ranger, voir :

Fonctions d'aide à l'importation et à l'exportation de Ranger

Pour plus d'informations sur l'importation et l'exportation des configurations de script d'amorçage par Ranger, voir Configurations d'importation et d'exportation par Ranger.

Pour obtenir des exemples de fonction d'aide pour l'importation et l'exportation de Ranger, voir Exemples de configuration d'importation et d'exportation de Ranger.

Pour exécuter un script d'amorçage, voir Exécution du script d'amorçage.

Fonction d'aide Fonction
export_ranger_policies(ranger_config_dict)

Cette fonction d'aide exporte les politiques Ranger dans plusieurs formats. (JSON, CSV, EXCEL). Mais seul le format JSON est pris en charge pour ranger-policies-import. Vous pouvez créer et transmettre l'objet ranger_config_dict qui a les paramètres requis pour effectuer l'opération export_ranger_policies.

Exemple :

ranger_config_dict = {
                  "output_folder_path": "/tmp",  
                  # Mandatory param for export operation
                  "output_file_format": "json", 
                  # optional param
                  "service_list": "hdfs, kafka", 
                  # optional param
                  "exported_policies_file_name": 
                  "Ranger_policies_file", # optional param
                  "zone_name": "security_zone1", 
                  # optional param
                  "ssl_cert_path": "/tmp/ssl_cert.crt"  
                  # optional param
                  }

Ranger-Export-Config-Info :

output_folder_path : Chemin du dossier dans lequel le fichier de politique Ranger doit être exporté.

Paramètres facultatifs :

  • service_list : Paramètre facultatif utilisé pour exporter des politiques uniquement à partir de la liste de services mentionnée, par exemple "hdfs, kafka". Par défaut, Ranger exporte les politiques de tous les services Ranger.
  • output_file_format : Paramètre facultatif utilisé pour exporter des politiques dans un format de fichier spécifique, par exemple "json". Par défaut, Ranger exporte les politiques au format JSON. Les formats pris en charge sont JSON, CSV, EXCEL.
  • exported_policies_file_name : Paramètre facultatif utilisé pour exporter des politiques vers un nom de fichier spécifique, par exemple "Ranger_policies_file". Par défaut, Ranger exporte les politiques vers le fichier Ranger_policies.
  • zone_name : Paramètre facultatif utilisé pour exporter des politiques à partir d'une zone de sécurité spécifique. Par défaut, Ranger ne fait référence à aucune zone de sécurité.
  • ssl_cert_path : Paramètre facultatif utilisé pour transmettre un chemin de certificat SSL spécifique. Par défaut, Ranger fait référence au chemin de certificat SSL par défaut présent dans la grappe.

Lorsque la tâche bootstrap-script d'exportation des politiques Ranger réussit, Ranger exporte les politiques dans un fichier au format spécifié à l'emplacement output_folder_path.

import_ranger_policies(ranger_config_dict)

Cette fonction d'aide importe les politiques Ranger à l'aide du fichier d'entrée JSON fourni. Vous pouvez créer et transmettre un objet ranger_config_dict qui a des paramètres requis pour effectuer l'opération import_ranger_policies.

Exemple :

ranger_config_dict = {
    "input_file_path": "/tmp/Ranger_policies.json",  
# Mandatory param for import operation
    "service_list": "hdfs, kafka" # optional param  
}

Ranger-Import-Config-Info :

input_file_path : Chemin d'accès au fichier Ranger_policies.json, créé par la fonction Ranger-policy-export sur la grappe source. Le fichier JSON exporté peut être placé dans le chemin local de la grappe cible ou dans l'emplacement du magasin d'objets. (URL PAR)

Paramètres facultatifs :

  • override_policies : Paramètre facultatif utilisé pour remplacer les politiques existantes. Valeur par défaut : True. S'il existe une politique dans la grappe de destination, avec override_policies=True, Ranger supprime toutes les politiques existantes de la grappe de destination et crée des politiques à l'aide du fichier JSON importé.
  • service_list : Paramètre facultatif utilisé pour importer des politiques à partir de la liste de services mentionnée uniquement, par exemple "hdfs, kafka". Par défaut, Ranger importe toutes les politiques présentes dans le fichier JSON importé.
  • backup_policies : Paramètre facultatif utilisé pour sauvegarder les politiques existantes avant d'effectuer l'opération d'importation. La valeur par défaut est True. Par conséquent, Ranger sauvegarde les stratégies existantes avant d'effectuer l'opération d'importation.
  • backup_directory_path : Paramètre facultatif, chemin utilisé pour stocker tous les fichiers de sauvegarde. Le chemin par défaut est {user}/Ranger_Backup_Policy_Files.
  • zonemap_json_dict : Paramètre facultatif, pour fournir zone-mapping-json pour importer des politiques dans une zone de sécurité spécifiée. Par exemple :
    zonemap_json = {}
                        zonemap_json['zone1']='zone1'
                        
                        ranger_config_dict = {
                        "zonemap_json_dict": zonemap_json,
                        ......
                        
                        }

Lorsque la tâche bootstrap-script d'importation des politiques Ranger réussit, Ranger importe les politiques à partir de input-json-file fourni.

restore_ranger_policies(ranger_config_dict)

Cette fonction d'aide restaure les politiques Ranger à l'aide du fichier de sauvegarde. Vous pouvez transmettre le fichier de sauvegarde à utiliser pour restaurer les stratégies Ranger. Par défaut, cette fonction restaure les stratégies Ranger à l'aide du dernier fichier de sauvegarde présent dans le répertoire des fichiers de sauvegarde. Vous pouvez créer et transmettre l'objet ranger_config_dict qui comporte les paramètres requis pour effectuer l'opération restore_ranger_policies.

Exemple

ranger_config_dict = {
                "restore_policies_input_file_path": 
"/tmp/Ranger_policies.json"  # Optional
                }

Ranger-Restaurer-Config-Info :

restore_policies_input_file_path : Paramètre facultatif, input-file-path utilisé pour restaurer les politiques Ranger. S'il n'est pas indiqué, restore-function restaure les politiques Ranger à l'aide du dernier fichier de sauvegarde présent dans le répertoire des fichiers de sauvegarde.

Lorsque la tâche bootstrap-script pour restaurer les politiques Ranger réussit, Ranger restaure les politiques à l'aide de la valeur input-file fournie ou de la dernière valeur backup-file.

cleanup_ranger_policy_backup_files(ranger_config_dict)

Cette fonction d'aide supprime les fichiers de sauvegarde de politique Ranger à l'aide d'une liste de fichiers ou d'un modèle. Vous pouvez créer et transmettre l'objet ranger_config_dict qui comporte les paramètres requis pour effectuer l'opération cleanup_ranger_policy_backup_files .

Exemple :

ranger_config_dict = {
                  "ranger_backup_files_tobe_removed": 
['Ranger_Policies_*']  # Mandatory param for cleanup operation
                  }

Ranger-Policy-Cleanup-Config-Info :

ranger_backup_files_tobe_removed : Modèle de fichier ou liste de fichiers à supprimer.

Exemple :

 "ranger_backup_files_tobe_removed":
                    ['Ranger_Policies_*', '*', 
Ranger_policies_1.json]

'Ranger_Policies_*' : Supprime tous les fichiers commençant par le préfixe Ranger_Policies_

'*' : Supprime tous les fichiers de sauvegarde présents dans le répertoire des fichiers de sauvegarde.

'Ranger_policies_1.json' : Supprime le fichier Ranger_policies_1.json.

Exemples de configuration d'importation et d'exportation Ranger

Pour plus d'informations sur les fonctions d'aide à l'importation et à l'exportation de Ranger, voir Fonctions d'aide à l'importation et à l'exportation de Ranger.

Exemple : Script d'amorçage personnalisé avec fonctions d'aide pour importer des politiques Ranger
#!/usr/bin/env python2.7
        
        def execute(ranger_policy_helper):
        logger = ranger_policy_helper.getLogger()
        
        logger.info('Testing Ranger export-import functions')
        
        ranger_config_dict = {
        "input_file_path": "<Ranger_Policies.json_input_filepath>",  # Mandatory param, Input file to import policies.
        "service_list": "hdfs,hive"  # Optional param, imports policies only from hdfs and hive services.
        }
        
        ranger_policy_helper.import_ranger_policies(ranger_config_dict)
Exemple : Script d'amorçage personnalisé avec fonctions d'aide pour exporter des politiques Ranger
#!/usr/bin/env python2.7
        
        def execute(ranger_policy_helper):
        logger = ranger_policy_helper.getLogger()
        
        logger.info('Testing Ranger export-import functions')
        
        ranger_config_dict = {
        "output_folder_path": "/tmp",  # Mandatory param, exports output file to /tmp folder
        "service_list": "hdfs,hive"  # Optional param, exports policies only from hdfs and hive services.
        }
        
        ranger_policy_helper.export_ranger_policies(ranger_config_dict)
Exemple : Script d'amorçage personnalisé avec fonctions d'aide pour restaurer les politiques Ranger
#!/usr/bin/env python2.7
 
def execute(ranger_policy_helper):
    logger = ranger_policy_helper.getLogger()
 
    logger.info('Testing Ranger export-import functions')
 
# Restores Ranger policies from the provided input file. If User don't provide this param, restore-function restores Ranger policies using latest backup file present in the backup files directory.
     ranger_config_dict = {
        "restore_policies_input_file_path": "/tmp/Ranger_Policies.json"  # Optional param
 
    }
 
    ranger_policy_helper.restore_ranger_policies(ranger_config_dict)
Exemple : Script d'amorçage personnalisé avec fonctions d'aide pour nettoyer les fichiers de sauvegarde de la politique Ranger
#!/usr/bin/env python2.7
 
def execute(ranger_policy_helper):
    logger = ranger_policy_helper.getLogger()
 
    logger.info('Testing Ranger export-import functions')
 
     ranger_config_dict = {
        "ranger_backup_files_tobe_removed": ['Ranger_Policies_*','*','Ranger_Policies.json']  # File-list or pattern to delete Ranger-policy backup files.
 
    }
 
    ranger_policy_helper.cleanup_ranger_policy_backup_files(ranger_config_dict)