Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
13.6. ユーザーおよびホストの自動グループメンバーシップの定義
13.6.1. IdM で自動グループメンバーシップが機能する仕組み
13.6.1.1. 自動グループメンバーシップとは
自動グループメンバーシップを使用すると、属性に基づいてユーザーとホストをグループに自動的に割り当てることができます。たとえば、以下を行うことができます。
- 従業員のマネージャー、ロケーション、またはその他の属性に基づいて従業員のユーザーエントリーをグループに分類する。
- クラス、ロケーション、またはその他の属性に基づいてホストを分類する。
- 全ユーザーまたは全ホストを 1 つのグローバルグループに追加する。
13.6.1.2. 自動グループメンバーシップの利点
- グループメンバーシップを手動で管理するオーバーヘッドの削減
- 自動グループメンバーシップでは、管理者はユーザーとホストをグループに手動で割り当てなくなりました。
- ユーザーおよびホスト管理における一貫性の向上
- 自動グループメンバーシップでは、ユーザーとホストは、厳密に定義され自動評価された基準をもとにグループに割り当てられます。
- グループベースの設定の容易な管理
- さまざまな設定がグループに定義され、
sudo
ルール、automount
、またはアクセス制御などの個別のグループメンバーに適用されます。自動グループメンバーシップを使用すると、ユーザーとホストは指定されたグループに自動的に追加されます。これにより、グループベースの設定の管理が容易になります。
13.6.1.3. automember ルール
自動グループメンバーシップを設定する場合、管理者は automember ルール を定義します。automember ルールは、特定のユーザーまたはホストグループに適用されます。これには、グループに含める/除外するためにユーザーまたはホストが満たす必要がある 条件 が含まれます。
- 包含条件
- ユーザーまたはホストのエントリーが包含条件を満たす場合は、グループに含まれます。
- 除外条件
- ユーザーまたはホストのエントリーが除外された状態を満たす場合は、グループには 含まれません。
この条件は、Perl 互換正規表現 (PCRE) 形式の正規表現として指定します。PCRE の詳細は、pcresyntax(3) の man ページを参照してください。
IdM は、包含条件よりも除外条件を先に評価します。競合が発生した場合は、包含条件よりも除外条件が優先されます。
13.6.2. automember ルールの追加
automember ルールを追加するには、以下のツールを使用します。
- IdM Web UI(「Web UI: automember ルールの追加」を参照)
- コマンドライン (「コマンドライン: automember ルールの追加」を参照)
automember ルールを追加すると、以下のようになります。
- 今後作成されるすべてのエントリーは、指定されたグループのメンバーになります。エントリーが複数の automember ルールで指定された条件を満たすと、対応するグループすべてに追加されます。
- 既存のエントリーは、指定されたグループのメンバーにはなりません。詳細は、「既存のユーザーおよびホストへの automember ルールの適用」を参照してください。
Web UI: automember ルールの追加
- Identity → Automember → User group rules または Host group rules を選択します。
- Add をクリックします。
- Automember rule フィールドで、ルールを適用するグループを選択します。Add and Edit をクリックします。
- 1 つ以上の包括的および排他的条件を定義します。詳細は「automember ルール」を参照してください。
- Inclusive セクションまたは Exclusive セクションで、Add をクリックします。
- Attribute フィールドで、必要な属性を選択します。
- Expression フィールドに正規表現を定義します。
- Add をクリックします。
たとえば、以下の条件は、ユーザーログイン属性 (uid
) のすべての値 (.*
) を対象にしています。図13.5 automember ルール条件の追加
コマンドライン: automember ルールの追加
- ipa automember-add コマンドを使用して、automember ルールを追加します。プロンプトが表示されたら、以下を指定します。
Automember rule
: 対象のグループ名と一致します。Grouping Type
: ルールのターゲットがユーザーグループか、ホストグループであるかを指定します。ユーザーグループをターゲットにするには、group
を入力します。ホストグループをターゲットに設定するには、ホストグループ
を入力します。
たとえば、user_group
という名前のユーザーグループの automember ルールを追加するには、以下を実行します。$ ipa automember-add Automember Rule:
user_group
Grouping Type:group
-------------------------------- Added automember rule "user_group" -------------------------------- Automember Rule: user_group - 1 つ以上の包括的および排他的条件を定義します。詳細は「automember ルール」を参照してください。
- 条件を追加するには、ipa automember-add-condition コマンドを使用します。プロンプトが表示されたら、以下を指定します。
Automember rule
: 対象のグループ名と一致します。属性キー
: フィルターが適用されるエントリー属性を指定します。たとえば、ユーザーのmanager
です。Grouping Type
: ルールのターゲットがユーザーグループか、ホストグループであるかを指定します。ユーザーグループをターゲットにするには、group
を入力します。ホストグループをターゲットに設定するには、ホストグループ
を入力します。包含正規表現
と除外正規表現
: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 ---------------------------- - 条件を削除するには、ipa automember-remove-condition コマンドを使用します。
例13.5 コマンドライン: すべてのエントリーを 1 つのグループに追加する automember ルールの作成
cn
または fqdn
など、すべてのユーザーまたはホストエントリーに含まれる属性に包含条件を作成すると、今後作成されるすべてのユーザーまたはホストが 1 つのグループに追加されるようになります。
all_hosts
という名前のホストグループなど、グループを作成します。「ユーザーまたはホストグループの追加と削除」を参照してください。- 新規ホストグループの automember ルールを追加します。以下に例を示します。
$ ipa automember-add Automember Rule:
all_hosts
Grouping Type:hostgroup
------------------------------------- Added automember rule "all_hosts" ------------------------------------- Automember Rule: all_hosts - すべてのホストを対象とした包含条件を追加します。以下の例では、包含条件は
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.6 コマンドライン: 同期 AD ユーザーの automember ルールの作成
Active Directory(AD) から同期した Windows ユーザーは、
ntUser
オブジェクトクラスを共有します。objectclass
属性で ntUser
が指定されたすべてのユーザーを対象とした automember 条件を作成すると、今後作成されたすべての同期 AD ユーザーが AD ユーザーの共通グループに含まれるようになります。
ad_users
などの、AD ユーザーのユーザーグループを作成します。「ユーザーまたはホストグループの追加と削除」を参照してください。- 新規ユーザーグループの automember ルールを追加します。以下に例を示します。
$ ipa automember-add Automember Rule:
ad_users
Grouping Type:group
------------------------------------- Added automember rule "ad_users" ------------------------------------- Automember Rule: ad_users - 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: 既存のエントリーの自動メンバーシップの再構築
全ユーザーまたは全ホストに対して自動メンバーシップを再構築するには、以下の手順を実施します。
- Identity → Users または Hosts を選択します。
- Actions → Rebuild auto membership をクリックします。
図13.6 全ユーザーまたは全ホストに対して自動メンバーシップの再構築
1 つのユーザーまたはホストに対して自動メンバーシップを再構築するには、以下を行います。
- Identity → Users または Hosts を選択し、必要なユーザーログインまたはホスト名をクリックします。
- Actions → Rebuild auto membership をクリックします。
図13.7 1 つのユーザーまたはホストに対して自動メンバーシップの再構築
コマンドライン: 既存のエントリーの自動メンバーシップの再構築
全ユーザーの自動メンバーシップを再構築するには、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 ルールに一致しないユーザーまたはホストエントリーは自動的にデフォルトグループに追加されます。
- ipa automember-default-group-set コマンドを使用して、デフォルトの automember グループを設定します。プロンプトが表示されたら、以下を指定します。
- ターゲットグループ名を指定する
Default (fallback) Group
。 グルーピングタイプ
。ターゲットがユーザーグループか、ホストグループであるかを指定します。ユーザーグループをターゲットにするには、group
を入力します。ホストグループをターゲットに設定するには、ホストグループ
を入力します。
以下に例を示します。$ 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 - グループが正しく設定されていることを確認するには、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 コマンドを使用します。