Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

31.2. IdM ドメインでのホストベースのアクセス制御設定

ホストベースのアクセス制御用にドメインを設定するには、次のコマンドを実行します。
  1. 重要
    カスタムの HBAC ルールを作成する前に、low_all ルールを無効にしないでください。これを行うと、どのホストにもアクセスできなくなります。

31.2.1. HBAC ルールの作成

HBAC ルールを作成するには、次のコマンドを使用できます。
例については、「HBAC ルールの例」 を参照してください。
注記
IdM は、ユーザーのプライマリーグループを、IdM グループオブジェクトへのリンクの代わりに、gidNumber 属性の数値として保存します。このため、HBAC ルールでは、ユーザーの補助グループだけで、プライマリーグループは参照できません。

Web UI - HBAC ルールの作成

  1. PolicyHost-Based Access ControlHBAC Rules を選択します。
  2. Add をクリックして、新規ルールの追加を開始します。
  3. ルールの名前を入力し、追加および編集 をクリックして、HBAC ルール設定ページに直接移動します。
  4. Who エリアで、ターゲットユーザーを指定します。
    • 指定したユーザーまたはグループにのみ適用する場合は、指定したユーザーとグループ を選択します。次に、Add をクリックしてユーザーまたはグループを追加します。
    • HBAC ルールをすべてのユーザーに適用するには、Anyone を選択します。

    図31.2 HBAC ルールのターゲットユーザーの指定

    HBAC ルールのターゲットユーザーの指定
  5. Accessing エリアで、ターゲットホストを指定します。
    • 指定したホストまたはグループにのみHBAC ルールを適用するには、指定したホストおよびグループ を選択します。次に、Add をクリックしてホストまたはグループを追加します。
    • HBAC ルールをすべてのホストに適用するには、Any Hostを選択します。
  6. Via Service エリアで、ターゲット HBAC サービスを指定します。
    • 指定したサービスまたはグループにのみ適用する場合は、指定したサービスとグループ を選択します。Add をクリックしてサービスまたはグループを追加します。
    • HBAC ルールをすべてのサービスに適用するには、Any Service を選択します。
    注記
    最も一般的なサービスおよびサービスグループのみが、デフォルトで HBAC ルールに対して設定されます。
    • 現在利用可能なサービスの一覧を表示するには、ポリシーホストベースのアクセス制御HBAC サービス を選択します。
    • 現在利用可能なサービスグループの一覧を表示するには、ポリシーホストベースのアクセス制御HBAC サービスグループ を選択します。
    さらにサービスおよびサービスグループを追加するには、「カスタム HBAC サービス用の HBAC サービスエントリーの追加」 および 「HBAC サービスグループの追加」 を参照してください。
  7. HBAC ルール設定ページで特定の設定を変更すると、ページの最上部にある 保存 が強調表示されます。この場合は、ボタンをクリックして変更を確定します。

