13.6. ユーザーおよびホストの自動グループメンバーシップの定義

13.6.1. IdM での自動グループメンバーシップの機能方法

13.6.1.1. 自動グループメンバーシップとは

自動グループメンバーシップを使用して、属性をもとに自動的にユーザーとホストをグループに割り当てることができます。たとえば、以下が可能です。
  • 従業員のマネージャー、場所またはその他の属性をもとに従業員のユーザーエントリーを複数のグループに分割することができます。
  • クラス、場所、またはその他の属性をもとにホストを分割できます。
  • 全ユーザーまたは全ホストを単一のグローバグループに追加できます。

13.6.1.2. 自動グループメンバーシップの利点

グループメンバーシップの手動管理によるオーバーヘッドの削減
自動グループメンバーシップでは、管理者はユーザーとホストをグループに手動で割り当てる必要がありません。
ユーザーおよびホスト管理での一貫性向上
自動グループメンバーシップでは、厳密に定義され、自動評価された基準をもとに、ユーザーおよびホストが割り当てられます。
グループベースの設定管理の容易化
様々な設定がグループに定義されており、sudo ルール、automount、またはアクセス制御など、個別のグループメンバーに適用されます。自動グループメンバーを使用する場合には、ユーザーおよびホストは自動的に特定のグループに追加され、グループベースの設定の管理が簡素化されます。

13.6.1.3. Automember ルール

自動グループメンバーシップを設定する際には、管理者は automember ルール を定義します。automember ルールは、特定ユーザーまたはホストグループに適用されます。このルールには、ユーザーまたはホストが満たす必要のある 条件 が含まれており、それをもとにグループに追加、グループから除外されます。
包含条件
ユーザーまたはホストのエントリーが包含ルールを満たす場合には、グループに含まれます。
除外の条件
ユーザーまたはホストのエントリーが除外の条件を満たす場合にはグループに追加 されません
これらの条件は、Perl-compatible regular expressions (PCRE) 形式の正規表現で指定します。PCRE に関する詳しい情報は、pcresyntax(3) の man ページを参照してください。
IdM は除外の条件を先に評価してから、包含条件を評価します。競合がある場合には、除外の条件が包含の条件より優先されます。

13.6.2. automember ルールの追加

以下を使用して、automember ルールを追加してください。
automember ルールを追加した後に、以下を実行します。
  • 今後作成されるエントリーはすべて、指定したグループに所属します。エントリーが複数の automember ルールで指定した条件を満たす場合には、該当するすべてのグループに追加されます。
  • 既存のエントリーは、指定のグループのメンバーには追加されません。詳しい情報は、「automember ルールの既存のユーザーおよびホストへの適用」を参照してください。

Web UI: Automember ルールの追加

  1. IdentityAutomemberUser group rules または Host group rules を選択します。
  2. Add をクリックします。
  3. Automember rule フィールで、ルールを適用するグループを選択します。Add and Edit をクリックします。
  4. 包含および除外条件を 1 つ以上定義します。詳細は「Automember ルール」を参照してください。
    1. Inclusive または Exclusive セクションで Add をクリックします。
    2. Attribute フィールドで、必要な属性を選択します。
    3. Expression フィールドで、正規表現を定義します。
    4. Add をクリックします。
    たとえば、以下の条件は、ユーザーログインの属性 (uid) のすべての値 (.*) を対象としています。
    Automember ルール条件の追加

    図13.5 Automember ルール条件の追加

