付録D ACL リファレンス

このセクションでは、各リソースが制御するものについて説明し、それらの操作の結果を説明する可能な操作をリストし、定義された各 ACL リソースのデフォルトの ACI を提供します。各サブシステムには、そのサブシステムに関連する ACL のみが含まれます。

D.1. ACL 設定ファイルについて

アクセス制御 は、サーバーの一部にアクセスできるユーザーと、ユーザーが実行できる操作に関するルールを設定する方法です。LDAP ディレクトリーサービスに依存し、Java コンソールを使用する 4 つのサブシステム (CA、KRA、OCSP、および TKS) はすべて、LDAP スタイルのアクセス制御を実装してリソースにアクセスします。これらのアクセス制御リスト (ACL) は、/var/lib/pki/instance_name/conf/subsystem/acl.ldif ファイルにあります。
注記
本セクションでは、アクセス制御の概念の概要を説明します。アクセス制御は、『Red Hat Directory Server 管理ガイド』のアクセス制御の管理章で詳しく説明されています。
Certificate System ACL ファイルは、内部データベースにより読み込まれる LDIF ファイルです。個々の ACL は、resourceACLS 属性として定義されます。これは、保護されているサブシステムの領域を識別する属性と、その後設定されているすべての特定のアクセス制御のリストで識別されます。
resourceACLS: class_name:all rights: allow|deny (rights) type=target description
リソースへのアクセスを許可または拒否する各ルールは、アクセス制御命令 (ACI) と呼ばれます。(リソースの ACI の合計はアクセス制御リストです。) 実際の ACI を定義する前に、ACL 属性は、Certificate System サブシステムによって使用される特定のプラグインクラスに最初に適用されます。これにより、各 ACL がサブシステムによって実行される特定の機能に集中し、インスタンスのセキュリティーが強化され、ACL の適用をより適切に制御できるようになります。

例D.1 証明書プロファイルの一覧を表示するデフォルト ACL

resourceACLS: certServer.ca.profiles:list:allow (list) group="Certificate Manager Agents":Certificate Manager agents may list profiles
各サブシステム (CA、KRA、OCSP、および TKS) には操作用の異なるリソースがあるため、各サブシステムインスタンスには独自の acl.ldif ファイルと独自に定義された ACL があります。
各 ACI は、実行できるアクセスまたは動作 ()、と ACI の適用対象 (ターゲット) を定義します。ACI の基本的な形式は次のとおりです。
allow|deny (rights) user|group
権限 は、ACI がユーザーに実行を許可する操作のタイプです。LDAP ACI の場合は、検索、読み取り、書き込み、削除など、ディレクトリーエントリーに対する権限のリストは比較的限られています。Certificate System は、取り消し、送信、割り当てなどの一般的な PKI タスクを扱う追加の権限を使用します。
操作が ACI で明示的に許可されていない場合、この操作は暗黙的に拒否されます。1 つの ACI で操作が明示的に拒否された場合は、明示的に許可されている ACI よりも優先されます。拒否ルールは、ルールが追加のセキュリティーを提供できるようにするために常に優れています。
各 ACI は特定のユーザーまたはグループに適用する必要があります。エントリーベースのアクセスではなくクライアントベースのアクセスを定義する ipaddress= などのオプションがありますが、これは、いくつかの一般的な条件 (通常 user= または group=) を使用して設定されます。複数の条件がある場合は、論理和 ("or") を表す二重パイプ (||) 演算子と、論理積 ("and") を表す二重アンパサンド (&&) 演算子を使用して条件を設定することができます。たとえば、group="group1" || "group2" となります。
resourceACLS 属性値の各領域は、表D.1「ACL 属性値のセクション」 で定義されます。

表D.1 ACL 属性値のセクション

説明
class_name ACI が適用されるプラグインクラス。
すべての操作 ACI 定義に含まれるすべての操作の一覧。1 つの ACI には複数の操作があり、1 つの resourceACLS 属性に複数の ACI があります。
allow|deny アクションがターゲットユーザーまたはグループに対して許可されているか、ターゲットユーザーまたはグループに対して拒否されているか。
(operations) 許可または拒否されている操作。
type=target これが適用されるユーザーを特定するターゲット。これは一般的にユーザー (user="name" など) またはグループ (group="group" など) です。条件が複数ある場合は、二重パイプ (||) 演算子 (論理 "or") と二重アンパサンド (&&) 演算子 (論理 "and") を使用して条件を設定することができます。たとえば、group="group1" || "group2" となります。
説明 ACL が実行していることの説明。