4.5. IdM API コマンドを使用したホストベースのアクセス制御の管理
以下の例は、IdM API コマンドを使用してホストベースのアクセス制御 (HBAC) を管理する方法の一般的なシナリオを示しています。
IdM API コマンドを使用した HBAC の管理の例
- HBAC ルールの作成
この例では、SSH サービスアクセスを処理する基本ルールを作成します。
api.Command.hbacrule_add("sshd_rule")
- HBAC ルールへのユーザーの追加
この例では、ユーザー
john
をsshd_rule
HBAC ルールに追加します。api.Command.hbacrule_add_user("sshd_rule", user="john")
- HBAC ルールへのグループの追加
この例では、グループ
developers
をsshd_rule
HBAC ルールに追加します。api.Command.hbacrule_add_user("sshd_rule", group="developers")
- HBAC ルールからのユーザーの削除
この例では、ユーザー
john
をsshd_rule
HBAC ルールから削除します。api.Command.hbacrule_remove_user("sshd_rule", user="john")
- 新しいターゲット HBAC サービスの登録
ターゲットサービスを HBAC ルールに割り当てる前に、ターゲットサービスを登録する必要があります。この例では、
chronyd
サービスを登録します。api.Command.hbacsvc_add("chronyd")
- 登録済みサービスの HBAC ルールへの割り当て
この例では、
sshd
サービスをsshd_rule
HBAC ルールに割り当てます。このサービスはデフォルトで IPA に登録されているため、事前にhbacsvc_add
で登録する必要はありません。api.Command.hbacrule_add_service("sshd_rule", hbacsvc="sshd")
- HBAC ルールへのホストの追加
この例では、
workstations
ホストグループをsshd_rule
HBAC ルールに追加します。api.Command.hbacrule_add_host("sshd_rule", hostgroup="workstations")
- HBAC ルールのテスト
この例では、
workstation.ipa.test
ホストに対してsshd_rule
HBAC ルールを使用します。ユーザーjohn
からのサービスsshd
をターゲットとしています。api.Command.hbactest(user="john", targethost="workstation.ipa.test", service="sshd", rules="sshd_rule")
- HBAC ルールの有効化
この例では、
sshd_rule
HBAC ルールを有効にします。api.Command.hbacrule_enable("sshd_rule")
- HBAC ルールの無効化
この例では、
sshd_rule
HBAC ルールを無効にします。api.Command.hbacrule_disable("sshd_rule")