コマンドライン: Automember ルールの追加

  1. ipa automember-add コマンドを使用して、automember ルールを追加します。プロンプトが表示されたら、以下を指定します。
    • 対象のグループ名と一致する Automember rule
    • ルールの対象がユーザーグループか、ホストグループかを指定する Grouping Type。ユーザーグループを対象とするには group、ホストグループを対象とする場合は hostgroup を入力してください。
    たとえば user_group という名前のユーザーグループの automember ルールを追加するには以下を実行します。
    $ ipa automember-add
    Automember Rule: user_group
    Grouping Type: group
    --------------------------------
    Added automember rule "user_group"
    --------------------------------
      Automember Rule: user_group
  2. 包含および除外条件を 1 つ以上定義します。詳細は「Automember ルール」を参照してください。
    1. 条件を追加するには ipa automember-add-condition コマンドを使用します。プロンプトが表示されたら、以下を指定します。
      • 対象のグループ名と一致する Automember rule
      • フィルターを適用するエントリー属性を指定する Attribute Key。たとえば、ユーザーの manager などです。
      • ルールの対象がユーザーグループか、ホストグループかを指定する Grouping Type。ユーザーグループを対象とするには group、ホストグループを対象とする場合は hostgroup を入力してください。
      • 正規表現として 1 つまたは複数の条件を指定する Inclusive regex および Exclusive regex。条件を 1 つだけ指定する場合は、他の条件を指定するようにプロンプトが表示されたら、Enter を押してください。
      たとえば、以下の条件は、ユーザーログインの属性 (uid) のすべての値 (.*) を対象としています。
      $ ipa automember-add-condition
      Automember Rule: user_group
      Attribute Key: uid
      Grouping Type: group
      [Inclusive Regex]: .*
      [Exclusive Regex]:
      ----------------------------------
      Added condition(s) to "user_group"
      ----------------------------------
        Automember Rule: user_group
        Inclusive Regex: uid=.*
      ----------------------------
      Number of conditions added 1
      ----------------------------
    2. 条件を削除するには ipa automember-remove-condition コマンドを使用します。

例13.4 コマンドライン: 単一のグループに全エントリーを追加する Automember ルールの作成

cn または fqdn など、全ユーザーまたはホストエントリーが含む属性の包含条件を作成すると、今後作成されるユーザーまたはホストのすべてが単一のグループに追加されるようになります。
  1. all_hosts 当名前のホストグループなど、グループを作成します。「ユーザーまたはホストグループの追加および削除」を参照してください。
  2. 以下のように、新規ホストグループの automember ルールを追加します。
    $ ipa automember-add
    Automember Rule: all_hosts
    Grouping Type: hostgroup
    -------------------------------------
    Added automember rule "all_hosts"
    -------------------------------------
      Automember Rule: all_hosts
  3. 全ホストを対象とする包含条件を追加します。以下の例では、包含条件は fqdn 属性に含まれるホストすべて (.*) を対象としています。
    $ ipa automember-add-condition
    Automember Rule: all_hosts
    Attribute Key: fqdn
    Grouping Type: hostgroup
    [Inclusive Regex]: .*
    [Exclusive Regex]:
    ---------------------------------
    Added condition(s) to "all_hosts"
    ---------------------------------
      Automember Rule: all_hosts
      Inclusive Regex: fqdn=.*
    ----------------------------
    Number of conditions added 1
    ----------------------------
今後追加されるホストはすべて自動的に all_hosts グループに所属します。

例13.5 コマンドライン: 同期済みの AD ユーザー用の Automember ルールの作成

Active Directory (AD) から同期された Windows ユーザーは ntUser オブジェクトクラスを共有します。objectclass 属性に ntUser が含まれる全ユーザーを対象とする automember の条件を作成すると、今後作成される同期済みの AD ユーザーは AD ユーザーの共通グループに追加されるようになります。
  1. ad_users などの AD ユーザーのユーザーグループを作成します。「ユーザーまたはホストグループの追加および削除」を参照してください。
  2. 以下のように、新規ユーザーグループの automember ルールを追加します。
    $ ipa automember-add
    Automember Rule: ad_users
    Grouping Type: group
    -------------------------------------
    Added automember rule "ad_users"
    -------------------------------------
      Automember Rule: ad_users
  3. AD ユーザーを絞り込む包含条件を追加します。以下の例では、objectclass 属性に ntUser の値が含まれる全ユーザーを対象とします。
    $ ipa automember-add-condition
    Automember Rule: ad_users
    Attribute Key: objectclass
    Grouping Type: group
    [Inclusive Regex]: ntUser
    [Exclusive Regex]:
    -------------------------------------
    Added condition(s) to "ad_users"
    -------------------------------------
      Automember Rule: ad_users
      Inclusive Regex: objectclass=ntUser
    ----------------------------
    Number of conditions added 1
    ----------------------------
