Konfigurationen für Ranger-Import und -Export

Ranger Import- und Export-Bootstrap-Helper-Funktionen sind zum Importieren und Exportieren von Ranger-Konfigurationen in Big Data Service vorhanden.

Ranger-Import- und -Export-Bootstrap-Helper-Funktionen sind nützlich für Cluster-Resilienz, Recovery-Vorgänge und das Verschieben von Ranger-Policys von einem Cluster in ein anderes. Sie sind in mehreren Szenarios hilfreich.

Disaster Recovery
Erstellen Sie ein neues Cluster, und importieren Sie mit der Helper-Funktion import_ranger_policies alle in einem alten Cluster vorhandenen Ranger-Policys in ein neues Cluster.
Test- oder Entwicklungsumgebungen
Um eine Test- oder Entwicklungsumgebung mit vorhandenen Cluster-Ranger-Policys zu erstellen, können Sie mit der Helper-Funktion export_ranger_policies alle im Quellcluster vorhandenen Ranger-Policys in eine JSON-Datei exportieren. Mit der Helper-Funktion import_ranger_policies können Sie alle Policys in ein Zielcluster importieren.
Hinweis

Um Ranger-Import- und -Exportvorgänge auszuführen, müssen die Admin-Zugangsdaten für Ambari und Ranger identisch sein.

Informationen zum Ausführen eines Bootstrap-Skripts finden Sie unter Running the Bootstrap Script.

Hinweis

Um alte Ranger-Policys vor Big Data Service 3.1.1 zu importieren, stellen Sie sicher, dass alle Listenbenutzer in der Policy verfügbar sind.

Weitere Informationen zu den Ranger-Import- und -Export-Helper-Funktionen finden Sie hier:

Ranger Import und Export Helper Funktionen

Weitere Informationen zu Ranger-Konfigurationen für Import und Export von Bootstrap-Skripten finden Sie unter Konfigurationen für Ranger-Import und -Export.

Beispiele für Ranger-Import- und -Export-Helper-Funktionen finden Sie unter Beispiele für Ranger-Import- und -Exportkonfiguration.

Informationen zum Ausführen eines Bootstrap-Skripts finden Sie unter Running the Bootstrap Script.

Helper-Funktion Funktionalität
export_ranger_policies(ranger_config_dict)

Diese Helper-Funktion exportiert Ranger-Policys in mehreren Formaten. (JSON, CSV, EXCEL). Für ranger-policies-import wird jedoch nur das JSON-Format unterstützt. Sie können das Objekt ranger_config_dict erstellen und übergeben, das die erforderlichen Parameter zum Ausführen des Vorgangs export_ranger_policies enthält.

Beispiel:

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: Der Ordnerpfad, in den die Ranger-Policy-Datei exportiert werden soll.

Optionale Parameter:

  • service_list: Ein optionaler Parameter, mit dem Policys nur aus der angegebenen Liste der Services exportiert werden. Beispiel: "hdfs, kafka". Standardmäßig exportiert Ranger Policys aus allen Ranger-Services.
  • output_file_format: Ein optionaler Parameter, mit dem Policys in einem bestimmten Dateiformat exportiert werden. Beispiel: "json". Standardmäßig exportiert Ranger Policys im JSON-Format. Unterstützte Formate sind JSON, CSV, EXCEL.
  • exported_policies_file_name: Ein optionaler Parameter, mit dem Policys in einen bestimmten Dateinamen exportiert werden. Beispiel: "Ranger_policies_file". Standardmäßig exportiert Ranger Policys in die Datei Ranger_policies.
  • zone_name: Ein optionaler Parameter, mit dem Policys aus einer bestimmten Sicherheitszone exportiert werden. Standardmäßig bezieht sich Ranger auf keine Sicherheitszone.
  • ssl_cert_path: Ein optionaler Parameter, der zum Übergeben eines bestimmten SSL-Zertifikatspfads verwendet wird. Standardmäßig bezieht sich Ranger auf den Standard-SSL-Zertifikatspfad im Cluster.

Wenn der Bootstrap-Skriptjob zum Exportieren von Ranger-Policys erfolgreich ist, exportiert Ranger Policys in einer angegebenen Formatdatei am Speicherort output_folder_path.

import_ranger_policies(ranger_config_dict)

Diese Helper-Funktion importiert Ranger-Policys mit der angegebenen JSON-Eingabedatei. Sie können das Objekt ranger_config_dict erstellen und übergeben, das die erforderlichen Parameter zum Ausführen des Vorgangs import_ranger_policies enthält.

