Configurações de Importação e Exportação do Ranger
Existem funções auxiliares de bootstrap de importação e exportação do Ranger para importar e exportar configurações do Ranger no Big Data Service.
As funções auxiliares de inicialização de importação e exportação do Ranger são úteis para resiliência de cluster, operações de recuperação e movimentação de políticas do Ranger de um cluster para outro e são úteis em vários cenários.
- Disaster Recovery
- Crie um novo cluster e usando a função auxiliar
import_ranger_policies
, você pode importar todas as políticas do Ranger presentes em um cluster antigo para um novo cluster. - Ambientes de Teste ou Desenvolvimento
- Para criar um ambiente de teste ou desenvolvimento usando qualquer política existente do Ranger do cluster, você pode usar a função auxiliar
export_ranger_policies
para exportar todas as políticas do Ranger presentes no cluster de origem para um arquivo JSON. Usando a função auxiliarimport_ranger_policies
, você pode importar todas as políticas para um cluster de destino.
Para executar operações de importação e exportação do Ranger, as credenciais de administrador do Ambari e do Ranger devem ser iguais.
Para executar um script de inicialização, consulte Executando o Script de Bootstrap.
Para importar políticas antigas do Ranger antes do Big Data Service 3.1.1, certifique-se de que todos os usuários da lista na política estejam disponíveis.
Para obter mais informações sobre as funções auxiliares de importação e exportação do Ranger, consulte:
Funções Auxiliares de Importação e Exportação do Ranger
Para obter mais informações sobre configurações de script de bootstrap de importação e exportação do Ranger, consulte Configurações de Importação e Exportação do Ranger.
Para exemplos de funções auxiliares de importação e exportação do Ranger, consulte Exemplos de Configuração de Importação e Exportação do Ranger.
Para executar um script de inicialização, consulte Executando o Script de Bootstrap.
Função Auxiliar | Funcionalidade |
---|---|
export_ranger_policies (ranger_config_dict) |
Esta função auxiliar exporta políticas de ranger em vários formatos. (JSON, CSV, EXCEL). Mas só há suporte para o formato JSON no Exemplo:
Ranger-Export-Config-Info:
Parâmetros Opcionais:
Quando o job bootstrap-script para exportar políticas do Ranger for bem-sucedido, o Ranger exportará políticas em um arquivo de formato especificado no local output_folder_path. |
import_ranger_policies (ranger_config_dict) |
Esta função auxiliar importa políticas do Ranger usando o arquivo de entrada JSON fornecido. Você pode criar e informar o objeto ranger_config_dict que tem parâmetros obrigatórios para executar a operação Exemplo: 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 : O caminho para o arquivo Ranger_policies.json , criado pela função Ranger-policy-export no cluster de origem. O arquivo JSON exportado pode ser colocado no caminho local do cluster de destino ou no local do Armazenamento de Objetos (URL PAR)Parâmetros Opcionais:
Quando o job bootstrap-script para importar políticas do Ranger for bem-sucedido, o Ranger importará políticas do |
restore_ranger_policies (ranger_config_dict) |
Esta função auxiliar restaura políticas do Ranger usando o arquivo de backup. Você pode informar qual arquivo de backup usar para restaurar as políticas do Ranger. Por padrão, esta função restaura políticas do Ranger usando o arquivo de backup mais recente presente no diretório de arquivos de backup. Você pode criar e informar o objeto Exemplo
Ranger-Restore-Config-Info: restore_policies_input_file_path: Um parâmetro opcional, Quando o job de bootstrap-script para restaurar políticas do Ranger é bem-sucedido, o Ranger restaura políticas usando o |
cleanup_ranger_policy_backup_files (ranger_config_dict) |
Esta função auxiliar exclui os arquivos de backup da política do Ranger usando a lista de arquivos ou o padrão. Você pode criar e informar o objeto Exemplo:
Ranger-Policy-Cleanup-Config-Info:
Exemplo:
|
Exemplos de Configuração de Importação e Exportação do Ranger
Para obter mais informações sobre as funções auxiliares de importação e exportação do Ranger, consulte Funções Auxiliares de Importação e Exportação do 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)
#!/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)
#!/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)
#!/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)