コマンドライン: HBAC ルールの作成

  1. ipa hbacrule-add コマンドを使用して、ルールを追加します。
    $ ipa hbacrule-add
    Rule name: rule_name
    ---------------------------
    Added HBAC rule "rule_name"
    ---------------------------
      Rule name: rule_name
      Enabled: TRUE
  2. ターゲットユーザーを指定します。
    • 指定したユーザーまたはグループにのみ HBAC ルールを適用するには、ipa hbacrule-add-user コマンドを使用します。
      たとえば、グループを追加するには、次のコマンドを実行します。
      $ ipa hbacrule-add-user
      Rule name: rule_name
      [member user]:
      [member group]: group_name
        Rule name: rule_name
        Enabled: TRUE
        User Groups: group_name
      -------------------------
      Number of members added 1
      -------------------------
      複数のユーザーまたはグループを追加するには、--users オプションおよび --groups オプションを使用します。
      $ ipa hbacrule-add-user rule_name --users=user1 --users=user2 --users=user3
        Rule name: rule_name
        Enabled: TRUE
        Users: user1, user2, user3
      -------------------------
      Number of members added 3
      -------------------------
    • すべてのユーザーに HBAC ルールを適用するには、ipa hbacrule-mod コマンドを使用して、all ユーザーカテゴリーを指定します。
      $ ipa hbacrule-mod rule_name --usercat=all
      ------------------------------
      Modified HBAC rule "rule_name"
      ------------------------------
        Rule name: rule_name
        User category: all
        Enabled: TRUE
      注記
      HBAC ルールが個々のユーザーまたはグループに関連付けられていると、ipa hbacrule-mod --usercat=allが失敗します。この場合は、ipa hbacrule-remove-user コマンドを使用して、ユーザーとグループを削除します。
      詳細は、--help オプションを指定して ipa hbacrule-remove-user を実行します。
  3. ターゲットホストを指定します。
    • 指定したホストまたはグループにのみ HBAC ルールを適用するには、ipa hbacrule-add-host コマンドを使用します。
      たとえば、1 つのホストを追加するには、次のコマンドを実行します
      $ ipa hbacrule-add-host
      Rule name: rule_name
      [member host]: host.example.com
      [member host group]:
        Rule name: rule_name
        Enabled: TRUE
        Hosts: host.example.com
      -------------------------
      Number of members added 1
      -------------------------
      複数のホストまたはグループを追加するには、--hosts オプションおよび --hostgroups オプションを使用します。
      $ ipa hbacrule-add-host rule_name --hosts=host1 --hosts=host2 --hosts=host3
        Rule name: rule_name
        Enabled: TRUE
        Hosts: host1, host2, host3
      -------------------------
      Number of members added 3
      -------------------------
    • すべてのホストに HBAC ルールを適用するには、ipa hbacrule-mod コマンドを使用して、all ホストカテゴリーを指定します。
      $ ipa hbacrule-mod rule_name --hostcat=all
      ------------------------------
      Modified HBAC rule "rule_name"
      ------------------------------
        Rule name: rule_name
        Host category: all
        Enabled: TRUE
      注記
      HBAC ルールが個々のホストまたはグループに関連付けられていると、ipa hbacrule-mod --hostcat=allが失敗します。この場合は、ipa hbacrule-remove-host コマンドを使用して、ホストとグループを削除します。
      詳細は、--help オプションを指定して ipa hbacrule-remove-host を実行します。
  4. ターゲットの HBAC サービスを指定します。
    • 指定したサービスまたはグループにのみ HBAC ルールを適用するには、ipa hbacrule-add-service コマンドを使用します。
      たとえば、単一のサービスを追加するには、以下のコマンドを実行します。
      $ ipa hbacrule-add-service
      Rule name: rule_name
      [member HBAC service]: ftp
      [member HBAC service group]:
      Rule name: rule_name
      Enabled: TRUE
      Services: ftp
      -------------------------
      Number of members added 1
      -------------------------
      複数のサービスまたはグループを追加するには、--hbacsvcs オプションおよび --hbacsvcgroups オプションを使用できます。
      $ ipa hbacrule-add-service rule_name --hbacsvcs=su --hbacsvcs=sudo
        Rule name: rule_name
        Enabled: TRUE
        Services: su, sudo
      -------------------------
      Number of members added 2
      -------------------------
      注記
      最も一般的なサービスおよびサービスグループのみが、HBAC ルールに対して設定されます。さらに追加するには、「カスタム HBAC サービス用の HBAC サービスエントリーの追加」 および 「HBAC サービスグループの追加」 を参照してください。
    • すべてのサービスに HBAC ルールを適用するには、ipa hbacrule-mod コマンドを使用して、all サービスカテゴリーを指定します。
      $ ipa hbacrule-mod rule_name --servicecat=all
      ------------------------------
      Modified HBAC rule "rule_name"
      ------------------------------
        Rule name: rule_name
        Service category: all
        Enabled: TRUE
      注記
      HBAC ルールが個々のサービスまたはグループに関連付けられていると、ipa hbacrule-mod --servicecat=allが失敗します。この場合は、ipa hbacrule-remove-service コマンドを使用して、サービスとグループを削除します。
      詳細は、--help オプションを指定して ipa hbacrule-remove-service を実行します。
  5. オプション:HBAC ルールが正しく追加されたことを確認します。
    1. ipa hbacrule-find コマンドを使用して、HBAC ルールが IdM に追加されていることを確認します。
    2. ipa hbacrule-show を実行して、HBAC ルールのプロパティーを確認します。
    詳細は、--help オプションを指定してコマンドを実行します。

HBAC ルールの例

例31.1 任意のサービスを使用した全ホストへの単一ユーザーアクセスの付与

admin ユーザーが任意のサービスを使用して、ドメイン内のすべてのシステムにアクセスできるようにするには、新しい HBAC ルールを作成し、以下を設定します。
  • ユーザーを admin
  • (Web UI) ホストを Any hostに。または --hostcat=allipa hbacrule-add (ルールの追加時) または ipa hbacrule-mod に。
  • (Web UI) サービスを Any serviceに。または --servicecat=allipa hbacrule-add (ルールの追加時) または ipa hbacrule-mod に。

例31.2 特定のサービスのみをホストへのアクセスに使用できるようにする

すべてのユーザーが sudo 関連のサービスを使用して host.example.com という名前のホストにアクセスする必要があることを確認するには、新しい HBAC ルールを作成し、以下を設定します。
  • (Web UI) ユーザーを Anyoneに。または --usercat=allipa hbacrule-add (ルールの追加時) または ipa hbacrule-mod に。
  • host.example.com へのホスト
  • HBAC サービスグループを Sudo に。これは sudo と関連サービスのデフォルトグループです。