検索

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

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

31.2.1. HBAC ルールの作成

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

Web UI - HBAC ルールの作成

  1. Policy Host-Based Access Control HBAC 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 と関連サービスのデフォルトグループです。

31.2.2. HBAC ルールのテスト

IdM では、シミュレートシナリオを使用して、さまざまな状況で HBAC 設定をテストできます。シミュレートしたテストランを実行することで、実稼働環境に HBAC ルールをデプロイする前に、設定ミスやセキュリティーリスクを見つけることができます。
重要
プロダクションで使用する前に、カスタム HBAC ルールを常にテストしてください。
IdM では、信頼された Active Directory (AD) ユーザーに対する HBAC ルールの影響については検証されない点に注意してください。AD データは IdM LDAP ディレクトリーに保存されないため、HBAC シナリオをシミュレートする場合、IdM は AD ユーザーのグループメンバーシップを解決できません。
HBAC ルールをテストするには、次のコマンドを使用できます。

Web UI - HBAC ルールのテスト

  1. Policy Host-Based Access Control HBAC Test を選択します。
  2. Who 画面で、テスト実行の ID が割り当てられたユーザーを指定し、 をクリックします。

    図31.3 HBAC テストのターゲットユーザーの指定

    HBAC テストのターゲットユーザーの指定
  3. アクセス 画面: ユーザーがアクセスしようとするホストを指定し、次へ をクリックします。
  4. Via Service 画面で、ユーザーが使用するサービスを指定し、 をクリックします。
  5. ルール 画面で、テストする HBAC ルールを選択し、次へ をクリックします。ルールを選択しないと、すべてのルールがテストされます。
    Include Enabled を選択して、状況が Enabled であるすべてのルールでテストを実行します。Include Disabled を選択して、状況が Disabled であるすべてのルールでテストを実行します。HBAC ルールの状態を表示および変更するには、ポリシー ホストベースのアクセス制御 HBAC ルール を選択します。
    重要
    テストを複数のルールで実行すると、選択したルールの中から少なくとも 1 つがアクセスを許可していれば成功します。
  6. Run Test 画面で Run Test をクリックします。

    図31.4 HBAC テストの実行

    HBAC テストの実行
  7. テスト結果を確認します。
    • ACCESS DENIED が表示された場合は、テストでそのユーザーにアクセスが許可されていませんでした。
    • ACCESS GRANTED が表示された場合は、ホストコンピューターに正常にアクセスできたことを示しています。

    図31.5 HBAC テスト結果の確認

    HBAC テスト結果の確認
    デフォルトでは、IdM はテスト結果を表示する際に、テストされている HBAC ルールをすべてリスト表示します。
    • Matched を選択して、アクセスが成功したことを許可するルールを表示します。
    • Unmatched を選択して、アクセスを阻止するルールを表示します。

コマンドライン: HBAC ルールのテスト

ipa hbactest コマンドを使用して、少なくとも以下の項目を指定します。
  • テストを実行する ID のユーザー
  • ユーザーがアクセスを試行するホスト
  • ユーザーが使用しようとするサービス
たとえば、この値を対話的に指定する場合は、以下のコマンドを実行します。
$ ipa hbactest
User name: user1
Target host: example.com
Service: sudo
---------------------
Access granted: False
---------------------
Not matched rules: rule1
デフォルトでは、IdM は、ステータスが enabled の全 HBAC ルールでテストを実行します。別の HBAC ルールを指定するには、以下を行います。
  • --rules オプションを使用して、1 つ以上の HBAC ルールを定義します。
  • --disable を使用して、ステータスが disabled である HBAC ルールをすべてテストします。
HBAC ルールの現在の状態を表示するには、ipa hbacrule-find コマンドを実行します。

例31.3 コマンドラインからの HBAC ルールのテスト

以下のテストでは、HBAC ルール rule2 により、sudo サービスを使用して user1example.com にアクセスできなくなりました。
$ ipa hbactest --user=user1 --host=example.com --service=sudo --rules=rule1
---------------------
Access granted: False
---------------------
  Not matched rules: rule1

例31.4 コマンドラインからの複数の HBAC ルールのテスト

複数の HBAC ルールをテストする場合に、ルール 1 つでも正常なユーザーアクセスを許可している場合には、テストに合格します。
$ ipa hbactest --user=user1 --host=example.com --service=sudo --rules=rule1 --rules=rule2
--------------------
Access granted: True
--------------------
  Matched rules: rule2
  Not matched rules: rule1
出力:
  • Matched rules は、正常なアクセスが許可されるルールをリスト表示します。
  • not match rules は、アクセスを阻止するルールをリスト表示します。

31.2.3. HBAC ルールの無効化

HBAC ルールを無効にするとルールが非アクティブになりますが、削除はされません。HBAC ルールを無効にした場合は、後で再度有効にできます。
注記
たとえば、カスタムの HBAC ルールを初めて設定する場合は、HBAC ルールを無効にすると便利です。新しい設定がデフォルトの low_all HBAC ルールで上書きされないようにするには、low_all を無効にする必要があります。
HBAC ルールを無効にするには、次のコマンドを使用できます。

Web UI - HBAC ルールの無効化

  1. Policy Host-Based Access Control HBAC Rules を選択します。
  2. 無効にする HBAC ルールを選択し、Disable をクリックします。

図31.6 allow_all HBAC ルールの無効化

allow_all HBAC ルールの無効化

コマンドライン: HBAC ルールの無効化

ipa hbacrule-disable コマンドを使用します。たとえば、allow_all ルールを無効にするには、次のコマンドを実行します。
$ ipa hbacrule-disable allow_all
------------------------------
Disabled HBAC rule "allow_all"
------------------------------
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.