RangerによるHueユーザー別HDFSアクセス権限管理
  • PDF

RangerによるHueユーザー別HDFSアクセス権限管理

  • PDF

VPC環境で利用できます。

Apache Rangerを用いて、ビッグデータエコシステムに対するセキュリティルールを実装できます。Rangerプロジェクトは、すべてのHadoopアプリケーションに一貫した方法でセキュリティガイドラインを定義して適用できるようにします。

このガイドでは、Rangerのユーザーベースのアクセス権限管理機能を通じてユーザー別にアクセスできるHDFSディレクトリを指定する方法を説明します。

参考

Rangerのユーザーベースのアクセス権限管理機能を利用するためには、Ranger Pluginの有効化を先行する必要があります。
Ranger Pluginを有効化する方法は、Ranger Pluginの有効化ガイドをご参照ください。

Rangerアーキテクチャの要約

image.png

  • クライアント側からリソースにアクセスする際、Rangerが中間でPolicyを基準にアクセス制御機能を実行します。
  • HDFS以外にもHive、HBaseなどのコンポーネントリソースに対してアクセス制御できます。

HUEを利用したUserの作成

  1. HUE UIにアクセスします。
  1. 左下のプロフィールにマウスオーバーし、[ユーザーの管理] をクリックします。

cloudhadoop-vpc-23-hue1.png

  1. 右上の [ユーザーの追加] をクリックし、ユーザー名とパスワードを入力して新しいユーザーを作成します。

cloudhadoop-vpc-23-hue2.png

  • ユーザーの作成に成功すると、ユーザーの管理ページで作成されたユーザーを確認できます。
  • 追加で左側の [ファイル] タブをクリックし、/userパスでユーザー名のディレクトリを確認できます。

Ranger Userの作成<

  1. Ranger UIにアクセスし、上段の Settings > [Users/Groups] ボタンをクリックします。
  2. 上段のGroupsタブをクリックし、[Add New Group] ボタンをクリックします。
  3. Rangerユーザーを追加するために、上段のUsersタブをクリックして [Add New User] ボタンをクリックします。

image.png

  • User Name項目にHUEで作成したユーザー名と同じユーザーを作成します。
  • PasswordとFirst Name項目は自由に設定できます。
  • Select Role項目で管理者(Admin)と一般ユーザー(User)の有無を選択できます。
  • Group項目には、あらかじめ作成したグループを選択します。

image.png

  • ユーザー作成を完了すると、上のようにRanger UIでユーザーリストを確認できます。

Ranger Policyの作成

  1. Policyを設定するために上段の Access Manager > Resource Based Policies をクリックします。
  2. HDFS タブにある [{クラスタ名}_hadoop] サービスをクリックします。

image.png

  1. 右側の [Add New Policy] ボタンをクリックします。

image.png

注意

[HDFS] タブの右側にある [+] ボタンは、Policyの作成ではなくServiceの作成ボタンです。Policy作成のためには、[+] ボタンではなく [{クラスタ名}_hadoop] サービスをクリックしてサービス内部でPolicyを作成します。

リソースの設定

  • [Policy Details] 項目でPolicy名と管理するリソースを設定できます。

image.png

  • [Resource Path] 項目にアクセスを制御するHDFSディレクトリのパスを入力します。
  • [recursive] オプションは、下位ディレクトリが含まれるかどうかを表します。

Conditionの作成

  • Ranger Policyを別に作成していない場合でも、HUEからHDFSにアクセスできます。
参考

Ranger Conditionが設定されていない場合は、HDFSとYARNは独自のACLを通じてユーザーアクセス管理を実行します。そのため、Ranger Conditionが存在しない場合でもHUEからHDFSにアクセスできます。しかし、その他のコンポーネントはRanger Pluginが有効化状態でもRanger Conditionが設定されていない場合にはアクセスが制限されます。

  • Ranger PolicyのConditionには、アクセス許可のためのAllow Conditionとアクセス制限のためのDeny Conditionの2種類があります。
  • HDFSはConditionが存在しなくても既にアクセスできるため、Ranger Policyを作成してまずDeny Conditionを作成することでHDFSアクセスを制限できます。
参考

Ranger PolicyはDeny Condition、Deny Conditionの例外、Allow Condition、Allow Conditionの例外の順にアクセス権限を確認します。

image.png

  • [Deny Condtions] タブの下の [Select User] 項目をクリックしてアクセスを制限するユーザーをすべて選択します。
  • 特定ユーザーのみアクセスを許可するように設定するには、[Exclude from Deny Conditions] タブの下の [Select User] 項目をクリックして例外ユーザーを指定できます。
  • Conditionの作成が完了したら、下段の [Add] ボタンをクリックしてPolicyを作成します。

image.png

  • 正常にアクセス制限を設定した場合、HUEでアクセス制限が適用されたHDFSディレクトリをアクセスした時、右上に警告ポップアップメッセージが出力されます。
  • 上記の例は、user-2ユーザーにログインしてから/user/user-1ディレクトリにアクセスを試みた時の画面です。アクセスが制限され、警告ポップアップメッセージの出力が確認できます。

Ranger Auditの確認

  • アクセス制限になった原因は、Ranger UIを通じて正確に把握できます。
  • 右上の [Audit] ボタンをクリックします。

image.png

  • アクセスリストで、Rangerによってアクセスが制限されたディレクトリを確認できます。
  • HDFSの独自ACLではなくRangerによって制限されたリソースは、Access Enforcerタブに'hadoop-acl'ではなく'ranger-acl'が出力されています。

この記事は役に立ちましたか