46.2.2. 在 IdM CLI 中测试 HBAC 规则
IdM 允许您使用模拟场景测试各种情况下的 HBAC 配置。执行这些模拟测试,您可以在在生产环境中部署 HBAC 规则前发现错误配置问题或安全风险。
在在生产环境中开始使用它们之前,请始终测试自定义 HBAC 规则。
请注意,IdM 不测试 HBAC 规则对可信活动目录(AD)用户的影响。因为 IdM LDAP 目录不存储 AD 数据,所以当模拟 HBAC 场景时,IdM 不能解析 AD 用户的组成员资格。
流程
使用
ipa hbactest命令测试您的 HBAC 规则。您有测试单个 HBAC 规则或多个 HBAC 规则的选项。要测试单个 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:$ 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对于独立测试每个规则很有用。