すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:JindoFS の権限

最終更新日:Jun 22, 2026

JindoFS は、ブロックストレージモードで UNIX 権限と Ranger 権限という 2 つのファイルシステム権限モデルをサポートしています。

背景情報

ブロックストレージモードでは、次の 2 種類のファイルシステム権限がサポートされています:
  • UNIX 権限:ファイルには 777 権限が割り当てられます。
  • Ranger 権限:パスのワイルドカードなどの詳細設定をサポートしています。
ユーザー権限は Apache Ranger で設定します。JindoFS プラグインを有効にすると、JindoFS と他のコンポーネントの権限を一元管理できます。JindoFS权限

UNIX 権限の有効化

  1. SmartData サービスに移動します。
    1. EMR コンソールにログインします。
    2. 上部のナビゲーションバーで、必要に応じてリージョンとリソースグループを選択します。
    3. [クラスター] タブをクリックします。
    4. [クラスター] ページで、対象のクラスターを見つけ、[操作] 列の [詳細] をクリックします。
    5. 左側のナビゲーションウィンドウで、[サービス] > SmartData を選択します。
  2. bigboot サービスの設定ページに移動します。
    1. [設定] タブをクリックします。
    2. bigboot をクリックします。
  3. Custom Configuration をクリックします。 Add Configuration Item ダイアログボックスで、[キー]jfs.namespaces.<namespace>.permission.method を、[値]unix を設定し、次に OK をクリックします。
  4. 設定を保存します。
    1. 右上隅の [保存] をクリックします。
    2. [確認] ダイアログボックスで、変更理由を入力し、[設定の自動更新] を有効にします。
    3. [OK] をクリックします。
  5. コンポーネントを再起動します。
    1. 右上隅の を選択します。
    2. 再起動の理由を入力し、[OK] をクリックします。
    ファイルシステムの権限を有効にすると、HDFS と同じ方法で権限を管理できます。次のコマンドがサポートされています。
    hadoop fs -chmod 777 jfs://{namespace_name}/dir1/file1
    hadoop fs -chown john:staff jfs://{namespace_name}/dir1/file1
    ユーザーにファイルの権限がない場合、次のようなエラーメッセージが返されます。
    [root@emr-header-1 ~]# hadoop fs -ls jfs://test/user/
    ls: java.security.AccessControlException: Permission denied. Server Exception

Ranger 権限の有効化

  1. Ranger を使用するように JindoFS を設定します。
    1. [bigboot] タブで、Custom Configuration をクリックします。
    2. Add Configuration Item ダイアログボックスで、[キー]jfs.namespaces.<namespace>.permission.method に、[値]ranger に設定します。
    3. 設定を保存します。
      1. 右上隅で、Save をクリックします。
      2. 変更する ダイアログボックスで、理由を入力し、[自動更新設定] を有効にします。
      3. OK をクリックします。
    4. コンポーネントを再起動します。
      1. 右上隅の を選択します。
      2. 理由を入力し、OK をクリックします。
  2. Ranger を設定します。
    1. Ranger UI に移動します。
      詳細については、「概要」をご参照ください。
    2. Ranger UI で HDFS サービスを追加します。
      Service Manager ページで、HDFS パネルの右上隅にある + アイコンをクリックして、HDFS サービスを作成します。
    3. 次のパラメーターを設定します。
      パラメーター 説明
      サービス名 サービス名。jfs-{namespace_name} のフォーマットを使用します。
      ユーザー名 カスタムのユーザー名。
      パスワード カスタムのパスワード。
      Namenode URL jfs://{namespace_name} を入力します。
      認証の有効化 デフォルト値の No のままにします。
      認証タイプ デフォルト値の Simple のままにします。
      dfs.datanode.kerberos.principal 空のままにします。
      dfs.namenode.kerberos.principal
      dfs.secondary.namenode.kerberos.principal
      新しい設定の追加
    4. [追加] をクリックします。

LDAP ユーザーグループでの Ranger 権限の有効化

Ranger UserSync を使用して LDAP サーバーからユーザーグループ情報を同期する場合、JindoFS の設定も更新する必要があります。この変更により、JindoFS は LDAP からユーザーグループ情報を取得し、ユーザーのグループメンバーシップに基づいて Ranger の権限を検証できるようになります。

  1. [bigboot] タブで、Custom Configuration をクリックします。
  2. [設定項目の追加] ダイアログボックスで、次のパラメーターを追加して LDAP を設定し、[OK] をクリックします。
    パラメーター
    hadoop.security.group.mapping org.apache.hadoop.security.CompositeGroupsMapping
    hadoop.security.group.mapping.providers shell4services,ad4users
    hadoop.security.group.mapping.providers.combined true
    hadoop.security.group.mapping.provider.shell4services org.apache.hadoop.security.ShellBasedUnixGroupsMapping
    hadoop.security.group.mapping.provider.ad4users org.apache.hadoop.security.LdapGroupsMapping
    hadoop.security.group.mapping.ldap.url ldap://emr-header-1:10389
    hadoop.security.group.mapping.ldap.search.filter.user (&(objectClass=person)(uid={0}))
    hadoop.security.group.mapping.ldap.search.filter.group (objectClass=groupOfNames)
    hadoop.security.group.mapping.ldap.base o=emr
    説明 これらの設定項目は、オープンソースの HDFS の対応する項目と一致している必要があります。
  3. 設定を保存します。
    1. 右上隅の [保存] をクリックします。
    2. [確認] ダイアログボックスで、理由を入力し、[設定の自動更新] を有効にします。
    3. [OK] をクリックします。
  4. 関連するすべてのコンポーネントを再起動します。
    1. 右上隅の を選択します。
    2. 再起動の理由を入力し、[OK] をクリックします。
  5. SSH 経由で emr-header-1 ノードにログインし、Ranger UserSync を設定して、LDAP オプションを有効にします。
    詳細については、「Ranger UserSync と LDAP サーバーの統合」をご参照ください。