Rangerインポートおよびエクスポートの構成
Big Data ServiceでRanger構成をインポートおよびエクスポートするためのRangerインポートおよびエクスポート・ブートストラップ・ヘルパー機能が存在します。
Rangerインポートおよびエクスポートのブートストラップ・ヘルパー関数は、クラスタの回復性、リカバリ操作、およびRangerポリシーをあるクラスタから別のクラスタに移動する場合に役立ち、いくつかのシナリオで役立ちます。
- 障害回復
 - 新しいクラスタを作成し、
import_ranger_policiesヘルパー関数を使用して、古いクラスタに存在するすべてのRangerポリシーを新しいクラスタにインポートできます。 - テスト環境または開発環境
 - 既存のクラスタRangerポリシーを使用してテスト環境または開発環境を作成するには、
export_ranger_policiesヘルパー関数を使用して、ソース・クラスタに存在するRangerポリシーをすべてJSONファイルにエクスポートします。import_ranger_policiesヘルパー・ファンクションを使用すると、すべてのポリシーを宛先クラスタにインポートできます。 
Rangerのインポートおよびエクスポート操作を実行するには、AmbariとRangerの管理資格証明が同じである必要があります。
ブートストラップ・スクリプトを実行するには、「ブートストラップ・スクリプトの作成」を参照してください。
ビッグ・データ・サービス3.1.1より前に古いRangerポリシーをインポートするには、ポリシー内のすべてのリスト・ユーザーが使用可能であることを確認してください。
Ranger importおよびexportヘルパー関数の詳細は、次を参照してください。
レンジャーのインポートおよびエクスポート・ヘルパー関数
Rangerインポートおよびエクスポートのブートストラップ・スクリプト構成の詳細は、「Rangerインポートおよびエクスポートの構成」を参照してください。
Rangerインポートおよびエクスポート・ヘルパー関数の例は、Rangerインポートおよびエクスポート構成の例を参照してください。
ブートストラップ・スクリプトを実行するには、「ブートストラップ・スクリプトの作成」を参照してください。
| Helper関数 | 機能 | 
|---|---|
export_ranger_policies(ranger_config_dict) | 
 このヘルパー関数は、複数の形式でレンジャー・ポリシーをエクスポートします。(JSON、CSV、EXCEL)。ただし、 例: 
Ranger-Export-Config-Info: 
 オプションのパラメータ: 
 Rangerポリシーをエクスポートするbootstrap-scriptジョブが成功すると、Rangerはoutput_folder_pathの場所にある指定されたフォーマット・ファイルにポリシーをエクスポートします。  | 
import_ranger_policies(ranger_config_dict) | 
 このヘルパー関数は、指定されたJSON入力ファイルを使用してRangerポリシーをインポートします。 例: 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: ソース・クラスタでRanger-policy-export関数によって作成されたRanger_policies.jsonファイルへのパス。エクスポートされたJSONファイルは、ターゲット・クラスタのローカル・パスまたはオブジェクト・ストアの場所に配置できます。(PAR URL)オプションのパラメータ: 
 Rangerポリシーをインポートするbootstrap-scriptジョブが成功すると、Rangerは指定された  | 
restore_ranger_policies(ranger_config_dict) | 
 このヘルパー関数は、バックアップ・ファイルを使用してRangerポリシーをリストアします。Rangerポリシーのリストアに使用するバックアップ・ファイルを渡すことができます。デフォルトでは、このファンクションは、バックアップ・ファイル・ディレクトリに存在する最新のバックアップ・ファイルを使用してRangerポリシーをリストアします。 例 
Ranger-Restore-Config-Info: restore_policies_input_file_path: Rangerポリシーのリストアに使用するオプションのパラメータ Rangerポリシーをリストアするbootstrap-scriptジョブが成功すると、Rangerは指定された  | 
cleanup_ranger_policy_backup_files(ranger_config_dict) | 
 このヘルパー・ファンクションは、ファイル・リストまたはパターンを使用してRangerポリシー・バックアップ・ファイルを削除します。 例: 
Ranger-Policy-Cleanup-Config-Info: 
 例: 
 
 
  | 
Rangerのインポートおよびエクスポート構成の例
Rangerインポートおよびエクスポートのヘルパー関数の詳細は、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)