Ranger Pluginでのアクセス制御設定

Prev Next

最新のコンテンツが反映されていません。早急にアップデート内容をご提供できるよう努めております。最新のコンテンツ内容は韓国語ページをご参照ください。

VPC環境で利用できます。

Apache Rangerでビックデータのエコシステムに関するセキュリティルールを実現できます。Rangerプロジェクトは、すべての Hadoopアプリケーションに統一した方式でセキュリティガイドラインを定義して適用するのに役立ちます。

Rangerプラグインを有効にする

参考

クラスタにインストールされたサービスにどのようなものがあるかによって、有効にできるプラグインが決まっています(デフォルト値: プラグインを無効にし、2.3バージョン以上の COVEROSS認証の構成時に有効化)。
Rangerで Security Policyを管理するには、プラグインを ON に変更する必要があります。HDFS、Hive、YARNなどのプラグインを有効にできます。

  1. Ambari UIにアクセスした後、Services > Ranger > [CONFIGS] > RANGER PLUGINタブで Pluginを有効にすることで、Rangerを利用した権限管理が可能になります。HDFS Ranger PluginON ステータスに変更し、構成値を保存します。
    chadoop-3-8-01-ranger_ko

  2. HDFS Ranger Pluginを有効にすると、Services > HDFS > [CONFIGS] > ADVANCED > Advanced ranger-hdfs-plugin-propertiesEnable Ranger for HDFSチェックボックスが自動的にチェックされます。
    chadoop-3-8-01_1_ko

  3. Advanced hdfs-site項目の dfs.permissions.enabledの値を trueに設定します。この設定を反映することで、Ranger Auditに履歴を残せます。
    chadoop-3-8-01-hdfs_ko

  4. HDFS、HIVE、YARN、PRESTOサービスを再起動する必要があります。右上の [ACTIONS] > Restart Allをクリックした後、ポップアップの [CONFIRM RESTART ALL] をクリックして変更された設定を適用します。
    chadoop-3-8-02_ko

参考

左サイドバーで [...]> Restart All Requiredをクリックして再起動が必要なコンポーネントを同時に再起動できます。

  1. Dependent Configurationsプロンプトが表示されたら、 [OK] ボタンをクリックします。
    chadoop-3-8-04_ko

Ranger Admin UI

  1. SSL VPNにアクセスします。
  2. Ranger Admin UIにアクセスする Cloud Hadoopクラスタを選択した後、 [Application別に見る] > Ranger Web UIをクリックします。

または、コンソールクラスタ詳細情報でドメインアドレスを確認します。以下のように URLで Ranger Admin UIに、直ちにアクセスできます。

 https://{ドメインアドレス}:6182/

chadoop-3-8-05_ko

参考
  • Cloud Hadoop 1.3バージョンの Ranger UIアカウント(ID・Password)は、admin/adminに設定されます。
  • Cloud Hadoop 1.4バージョン以上の Ranger UIアカウント(ID/Password)は、admin/{ユーザーが入力したパスワード}に設定されます。
  1. Ranger Admin UIにアクセスしてどのようなサービスに Policyを適用中か確認します。

    • Ranger Admin UIにアクセスすると、事前タスクでプラグインを有効にした HDFS、HIVE、YARN Policyが存在することを確認できます。
      chadoop-3-8-06_ko
  2. HDFSプラグインをクリックした後、List of Policies画面でデフォルトで作成された Policyのルールを確認します。
    chadoop-3-8-07_ko

  • Action > chadoop-3-8-icon-vpc_ko をクリックします。Select Userは、すべてのパスに対して Read、Write、Execute権限を持っていることを確認できます。
    chadoop-3-8-08_ko

Ranger Policyを作成する

  1. Ranger Admin UI初画面で HDFSプラグインにデフォルトで表示される [{クラスタ名}_hadoop] Policyをクリックします。
    chadoop-3-8-10-2_ko

  2. 以下のように [Add New Policy] ボタンを選択した後、ポリシーを入力します。

    • Resource Pathには、他のパスを入力しても構いません。ここでは、管理者アカウントの HDFSホームディレクトリを使用しています。特定のディレクトリに以下のすべてのファイルやサブディレクトリに権限が適用されるようにするには、 [Recursive] ボタンのステータスを有効に設定します。
    • SSHアクセスアカウントの sshuserがこのパスにアクセスできるように、Select Usersshuserを選択します。
    • ここでは、Read、Write、Executeのすべての権限を付与しました。

    chadoop-3-8-10_ko

    chadoop-3-8-10-1_ko

参考

Cloud Hadoopは、インストール時に設定したクラスタ管理者アカウント(e.g.df-test17)について HDFSホームディレクトリをデフォルトで作成します。

  1. ls コマンドで作成したルールが適用されているか確認します。
    • クラスタのどのノードにアクセスしても構いません。
    • ノードに SSHでアクセスして以下のように mkdir コマンドで sshuser アカウントの /user/{클러스터 계정명} ディレクトリに、新しいディレクトリを作成します。
    • ls コマンドでディレクトリが正しく作成されているかテストします。
$ hadoop fs -mkdir /user/{クラスタアカウント名}/tmp
$ hadoop fs -ls /user/{クラスタアカウント名}

chadoop-3-8-11_ko

  1. Ranger Audit UIでアクセス試行したログを確認できます。
    chadoop-3-8-11-audit_ko
参考
  • Cloud Hadoop 1.8バージョンは PRESTOプラグインを追加提供します。
    chadoop-3-8-01-presto_ko
  • Cloud Hadoop 1.8バージョンは Presto Ranger Pluginを追加提供します。
    chadoop-3-8-01-presto2_ko

Trinoアクセス権限管理

Trinoのアクセス制御は、Catalog、Schema、Tableレベル順に設定します。つまり、Schemaレベルで権限を制御するには Catalogレベルで予めアクセスを制御する必要があります。Catalogレベルの Policyを作成した後、別途 Schemaレベルの Policyを作成します。

Catalogレベルで権限を制御する方法は、次の通りです。
chadoop-3-8-11-trino

  1. Ranger Web UI > Trino > Add New Policyを選択します。
  2. cataloghiveを入力します。
  3. Allow Conditions > Select Userに権限を付与したいユーザーを入力します。