第27章 CLI で IdM でのロールベースのアクセス制御の管理
Identity Management (IdM) のロールベースのアクセス制御と、コマンドラインインターフェイス (CLI) で実行する次の操作について詳しく説明します。
27.1. IdM のロールベースのアクセス制御
IdM のロールベースアクセス制御 (RBAC) は、セルフサービス制御および委譲アクセス制御とは非常に異なる種類の権限をユーザーに付与します。
ロールベースのアクセス制御は、以下の 3 つの部分で設定されます。
- パーミッション は、ユーザーの追加または削除、グループの変更、読み取りアクセスの有効化など、特定のタスクを実行する権限を付与します。
- 特権 は、新規ユーザーの追加に必要な全権限など、権限を組み合わせます。
- ロール は、ユーザー、ユーザーグループ、ホスト、またはホストグループに特権のセットを付与します。
27.1.1. IdM のパーミッション
パーミッションは、ロールベースのアクセス制御の中で最も低いレベルの単位で、操作を適用する LDAP エントリーと合わせて操作を定義します。ブロックの構築と同様に、パーミッションは必要に応じて多くの権限に割り当てることができます。
1 つ以上の 権限 を使用して、許容される操作を定義します。
-
write
-
read
-
search
-
compare
-
add
-
delete
-
all
上記の操作は、3 つの基本的な ターゲット に適用されます。
-
subtree
: ドメイン名 (DN) (この DN のサブツリー) -
target filter
: LDAP フィルター -
target
: DN。ワイルドカードでエントリーを指定可能。
また、以下の便利なオプションは、対応する属性を設定します。
-
type
: オブジェクトのタイプ (ユーザー、グループなど) (subtree
およびtarget filter
を設定します)。 -
memberof
: グループのメンバー。target filter
を設定します。 -
targetgroup
: 特定のグループを変更する権限 (グループメンバーシップの管理権限の付与など) を付与します (target
を設定します)。
IdM パーミッションを使用すると、どのユーザーがどのオブジェクトにアクセスできるか、さらにこのようなオブジェクトの属性にアクセスできるかどうかを制御できます。IdM を使用すると、個別の属性を許可または拒否したり、ユーザー、グループ、sudo などの特定の IdM 機能を、全匿名ユーザー、全認証済みユーザー、または特定の特権ユーザーグループ限定などと、全体的な表示設定を変更したりできます。
たとえば、このアプローチではパーミッション指定に柔軟性があるので、アクセスが必要な特定のセクションのみにユーザーまたはグループのアクセスを制限し、他のセクションをこれらのユーザーまたはグループには完全に表示されないように設定する場合に、管理者にとって便利です。
パーミッションには他のパーミッションを含めることはできません。
27.1.2. デフォルトの管理パーミッション
管理パーミッションは、IdM にデフォルトで含まれているパーミッションです。このパーミッションはユーザーが作成した他のパーミッションと同様に機能しますが、以下の相違点があります。
- この管理パーミッションは削除できず、名前、場所、ターゲットの属性を変更できません。
このパーミッションには 3 つの属性セットがあります。
- デフォルト の属性。IdM で管理されているため、ユーザーは変更できません。
- 包含 属性。ユーザーが別途追加する属性。
- 除外 属性。ユーザーが削除する属性。
管理パーミッションは、デフォルトおよび包含属性セットに表示されている属性すべてに適用されますが、除外セットに表示されている属性には適用されません。
管理パーミッションを削除できませんが、パーミッションにバインドタイプを設定し、すべての特権から管理パーミッションを削除して管理パーミッションを効果的に無効にできます。
管理パーミッションの名前はすべて System:
から始まります (例: System: Add Sudo rule
または System: Modify Services
)。以前のバージョンの IdM では、デフォルトのパーミッションに異なるスキームを使用していました。たとえば、ユーザーはパーミッションの削除はできず、特権に割り当てるしかできませんでした。これらのデフォルトパーミッションのほとんどは、管理パーミッションに切り替わっていますが、以下のパーミッションは引き続き以前のスキームを使用します。
- Automember Rebuild メンバーシップタスクの追加
- 設定サブエントリーの追加
- レプリカ合意の追加
- 証明書削除保留
- CA から証明書のステータス取得
- DNA 範囲の読み取り
- DNA 範囲の変更
- PassSync Manager の設定の読み取り
- PassSync Manager 設定の変更
- レプリカ合意の読み込み
- レプリカ合意の修正
- レプリカ合意の削除
- LDBM データベース設定の読み取り
- 証明書の要求
- CA ACL を無視する証明書の要求
- 別のホストからの証明書の要求
- CA からの証明書の取得
- 証明書の取り消し
- IPA 設定の書き込み
コマンドラインから管理パーミッションを変更しようとし、変更不可な属性の変更をシステム側が許可しない場合には、コマンドに失敗します。Web UI から管理パーミッションを変更しようとした場合には、変更できない属性が無効になります。
27.1.3. IdM の特権
特権は、ロールに適用されるパーミッションのグループです。
パーミッションは単一の操作を実行する権限を提供しますが、IdM タスクを成功させるには、複数のパーミッションが必要なものがあります。したがって、特権は、特定のタスクを実行するために必要な異なるパーミッションを組み合わせたものです。
たとえば、新しい IdM ユーザーにアカウントを設定するには、以下の権限が必要です。
- 新規ユーザーエントリーの作成
- ユーザーパスワードのリセット
- 新規ユーザーのデフォルト IPA ユーザーグループへの追加
これらの 3 つの低レベルのタスクを、ユーザーの追加 という名前のカスタム特権の形式で、権限がより高いレベルのタスクに組み合わせることで、システム管理者はロールを管理しやすくなります。IdM には、すでにいくつかのデフォルト特権が含まれています。ユーザーとユーザーグループとは別に、権限はホストおよびホストグループ、およびネットワークサービスにも割り当てられます。これにより、特定のネットワークサービスを使用するホストセットのユーザーセットによって、操作をきめ細かく制御できます。
特権には、他の特権を含めることはできません。
27.1.4. IdM のロール
ロールは、ロールに指定したユーザーが所有する権限のリストです。
実際には、パーミッションでは、指定の低階層のタスク (ユーザーエントリーの作成、グループへのエントリーの追加など) を実行する権限を付与し、特権では、高階層のタスク (指定のグループへの新規ユーザーの作成など) に必要なこれらのパーミッションの 1 つ以上を組み合わせます。ロールは必要に応じて、管理者ロールでユーザーの追加、変更、削除ができるなど、特権をまとめます。
ロールは、許可されたアクションを分類するために使用されます。ロールは、特権昇格されないようにしたり、特権の分離を実装するツールとしては使用しません。
ロールに他のロールを含めることはできません。
27.1.5. Identity Management で事前定義されたロール
Red Hat Identity Management には、以下の事前定義済みのロールが含まれています。
ロール | 特権 | 説明 |
---|---|---|
登録管理者 | ホストの登録 | クライアントまたはホストの登録を行います。 |
helpdesk | Modify Users、Reset passwords、Modify Group membership | 簡単なユーザー管理タスクを実行します。 |
IT Security Specialist | Netgroups Administrators、HBAC Administrator、Sudo Administrator | ホストベースのアクセス制御、sudo ルールなどのセキュリティーポリシーを管理します。 |
IT Specialist | Host Administrators、Host Group Administrators、Service Administrators、Automount Administrators | ホストの管理を行います |
Security Architect | Delegation Administrator、Replication Administrators、Write IPA Configuration、Password Policy Administrator | Identity Management 環境の管理、信頼の作成、レプリカ合意を作成します。 |
User Administrator | User Administrators、Group Administrators、Stage User Administrators | ユーザーおよびグループの作成を行います |