Configurazioni importazione ed esportazione Ranger

Per importare ed esportare le configurazioni Ranger nel servizio Big Data esistono funzioni di supporto per l'importazione e l'esportazione dei bootstrap.

Le funzioni di supporto del bootstrap di importazione ed esportazione Ranger sono utili per la resilienza dei cluster, le operazioni di ripristino e lo spostamento dei criteri Ranger da un cluster all'altro e sono utili in diversi scenari.

Disaster recovery
Creare un nuovo cluster e utilizzare la funzione di supporto import_ranger_policies per importare tutti i criteri Ranger presenti in un vecchio cluster in un nuovo cluster.
Ambienti di test o sviluppo
Per creare un ambiente di test o sviluppo utilizzando qualsiasi criterio Ranger cluster esistente, è possibile utilizzare la funzione di supporto export_ranger_policies per esportare in un file JSON tutti i criteri Ranger presenti nel cluster di origine. La funzione di supporto import_ranger_policies consente di importare tutti i criteri in un cluster di destinazione.
Nota

Per eseguire operazioni di importazione ed esportazione Ranger, le credenziali di amministrazione Ambari e Ranger devono essere uguali.

Per eseguire uno script di bootstrap, vedere Esecuzione dello script di bootstrap.

Nota

Per importare i vecchi criteri Ranger prima di Big Data Service 3.1.1, assicurarsi che tutti gli utenti della lista nel criterio siano disponibili.

Per ulteriori informazioni sulle funzioni dell'applicazione di supporto di importazione ed esportazione Ranger, vedere:

Funzioni di supporto importazione ed esportazione Ranger

Per ulteriori informazioni sulle configurazioni degli script bootstrap di importazione ed esportazione di Ranger, vedere Configurazioni di importazione ed esportazione di Ranger.

Per esempi di funzioni di supporto di importazione ed esportazione Ranger, vedere Esempi di configurazione di importazione ed esportazione Ranger.

Per eseguire uno script di bootstrap, vedere Esecuzione dello script di bootstrap.

Funzione helper Funzionalità
export_ranger_policies(ranger_config_dict)

Questa funzione di supporto esporta i criteri ranger in più formati. (JSON, CSV, EXCEL). Ma solo il formato JSON è supportato per ranger-policies-import. È possibile creare e passare l'oggetto ranger_config_dict con i parametri necessari per eseguire l'operazione export_ranger_policies.

Ad esempio:

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: il percorso della cartella in cui esportare il file dei criteri Ranger.

Parametri facoltativi:

  • service_list: parametro facoltativo utilizzato per esportare i criteri solo dalla lista di servizi menzionata, ad esempio "hdfs, kafka". Per impostazione predefinita, Ranger esporta i criteri da tutti i servizi Ranger.
  • output_file_format: parametro facoltativo utilizzato per esportare i criteri in un formato di file specifico, ad esempio "json". Per impostazione predefinita, Ranger esporta i criteri in formato JSON. I formati supportati sono JSON, CSV, EXCEL.
  • exported_policies_file_name: parametro facoltativo utilizzato per esportare i criteri in un nome file specifico, ad esempio "Ranger_policies_file". Per impostazione predefinita, Ranger esporta i criteri nel file Ranger_policies.
  • zone_name: parametro facoltativo utilizzato per esportare i criteri da una zona di sicurezza specifica. Per impostazione predefinita, Ranger non fa riferimento ad alcuna zona di sicurezza.
  • ssl_cert_path: parametro facoltativo utilizzato per passare un percorso di certificato SSL specifico. Per impostazione predefinita, Ranger fa riferimento al percorso del certificato SSL predefinito presente nel cluster.

Quando il job bootstrap-script per l'esportazione dei criteri Ranger riesce, Ranger esporta i criteri in un file di formato specificato nella posizione output_folder_path.

import_ranger_policies(ranger_config_dict)

Questa funzione di supporto importa i criteri Ranger utilizzando il file di input JSON fornito. È possibile creare e passare l'oggetto ranger_config_dict con i parametri necessari per eseguire l'operazione import_ranger_policies.

