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 画面では、テストを実行するアイデンティティーの下にユーザーを指定し、Next をクリックします。

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

    HBAC テスト用のターゲットユーザーの指定
  3. Accessing 画面では、ユーザーがアクセスを試みるホストを指定し、Next をクリックします。
  4. Via Service 画面で、ユーザーが使用を試みるサービスを指定し、Next をクリックします。
  5. ルール 画面で、テストする HBAC ルールを選択し、Next をクリックします。ルールを選択しないと、すべてのルールがテストされます。
    Include Enabled を選択して、ステータスが Enabled のすべてのルールでテストを実行します。Include Disabled を選択して、ステータスが Disabled のすべてのルールに対してテストを実行します。HBAC ルールのステータスを表示および変更するには、PolicyHost-Based Access ControlHBAC Rules を選択します。
    重要
    テストが複数のルールで実行している場合は、選択したルールが少なくとも 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 コマンドを使用して、少なくとも以下の項目を指定します。
  • テストを実行するアイデンティティーのユーザー
  • ユーザーがアクセスを試みるホスト
  • ユーザーが使用を試みるサービス
たとえば、これらの値を対話的に指定する場合は、以下のようになります。
$ 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 ルールを定義します。
  • --disabled オプションを使用して、ステータスが disabled の HBAC ルールをテストします。
HBAC ルールの現在のステータスを確認するには、ipa hbacrule-find コマンドを実行します。

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

以下のテストでは、rule 2 という名前の HBAC ルールによりuser1sudo サービスを使用して example.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 は、アクセスを阻止するルールを一覧表示します。