50.2.2. IdM CLI での HBAC ルールのテスト
IdM では、シミュレートシナリオを使用して、さまざまな状況で HBAC 設定をテストできます。シミュレートしたテストを実行することで、実稼働環境に HBAC ルールをデプロイする前に、設定ミスやセキュリティーリスクを見つけることができます。
実稼働環境で使用する前に、カスタム HBAC ルールを常にテストしてください。
IdM では、信頼された Active Directory (AD) ユーザーに対する HBAC ルールの影響は検証されない点に注意してください。IdM LDAP ディレクトリーには AD データが保存されないため、IdM は、HBAC シナリオをシミュレートするときに AD ユーザーのグループメンバーシップを解決できません。
手順
ipa hbactestコマンドを使用して、HBAC ルールをテストします。1 つの HBAC ルールをテストする方法と、複数の HBAC ルールをテストする方法があります。1 つの HBAC ルールをテストするには、以下を実行します。
$ ipa hbactest --user=sysadmin --host=server.idm.example.com --service=sudo --rules=rule_name --------------------- Access granted: True --------------------- Matched rules: rule_name複数の HBAC ルールをテストするには、以下を実行します。
sysadmin にすべてのホストで
sshの使用のみを許可する 2 番目のルールを追加します。$ ipa hbacrule-add --hostcat=all rule2_name $ ipa hbacrule-add-user --users sysadmin rule2_name $ ipa hbacrule-add-service --hbacsvcs=sshd rule2_name Rule name: rule2_name Host category: all Enabled: True Users: admin HBAC Services: sshd ------------------------- Number of members added 1 -------------------------次のコマンドを実行して、複数の HBAC ルールをテストします。
$ ipa hbactest --user=sysadmin --host=server.idm.example.com --service=sudo --rules=rule_name --rules=rule2_name -------------------- Access granted: True -------------------- Matched rules: rule_name Not matched rules: rule2_name出力において、Matched rules には正常なアクセスを許可したルールがリスト表示され、Not matched rules にはアクセスを妨げたルールがリスト表示されます。
--rulesオプションを指定しない場合は、すべてのルールが適用されることに注意してください。--rulesを使用すると、各ルールを個別にテストするのに役立ちます。