Ad esempio:

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: il percorso del file Ranger_policies.json creato dalla funzione Ranger-policy-export nel cluster di origine. Il file JSON esportato può essere posizionato nel percorso locale del cluster di destinazione o nella posizione dell'area di memorizzazione degli oggetti. (URL PAR)

Parametri facoltativi:

  • override_policies: parametro facoltativo utilizzato per sostituire i criteri esistenti. Il valore predefinito è True. Se esiste un criterio nel cluster di destinazione, con override_policies=True, Ranger elimina tutti i criteri esistenti nel cluster di destinazione e crea criteri utilizzando il file JSON importato.
  • service_list: parametro facoltativo utilizzato per importare i criteri solo dalla lista di servizi menzionata, ad esempio "hdfs, kafka". Per impostazione predefinita, Ranger importa tutti i criteri presenti nel file JSON importato.
  • backup_policies: parametro facoltativo utilizzato per eseguire il backup dei criteri esistenti prima di eseguire l'operazione di importazione. Il valore predefinito è True. Pertanto, Ranger esegue il backup dei criteri esistenti prima di eseguire l'operazione di importazione
  • backup_directory_path: parametro facoltativo, percorso utilizzato per memorizzare tutti i file di backup. Il percorso predefinito è {user}/Ranger_Backup_Policy_Files.
  • zonemap_json_dict: parametro facoltativo per fornire zone-mapping-json per importare i criteri in una zona di sicurezza specificata. Ad esempio:
    zonemap_json = {}
                        zonemap_json['zone1']='zone1'
                        
                        ranger_config_dict = {
                        "zonemap_json_dict": zonemap_json,
                        ......
                        
                        }

Quando il job bootstrap-script per importare i criteri Ranger riesce, Ranger importa i criteri dal file input-json-file fornito.

restore_ranger_policies(ranger_config_dict)

Questa funzione di supporto ripristina i criteri Ranger utilizzando un file di backup. È possibile passare il file di backup da utilizzare per ripristinare i criteri Ranger. Per impostazione predefinita, questa funzione ripristina i criteri Ranger utilizzando il file di backup più recente presente nella directory dei file di backup. È possibile creare e passare l'oggetto ranger_config_dict che dispone dei parametri necessari per eseguire l'operazione restore_ranger_policies.

Esempio

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

Ranger-Restore-Config-Info:

restore_policies_input_file_path: parametro facoltativo, input-file-path utilizzato per ripristinare i criteri Ranger. Se non viene fornito, restore-function ripristina i criteri Ranger utilizzando il file di backup più recente presente nella directory dei file di backup.

Quando il job bootstrap-script per ripristinare i criteri Ranger riesce, Ranger ripristina i criteri utilizzando il file input-file o l'ultimo file backup-file fornito.

cleanup_ranger_policy_backup_files(ranger_config_dict)

Questa funzione di supporto elimina i file di backup dei criteri Ranger utilizzando l'elenco di file o il pattern. È possibile creare e passare l'oggetto ranger_config_dict contenente i parametri necessari per eseguire l'operazione cleanup_ranger_policy_backup_files .

Ad esempio:

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: modello di file o elenco di file da eliminare.

Ad esempio:

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

'Ranger_Policies_*': elimina tutti i file che iniziano con il prefisso Ranger_Policies_

'*': elimina tutti i file di backup presenti nella directory dei file di backup.

'Ranger_policies_1.json': elimina il file Ranger_policies_1.json.

Esempi di configurazione di importazione ed esportazione Ranger

Per ulteriori informazioni sulle funzioni dell'applicazione di supporto di importazione ed esportazione Ranger, vedere Funzioni dell'applicazione di supporto di importazione ed esportazione Ranger.

Esempio: script bootstrap personalizzato con funzioni della Guida per importare i criteri 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)
Esempio: script bootstrap personalizzato con funzioni della Guida per esportare i criteri 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)
Esempio: script bootstrap personalizzato con funzioni della Guida per ripristinare i criteri 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)
Esempio: script bootstrap personalizzato con funzioni della Guida per il cleanup dei file di backup dei criteri 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)