Configurations d'import et d'export Ranger

Il existe des fonctions d'aide à l'importation et à l'exportation de Ranger pour importer et exporter des configurations Ranger dans Big Data Service.

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

Récupération après sinistre
Créez un cluster et à l'aide de la fonction d'aide import_ranger_policies, vous pouvez importer toutes les stratégies Ranger présentes dans un ancien cluster vers un nouveau cluster.
Environnements de test ou de développement
Pour créer un environnement de test ou de développement à l'aide de stratégies de Ranger de cluster existantes, vous pouvez utiliser la fonction d'aide export_ranger_policies pour exporter toutes les stratégies de Ranger présentes dans le cluster source vers un fichier JSON. A l'aide de la fonction d'aide import_ranger_policies, vous pouvez importer toutes les stratégies vers un cluster de destination.
Remarque

Pour effectuer des opérations d'import et d'export Ranger, les informations d'identification d'administrateur Ambari et Ranger doivent être identiques.

Pour exécuter un script de démarrage, reportez-vous à la section Running the Bootstrap Script.

Remarque

Pour importer les anciennes stratégies Ranger avant Big Data Service 3.1.1, assurez-vous que tous les utilisateurs de liste de la stratégie sont disponibles.

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

Fonctions de l'assistant d'importation et d'exportation Ranger

Pour plus d'informations sur les configurations de script d'import et d'export Ranger, reportez-vous à la section Ranger Import and Export Configurations.

Pour obtenir des exemples de fonction d'aide d'importation et d'exportation Ranger, reportez-vous à Exemples de configuration d'importation et d'exportation Ranger.

Pour exécuter un script de démarrage, reportez-vous à la section Running the Bootstrap Script.

Fonction d'aide Fonctionnalité :
export_ranger_policies(ranger_config_dict)

Cette fonction d'aide exporte les stratégies Ranger dans plusieurs formats. (JSON, CSV, EXCEL). Toutefois, seul le format JSON est pris en charge pour ranger-policies-import. Vous pouvez créer et transmettre l'objet ranger_config_dict qui comporte des 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 stratégie Ranger doit être exporté.

Paramètres optionnels :

  • service_list : paramètre facultatif utilisé pour exporter des stratégies uniquement à partir de la liste des services mentionnés, par exemple, "hdfs, kafka". Par défaut, Ranger exporte les stratégies de tous les services Ranger.
  • output_file_format : paramètre facultatif utilisé pour exporter des stratégies dans un format de fichier spécifique, par exemple, "json". Par défaut, Ranger exporte les stratégies au format JSON. Les formats pris en charge sont JSON, CSV, EXCEL.
  • exported_policies_file_name : paramètre facultatif utilisé pour exporter des stratégies vers un nom de fichier spécifique, par exemple "Ranger_policies_file". Par défaut, Ranger exporte les stratégies vers le fichier Ranger_policies.
  • zone_name : paramètre facultatif utilisé pour exporter des stratégies à 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 le cluster.

Lorsque le travail bootstrap-script d'export des stratégies Ranger réussit, Ranger exporte les stratégies dans un fichier au format indiqué à l'emplacement output_folder_path.

import_ranger_policies(ranger_config_dict)

Cette fonction d'aide importe les stratégies Ranger à l'aide du fichier d'entrée JSON fourni. Vous pouvez créer et transmettre un objet ranger_config_dict qui comporte 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 le cluster source. Le fichier JSON exporté peut être placé dans le chemin local du cluster cible ou à l'emplacement de la banque d'objets. (URL PAR)

Paramètres facultatifs :

  • override_policies : paramètre facultatif utilisé pour remplacer les stratégies existantes. La valeur par défaut est True. Si une stratégie existante dans le cluster de destination utilise override_policies=True, Ranger supprime toutes les stratégies existantes dans le cluster de destination et crée des stratégies à l'aide du fichier JSON importé.
  • service_list : paramètre facultatif utilisé pour importer des stratégies à partir de la liste de services mentionnée uniquement, par exemple, "hdfs, kafka". Par défaut, Ranger importe toutes les stratégies présentes dans le fichier JSON importé.
  • backup_policies : paramètre facultatif utilisé pour effectuer la sauvegarde des stratégies existantes avant d'effectuer l'opération d'import. La valeur par défaut est True. Par conséquent, Ranger effectue la sauvegarde des stratégies existantes avant d'effectuer l'opération d'import.
  • 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 permettant de fournir zone-mapping-json pour importer des stratégies vers une zone de sécurité indiquée. Par exemple :
    zonemap_json = {}
                        zonemap_json['zone1']='zone1'
                        
                        ranger_config_dict = {
                        "zonemap_json_dict": zonemap_json,
                        ......
                        
                        }

Lorsque le travail bootstrap-script d'import des stratégies Ranger réussit, Ranger importe les stratégies à partir du fichier input-json-file fourni.

restore_ranger_policies(ranger_config_dict)

Cette fonction helper restaure les stratégies 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 dispose des 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-Restore-Config-Info :

restore_policies_input_file_path : paramètre facultatif input-file-path utilisé pour restaurer les stratégies de Ranger. Si elle n'est pas fournie, restore-function restaure les stratégies Ranger à l'aide du dernier fichier de sauvegarde présent dans le répertoire des fichiers de sauvegarde.

Lorsque le travail bootstrap-script de restauration des stratégies Ranger réussit, Ranger restaure les stratégies à l'aide de la version input-file ou de la dernière version backup-file fournie.

cleanup_ranger_policy_backup_files(ranger_config_dict)

Cette fonction d'aide supprime les fichiers de sauvegarde de stratégie 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 dispose des 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 des 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'import et d'export Ranger

Pour plus d'informations sur les fonctions de l'assistant d'importation et d'exportation de Ranger, reportez-vous à Fonctions de l'assistant d'importation et d'exportation de Ranger.

Exemple : script bootstrap personnalisé avec des fonctions d'aide pour importer des stratégies 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 bootstrap personnalisé avec des fonctions d'aide pour exporter des stratégies 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 bootstrap personnalisé avec fonctions d'aide pour restaurer les stratégies 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 bootstrap personnalisé avec fonctions d'aide pour nettoyer les fichiers de sauvegarde de la stratégie 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)