第10章 IdM ユーザーのアクセス制御の定義

アクセス制御は、誰がマシンやサービスまたはエントリーなどの特定のリソースにアクセスできるかや、どのような種類の操作の実行を許可されるかなどを定義する、セキュリティー機能セットです。Identity Management はいくつかのアクセス制御エリアを提供し、どのような種類のアクセスが許可されているか、誰に許可されているか、を明確にします。この一部として Identity Management は、ドメイン内のリソースに対するアクセス制御と、IdM 設定自体へのアクセス制御を区別します。
本章では、IdM サーバーおよび他の IdM ユーザーに対する IdM 内のユーザーに利用可能な異なる内部アクセス制御メカニズムを説明しています。

10.1. IdM エントリーのアクセス制御

アクセス制御は、他のユーザーやオブジェクトに対してユーザーが許可された操作についての権限やパーミッションを定義します。
Identity Management のアクセス制御構造は、標準の LDAP アクセス制御に基づいています。IdMサーバー内のアクセスは、バックエンドの Directory Server インスタンスに保存されている IdM ユーザーをベースとしており、このユーザーは、Directory Server インスタンスに LDAP エントリーとして保存されている他の IdM エンティティーにアクセスが許可されています。
アクセス制御指示 (ACI) には、以下の 3 つの部分があります。
Actor
これは、動作のパーミッションを付与されているエンティティーです。これはユーザーが誰かを定義し、1 日のある時間帯や特定のマシンに試行を制限するなど、オプションでバインドの試行に対して他の制限を必須とすることが可能なため、LDAP アクセス制御モデルではバインドルールと呼ばれます。
Target
これは、Actor が許可されている操作を実行する対象のエントリーを定義します。
Operation type
最後の部分では、ユーザーが実行を許可されるアクションの種類を決定します。最も一般的な操作は、追加、削除、書き込み、読み取り、および検索です。Identity Management では、すべてのユーザーが暗示的に IdM ドメイン内のすべてのエントリーに対する読み取りおよび検索権限を付与されています。制限されるのは、パスワードや Kerberos キーなどの重要な属性のみです。匿名ユーザーは、sudo ルールやホストベースのアクセス制御など、セキュリティー関連の設定は読み取ることができません。
いかなる操作でもそれが試行されると、IdM クライアントはまずバインド操作の一部としてユーザーの認証情報を送信します。バックエンドの Directory Server はまずユーザー認証情報を、次にユーザーアカウントをチェックして、ユーザーが要求された操作を実行するパーミッションを持っているかどうかを確認します。

10.1.1. Identity Management におけるアクセス制御方法

アクセス制御ルールの実装をシンプルかつ明確にするために、Identity Management はアクセス制御の定義を以下の 3 つのカテゴリーに分けています。
セルフサービスルール
これは、ユーザーが自分のパーソナルエントリーで実行可能な操作を定義します。アクセス制御タイプは、エントリー内での属性への書き込みパーミッションのみを許可します。エントリー自体の追加もしくは削除操作は許可されません。
委任ルール
委任ルールでは、特定のユーザーグループが別のユーザーグループ内のユーザーの特定属性に関して書き込み (編集) 操作を許可されます。セルフサービスルールのように、この形式のアクセス制御は特定の属性値の編集に制限されており、エントリー全体を追加したり削除する権限や特定されていない属性に対する制御を付与するものではありません。
ロールベースのアクセス制御
ロールベースのアクセス制御では特別のアクセス制御グループが作成され、このグループに IdM ドメイン内での全タイプのエントリーに対するより幅広い権限が付与されます。ロールには編集、追加、および削除の権限が付与されるので、選択された属性だけでなくエントリー全体に対する完全な制御が付与されます。
ロールのなかには既に作成され、Identity Management 内で使用可能なものもあります。ホストや automount 設定、netgroup、DNS 設定、および IdM 設定など、すべてのタイプのエントリーを特別な方法で管理するために、特別なロールを作成することもできます。