22.4.2. ホストベースのアクセス制御 (CLI ベース) のテストシナリオ
注記
この hbactest コマンドは、信頼された Active Directory ユーザーでは機能しません。Active Directory のユーザー/グループの関連付けは、ユーザーがログインし、これらのデータは IdM LDAP ディレクトリーに保存されないため、動的に決定されます。この場合、hbactest コマンドは、アクセス制御ルールが適用される仕組みをチェックするためにグループメンバーシップを解決できません。
この hbactest コマンドは、非常に特殊な状況でホストベースのアクセス制御ルールを設定していました。テスト実行では、以下を定義します。
- ユーザーは、そのユーザー (
--user
) のルールパフォーマンスをテストするために操作を実行します。 - ログインクライアント Y (
--service
) の使用 - ホスト Z (
--host
) をターゲットにするには、次のコマンドを実行します。 - テストするルール (
--rules
): これが使用されていない場合は、有効なすべてのルールがテストされます。 - オプション: hbactest は一致するルール、一致しないルール、または無効なルールに関する詳細情報を返します。この詳細なルール出力は
--nodetail
を使用して無効にすることができます。そのため、テストが単に実行され、アクセスが付与されたかどうかを返します。
注記
この hbactest スクリプトは、実際にはターゲットホストに接続しません。代わりに、IdM データベース内のルールを使用して、SSSD クライアントが IdM サーバーに接続しているかのように、特定の状況でルールがどのように適用されるかをシミュレートします。
さらに、指定の情報と設定に基づいてシミュレーションされたテストを実行しますが、実際にはターゲットホストに対してサービス要求を試行する訳ではありません。
例22.4 すべてのアクティブなルールのテスト
最も基本的なコマンドは、すべてのアクティブなルールをチェックします。特定の接続シナリオが必要なため、ユーザー、ログインサービス、およびターゲットホストが提供され、テストツールは接続をチェックします。
[jsmith@server ~]$ kinit admin [jsmith@server ~]$ ipa hbactest --user=jsmith --host=target.example.com --service=ssh -------------------- Access granted: True -------------------- Matched rules: allow_all Matched rules: sshd-jsmith Matched rules: web-rules Not matched rules: allGroup
例22.5 特定のルールのテスト
特定のルール (または複数のルール) を確認することができます。
[jsmith@server ~]$ kinit admin [jsmith@server ~]$ ipa hbactest --user=jsmith --host=target.example.com --service=ssh --rules=myrule --------------------- Access granted: True --------------------- notmatched: myrule
例22.6 テスト固有のルールとすべてが有効化
この
--rules
オプションは、テストする特定のルールを一覧表示します。ただし、ドメインで有効なすべてのルールに対して、指定したルールをテストすると便利です。これは、--enabled
オプションを追加することで実行できます。これには、指定されていない有効なルールと、指定したルールを含みます。
[jsmith@server ~]$ kinit admin [jsmith@server ~]$ ipa hbactest --user=jsmith --host=target.example.com --service=ssh --rules=myrule --enabled -------------------- Access granted: True -------------------- matched: my-second-rule notmatched: my-third-rule matched: myrule matched: allow_all
--disabled
オプションを使用すると、無効 なルールと同様の比較を実行できます。この --rules
オプションを使用すると、指定したルールと、無効なすべてのルールがチェックされます。この --disabled
オプションを使用すると、無効にしたすべてのルールがチェックされます。