Show Table of Contents
24.5. 証明局の ACL ルール
証明局のアクセス制御リスト (CA ACL) ルールでは、どのユーザー、サーバー、またはホストにどのプロファイルを使って証明書を発行するかを定義します。CA ACL でプロファイル、プリンシパル、およびグループを関連付けることで、プリンシパルまたはグループが特定のプロファイルを使用した証明書をリクエストできるようになります。
- ACL は複数プロファイルへのアクセスを許可します
- ACL では複数のユーザー、サービス、ホスト、ユーザーグループ、およびホストグループに関連付けができます
たとえば、管理者は CA ACL を使用すると、ロンドンのオフィスから作業している社員向けのプロファイルの使用を、そのオフィスに関連するグループのメンバーとなっているホストに限定することができます。
注記
「証明書のプロファイル」 で説明されている証明書プロファイルと CA ACL を結びつけることで、管理者はカスタム証明書プロファイルへのアクセスを定義、制御できるようになります。プロファイルと CA ACL を使用してユーザー証明書を発行する方法については、「IdM CA での証明書プロファイルおよび ACL を使用したユーザー証明書の発行」 を参照してください。
24.5.1. コマンドラインからの CA ACL 管理
CA ACL ルール管理用の
caacl プラグインを使用すると、権限のあるユーザーは指定された CA ACL の追加、表示、修正、または削除ができるようになります。このプラグインがサポートするコマンドすべてを表示するには、ipa caacl コマンドを実行します。
$ ipa caacl
Manage CA ACL rules.
...
EXAMPLES:
Create a CA ACL "test" that grants all users access to the
"UserCert" profile:
ipa caacl-add test --usercat=all
ipa caacl-add-profile test --certprofiles UserCert
Display the properties of a named CA ACL:
ipa caacl-show test
Create a CA ACL to let user "alice" use the "DNP3" profile on "DNP3-CA":
ipa caacl-add alice_dnp3
ipa caacl-add-ca alice_dnp3 --cas DNP3-CA
ipa caacl-add-profile alice_dnp3 --certprofiles DNP3
ipa caacl-add-user alice_dnp3 --user=alice
...caacl 操作を実行するには、必要なパーミッションがあるユーザーとして操作する必要があります。IdM にはデフォルトで以下の CA ACL 関連のパーミッションがあります。
- System: Read CA ACLs
- ユーザーが CA ACL の属性すべてを読み込むことを許可します。
- System: Add CA ACL
- ユーザーが新規 CA ACL を追加することを許可します。
- System: Delete CA ACL
- ユーザーが既存の CA ACL を削除することを許可します。
- System: Modify CA ACL
- ユーザーが CA ACL 属性を修正し、CA ACL を有効化、無効化することを許可します。
- System: Manage CA ACL membership
- ユーザーが CA ACL 内の CA、プロファイル、ユーザー、ホスト、およびサービスメンバーシップを管理することを許可します。
これらのパーミッションはすべて、デフォルトの
CA Administrator 権限に含まれています。IdM のロールベースのアクセス制御およびパーミッションの管理についての詳細は、「ロールベースのアクセス制御の定義」 を参照してください。
本セクションでは、
ipa caacl コマンドを使用して CA ACL を管理する重要な側面のみを説明しています。このコマンドに関する完全な情報については、以下のように --help オプションを追加して実行してください。
$ ipa caacl-mod --help Usage: ipa [global-options] caacl-mod NAME [options] Modify a CA ACL. Options: -h, --help show this help message and exit --desc=STR Description --cacat=['all'] CA category the ACL applies to --profilecat=['all'] Profile category the ACL applies to ...
CA ACL の作成
新規の CA ACL を作成するには、
ipa caacl-add コマンドを使用します。このコマンドをオプションなしで実行すると対話型セッションが開始され、ipa caacl-add スクリプトが新規 CA ACL について必要な情報を要求します。
$ ipa caacl-add ACL name: smime_acl ------------------------ Added CA ACL "smime_acl" ------------------------ ACL name: smime_acl Enabled: TRUE
新規 CA ACL はデフォルトで有効になります。
ipa caacl-add で使用可能なオプションのうち重要なものは、CA ACL を CA、証明書プロファイル、ユーザー、ホスト、またはサービスカテゴリーと関連付けるものです。
--cacat--profilecat--usercat--hostcat--servicecat
IdM ではこれらのオプションで
all の値のみを受け付けます。これは、CA ACL をすべての CA、プロファイル、ユーザー、ホスト、またはサービスと関連付けます。たとえば、CA ACL を全ユーザーおよびユーザーグループと関連付けるには、以下を実行します。
$ ipa caacl-add ca_acl_name --usercat=all
CA、プロファイル、ユーザー、ホスト、およびサービスのカテゴリーは、CA ACL に特定のオブジェクトやオブジェクトのグループを追加することの代わりとなるものです。これについては、「CA ACL へのエントリー追加と CA ACL からのエントリー削除」で説明しています。カテゴリーで使用するタイプと同じオブジェクトやグループを追加できないことに注意してください。たとえば、
--usercat=all オプションを使った後に、ipa caacl-add-user --users=user_name コマンドでユーザーを CA ACL に追加することはできません。
注記
ユーザーもしくはグループが対応する CA ACL に追加されていないと、証明書プロファイルを使用しているそのユーザーもしくはグループの証明書をリクエストしても失敗します。例を示します。
$ ipa cert-request CSR-FILE --principal user --profile-id profile_id ipa: ERROR Insufficient access: Principal 'user' is not permitted to use CA '.' with profile 'profile_id' for certificate issuance.
この場合、「CA ACL へのエントリー追加と CA ACL からのエントリー削除」 にあるように、CA ACL にユーザーもしくはグループを追加するか、この CA ACL を
all ユーザーカテゴリーに関連付ける必要があります。
CA ACL の表示
すべての CA ACL を表示するには、
ipa caacl-find コマンドを使用します。
$ ipa caacl-find ----------------- 2 CA ACLs matched ----------------- ACL name: hosts_services_caIPAserviceCert Enabled: TRUE ...
ipa caacl-find コマンドでは --cacat、--profilecat、--usercat、--hostcat、および --servicecat のオプションを使用して、これらに対応する CA、証明書プロファイル、ユーザー、ホスト、またはサービスカテゴリーがある CA ACL に検索結果を絞り込むことができます。ただし、IdM ではこれらのオプションで all カテゴリーしか受け付けないことに注意してください。これらのオプションについての詳細は、「CA ACL の作成」 を参照してください。
特定の CA ACL についての情報を表示するには、
ipa caacl-show コマンドを実行します。
$ ipa caacl-show ca_acl_name ACL name: ca_acl_name Enabled: TRUE Host category: all ...
CA ACL の修正
既存の CA ACL を修正するには、
ipa caacl-mod コマンドを使用します。ipa caacl-mod にコマンドラインオプションで必要な修正を渡します。たとえば、CA ACL の記述内容を修正し、その CA ACL を全証明書プロファイルに関連付けるには、以下を実行します。
$ ipa caacl-mod ca_acl_name --desc="New description" --profilecat=all --------------------------- Modified CA ACL "ca_acl_name" --------------------------- ACL name: smime_acl Description: New description Enabled: TRUE Profile category: all
ipa caacl-mod コマンドで使用できる重要なオプションは、--cacat、--profilecat、--usercat、--hostcat、および --servicecat です。これらのオプションについての説明は、「CA ACL の作成」 を参照してください。
CA ACL の有効化および無効化
CA ACL を無効にするには、
ipa caacl-disable コマンドを使用します。
$ ipa caacl-disable ca_acl_name --------------------------- Disabled CA ACL "ca_acl_name" ---------------------------
無効になった CA ACL は適用されず、証明書のリクエストには使用できません。ただし、CA ACL を無効にしても、これが IdM から削除されるわけではありません。
CA ACL を有効にするには、
ipa caacl-enable コマンドを使用します。
$ ipa caacl-enable ca_acl_name --------------------------- Enabled CA ACL "ca_acl_name" ---------------------------
CA ACL の削除
既存の CA ACL を削除するには、
ipa caacl-del コマンドを使用します。
$ ipa caacl-del ca_acl_name
CA ACL へのエントリー追加と CA ACL からのエントリー削除
ipa caacl-add-* と ipa caacl-remove-* コマンドを使用することで、それぞれ CA ACL に新規エントリーを追加したり、既存のエントリーを削除することができます。
ipa caacl-add-caとipa caacl-remove-ca- CA を追加または削除します。
ipa caacl-add-hostとipa caacl-remove-host- ホストもしくはホストグループを追加または削除します。
ipa caacl-add-profileとipa caacl-remove-profile- プロファイルを追加または削除します。
ipa caacl-add-serviceとipa caacl-remove-service- サービスを追加または削除します。
ipa caacl-add-userとipa caacl-remove-user- ユーザーもしくはグループを追加または削除します。
以下に例を示します。
$ ipa caacl-add-user ca_acl_name --groups=group_name
CA ACL に追加するオブジェクトまたはオブジェクトグループと同じオブジェクトのカテゴリーを 「CA ACL の作成」 にあるように使用できないことに注意してください。たとえば、
ipa caacl-add-user --users=user_name コマンドを --usercat=all オプションで指定した CA ACL で実行しようとすると、これは失敗します。
$ ipa caacl-add-user ca_acl_name --users=user_name ipa: ERROR: users cannot be added when user category='all'
注記
ユーザーもしくはグループが対応する CA ACL に追加されていないと、証明書プロファイルを使用しているそのユーザーもしくはグループの証明書をリクエストしても失敗します。例を示します。
$ ipa cert-request CSR-FILE --principal user --profile-id profile_id ipa: ERROR Insufficient access: Principal 'user' is not permitted to use CA '.' with profile 'profile_id' for certificate issuance.
この場合、CA ACL にユーザーもしくはグループを追加するか、「CA ACL の作成」 にあるように、この CA ACL を
all ユーザーカテゴリーに関連付ける必要があります。
これらのコマンドで必須の構文と利用可能なオプションについては、以下のようにコマンドに
--help を追加して実行してください。
$ ipa caacl-add-user --help
24.5.2. Web UI での CA ACL 管理
IdM Web UI で CA ACL を管理するには、以下の手順に従います。
- Authentication タブを開き Certificates サブタブを選択します。
- CA ACLs セクションを開きます。

図24.9 Web UI での CA ACL ルールの管理
CA ACLs セクションでは、新規 CA ACL の追加、既存 CA ACL についての情報表示、属性の修正、選択した CA ACL の有効化と無効化、さらにはそれを削除することができます。
たとえば、既存の CA ACL を修正するには、以下を実行します。
- CA ACL 名をクリックして、CA ACL の設定ページを開きます。
- 開いたページで必要な情報を入力します。Profiles と Permitted to have certificates issued のセクションでは、CA ACL を証明書プロファイル、ユーザーまたはユーザーグループ、ホストまたはホストグループ、もしくはサービスに関連付けることができます。 ボタンでこれらのオブジェクトを追加するか、Anyone オプションを選択して CA ACL を全ユーザー、ホスト、またはサービスに関連付けます。
- をクリックして新規設定を保存します。

図24.10 Web UI での CA ACL ルールの修正

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.