今後追加される AD ユーザーはすべて自動的に ad_users ユーザーグループに所属します。

13.6.3. automember ルールの既存のユーザーおよびホストへの適用

Automember ルールは、ルールの追加後に作成されたユーザーおよびホストエントリーに自動的に適用されます。ルールの適用前に存在するエントリーについては遡って適用されません。
ルールの追加前に存在するエントリーに automember のルールを適用するには、自動メンバーシップを手動で再構築してください。自動メンバーシップを再構築すると、既存の automember ルールがすべて再評価され、全エントリーまたは固有のエントリーにルールが適用されます。

Web UI: 既存のエントリーの自動メンバーシップの再構築

全ユーザーまたはホストの自動メンバーシップを再構築するには以下を実行します。
  1. IdentityUsers または Hosts を選択します。
  2. ActionsRebuild auto membership をクリックします。
    全ユーザーまたはホストの自動メンバーシップの再構築

    図13.6 全ユーザーまたはホストの自動メンバーシップの再構築

単一ユーザーまたはホストだけに自動メンバーシップを再構築するには、以下を実行します。
  1. IdentityUsers または Hosts を選択して、必要なユーザーログインまたはホスト名をクリックします。
  2. ActionsRebuild auto membership をクリックします。
    単一のユーザーまたはホストの自動メンバーシップの再構築

    図13.7 単一のユーザーまたはホストの自動メンバーシップの再構築

コマンドライン: 既存のエントリーの自動メンバーシップの再構築

全ユーザーの自動メンバーシップを再構築するには ipa automember-rebuild --type=group コマンドを使用します。
$ ipa automember-rebuild --type=group
--------------------------------------------------------
Automember rebuild task finished. Processed (9) entries.
--------------------------------------------------------
全ユーザーの自動メンバーシップを再構築するには、ipa automember-rebuild --type=hostgroup コマンドを使用します。
指定のユーザーの自動メンバーシップを再構築するには、ipa automember-rebuild --users=user コマンドを使用します。
$ ipa automember-rebuild --users=user1 --users=user2
--------------------------------------------------------
Automember rebuild task finished. Processed (2) entries.
--------------------------------------------------------
指定のホストの自動メンバーシップを再構築するには ipa automember-rebuild --hosts=example.com コマンドを使用します。

13.6.4. デフォルトの Automember グループ設定

デフォルトの automember グループを設定すると、automember ルールに一致しないユーザーまたはホストエントリーは自動的にデフォルトのグループに追加されます。
  1. ipa automember-default-group-set コマンドを使用して、デフォルトの automember グループを設定します。プロンプトが表示されたら、以下を指定します。
    • 対象となるグループ名を指定する Default (fallback) Group
    • 対象がユーザーグループか、ホストグループかを指定する Grouping Type。ユーザーグループを対象とするには group、ホストグループを対象とする場合は hostgroup を入力してください。
    以下に例を示します。
    $ ipa automember-default-group-set
    Default (fallback) Group: default_user_group
    Grouping Type: group
    ---------------------------------------------------
    Set default (fallback) group for automember "default_user_group"
    ---------------------------------------------------
      Default (fallback) Group: cn=default_user_group,cn=groups,cn=accounts,dc=example,dc=com
  2. グループが正しく設定されていることを確認するには、ipa automember-default-group-show コマンドを使用します。このコマンドでは、現在のデフォルト automember グループが表示されます。以下に例を示します。
    $ ipa automember-default-group-show
    Grouping Type: group
      Default (fallback) Group: cn=default_user_group,cn=groups,cn=accounts,dc=example,dc=com
現在のデフォルトの automember グループを削除するには、ipa automember-default-group-remove コマンドを使用します。