Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

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

31.2.2. HBAC ルールのテスト

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

Web UI - HBAC ルールのテスト

  1. PolicyHost-Based Access ControlHBAC 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 は、アクセスを阻止するルールを一覧表示します。