Beispiel:

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: Der Pfad zur Datei Ranger_policies.json, die von der Funktion Ranger-policy-export im Quellcluster erstellt wird. Die exportierte JSON-Datei kann entweder im lokalen Pfad des Zielclusters oder im Speicherort des Objektspeichers abgelegt werden. (PAR-URL)

Optionale Parameter:

  • override_policies: Ein optionaler Parameter, der zum Überschreiben vorhandener Policys verwendet wird. Der Standardwert ist True. Wenn eine vorhandene Policy im Zielcluster dann mit override_policies=True vorhanden ist, löscht Ranger alle vorhandenen Policys im Zielcluster und erstellt Policys mit der importierten JSON-Datei.
  • service_list: Ein optionaler Parameter, mit dem Policys nur aus der angegebenen Liste der Services importiert werden. Beispiel: "hdfs, kafka". Standardmäßig importiert Ranger alle Policys, die in der importierten JSON-Datei vorhanden sind.
  • backup_policies: Ein optionaler Parameter, der zum Erstellen des Backups vorhandener Policys verwendet wird, bevor der Importvorgang ausgeführt wird. Der Standardwert ist True. Daher erstellt Ranger das Backup vorhandener Policys, bevor der Importvorgang ausgeführt wird
  • backup_directory_path: Ein optionaler Parameter, Pfad, der zum Speichern aller Backupdateien verwendet wird. Der Standardpfad lautet {user}/Ranger_Backup_Policy_Files.
  • zonemap_json_dict: Ein optionaler Parameter, der zone-mapping-json zum Importieren von Policys in eine angegebene Sicherheitszone bereitstellt. Beispiel:
    zonemap_json = {}
                        zonemap_json['zone1']='zone1'
                        
                        ranger_config_dict = {
                        "zonemap_json_dict": zonemap_json,
                        ......
                        
                        }

Wenn der Bootstrap-Skriptjob zum Importieren von Ranger-Policys erfolgreich ist, importiert Ranger Policys aus der angegebenen input-json-file.

restore_ranger_policies(ranger_config_dict)

Diese Helper-Funktion stellt Ranger-Policys mit Backupdatei wieder her. Sie können die Backupdatei übergeben, die zum Wiederherstellen von Ranger-Policys verwendet werden soll. Standardmäßig stellt diese Funktion Ranger-Policys mit der letzten Backupdatei im Backupdateiverzeichnis wieder her. Sie können das Objekt ranger_config_dict erstellen und übergeben, das über die erforderlichen Parameter verfügt, um den Vorgang restore_ranger_policies auszuführen.

Beispiel

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

Ranger-Restore-Config-Info:

restore_policies_input_file_path: Ein optionaler Parameter, input-file-path, mit dem Ranger-Policys wiederhergestellt werden. Wenn keine Angabe gemacht wird, stellt restore-function Ranger-Policys mit der letzten Backupdatei im Backupdateiverzeichnis wieder her.

Wenn der Bootstrap-Skriptjob zum Wiederherstellen von Ranger-Policys erfolgreich ist, stellt Ranger Policys mit der angegebenen input-file oder der neuesten backup-file wieder her.

cleanup_ranger_policy_backup_files(ranger_config_dict)

Diese Helper-Funktion löscht Ranger-Policy-Backupdateien anhand der Dateiliste oder des Musters. Sie können das Objekt ranger_config_dict mit den erforderlichen Parametern erstellen und übergeben, um den Vorgang cleanup_ranger_policy_backup_files auszuführen.

Beispiel:

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: Dateimuster oder Liste der Dateien, die gelöscht werden müssen.

Beispiel:

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

'Ranger_Policies_*': Löscht alle Dateien, die mit dem Präfix Ranger_Policies_ beginnen

'*': Löscht alle Backupdateien, die im Backupdateiverzeichnis vorhanden sind.

'Ranger_policies_1.json': Löscht die Datei Ranger_policies_1.json.

Beispiele für Ranger-Import- und -Exportkonfiguration

Weitere Informationen zu den Ranger-Helper-Import- und -Exportfunktionen finden Sie unter Ranger-Helper-Funktionen für Import und Export.

Beispiel: Benutzerdefiniertes Bootstrap-Skript mit Hilfefunktionen zum Importieren von Ranger-Policys
#!/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)
Beispiel: Benutzerdefiniertes Bootstrap-Skript mit Hilfefunktionen zum Exportieren von Ranger-Policys
#!/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)
Beispiel: Benutzerdefiniertes Bootstrap-Skript mit Hilfefunktionen zum Wiederherstellen von Ranger-Policys
#!/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)
Beispiel: Benutzerdefiniertes Bootstrap-Skript mit Hilfefunktionen zum Bereinigen von Ranger-Policy-Backupdateien
#!/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)