Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

23.2. Identity Management に証明書マッピングルールを設定

23.2.1. スマートカードにおける認証を設定するための証明書マッピングルール

証明書マッピングルールは、Identity Management (IdM) 管理者が特定のユーザーの証明書にアクセスしない場合に、シナリオで証明書を使用して認証できるため便利な方法です。通常、このようなアクセスがない理由は、証明書が外部認証局によって発行されたためです。特別なユースケースは、IdM ドメインが信頼関係にある Active Directory (AD) の証明書システムが発行した証明書によって表されます。
証明書マッピングルールは、スマートカードを使用するユーザーが多く、IdM 環境が大きい場合にも便利です。このような場合、完全な証明書を追加すると複雑になります。ほとんどの場合、発行先と発行者は予測可能であるため、完全な証明書よりも簡単に追加できます。システム管理者は、証明書マッピングルールを作成し、特定のユーザーに証明書を発行する前に、ユーザーエントリーに証明書マッピングデータを追加できます。証明書が発行されると、完全な証明書が自分のエントリーにアップロードされていなくても、ユーザーは証明書を使用してログインできるようになります。
さらに、証明書は一定間隔で更新する必要があるため、証明書マッピングルールは管理のオーバーヘッドを軽減します。ユーザーの証明書を更新する際に、管理者がユーザーエントリーを更新する必要がありません。たとえば、マッピングが SubjectIssuer の値に基づいている場合、および新しい証明書の Subject と Issuer が以前と同じ場合は、マッピングは引き続き適用されます。一方で、完全な証明書を使用した場合、管理者は古い証明書に置き換わる新しい証明書をユーザーエントリーにアップロードする必要があります。
証明書マッピングを設定するには、以下を実行します。
  1. 管理者は、証明書マッピングデータ (通常は発行者と題名)、または完全な証明書をユーザーアカウントに読み込む必要があります。
  2. ユーザーが IdM へのログインを問題なく行えるようにするために、管理者が証明書マッピングルールを作成する必要があります。
    • アカウントに、証明書マッピングデータエントリーが含まれる
    • 証明書マッピングデータエントリーが、証明書の情報と一致する
    マッピングルールを構成する個々のコンポーネントの詳細と、そのコンポーネントの取得方法および使用方法は、IdM での ID マッピングルールのコンポーネントおよび一致するルールで使用する証明書の発行者の取得を参照してください。

23.2.1.1. Active Directory ドメインとの信頼に対する証明書マッピングルール

本セクションでは、IdM デプロイメントが Active Directory (AD) ドメインと信頼関係にある場合に可能な、別の証明書マッピングのユースケースを簡単に説明します。
証明書マッピングルールは、信頼された AD 証明書システムが発行したスマートカード証明書を持つユーザーに対して、IdM リソースにアクセスするのに便利な方法です。AD 設定によっては、以下の状況が考えられます。

23.2.1.2. IdM における ID マッピングルールのコンポーネント

本セクションでは、IdM の ID マッピングルール のコンポーネントと、その設定方法を説明します。各コンポーネントには、上書きできるデフォルト値があります。コンポーネントは、Web UI またはコマンドラインで定義できます。コマンドラインで、ipa certmaprule-add コマンドを使用して、ID マッピングルールが作成されます。
マッピングルール
マッピングルールコンポーネントでは、証明書を 1 人または複数のユーザーアカウントに関連付けます (またはマップします)。ルールは、証明書を目的のユーザーアカウントに関連付ける LDAP 検索フィルターを定義します。
さまざまな認証局 (CA) が発行する証明書にはさまざまなプロパティーがあり、さまざまなドメインで使用される可能性があります。そのため、IdM はマッピングルールを無条件に適用せず、適切な証明書にのみ適用されます。適切な証明書は、マッチングルールを使用して定義されます。
マッピングルールのオプションを空のままにすると、証明書は、DER でエンコードされたバイナリーファイルとして、userCertificate 属性で検索されることに注意してください。
--maprule オプションを使用して、コマンドラインでマッピングルールを定義します。
マッチングルール
ドメイン一覧は、ID マッピングルールの処理時に IdM がユーザーを検索する ID ドメインを指定します。このオプションを指定しないと、IdM は、IdM クライアントが所属しているローカルドメイン内でのみユーザーを検索します。
--domain オプションを使用して、コマンドラインでドメインを定義します。
優先順位
複数のルールが証明書に適用される場合は、最も優先度が高いルールが優先されます。その他のルールはすべて無視されます。
  • 数値が低いほど、ID マッピングルールの優先度が高くなります。たとえば、優先度 1 のルールは、優先度 2 のルールよりも高く設定されています。
  • ルールに優先度の値が定義されていないと、優先度が最も低くなります。
--priority オプションを使用して、コマンドラインでマッピングルールの優先度を定義します。

例23.1 証明書マッピングルールの例 1

コマンドラインを使用して、その証明書の Subject が IdM のユーザーアカウントの certmapdata エントリーと一致している場合に限り、EXAMPLE.ORG 組織の スマートカード CA が発行する証明書の認証を可能にする証明書マッピングルール simple_rule を定義するには、次のコマンドを実行します。
# ipa certmaprule-add simple_rule --matchrule '<ISSUER>CN=Smart Card CA,O=EXAMPLE.ORG' --maprule '(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})'

23.2.1.3. マッチングルールで使用する証明書から発行者の取得

この手順では、証明書から発行者情報を取得して、証明書マッピングルールのマッチングルールにコピーする方法を説明します。マッチングルールで必要な発行者の形式を取得するには、openssl x509 コマンドを使用します。

前提条件

  • .pem 形式または .crt 形式のユーザー証明書がある。

手順

  1. 証明書からユーザー情報を取得します。以下のように、openssl 証明書の表示および署名ユーティリティーを使用します。
    • リクエストのエンコードされたバージョンの出力を防ぐ -noout オプション
    • 発行者名を出力する -issuer オプション
    • 証明書を読み込む入力ファイル名を指定する -in オプション
    • RFC2253 値と共に -nameopt オプションを指定して、最初に最も具体的な相対識別名 (RDN) で出力を表示します。
    入力ファイルに Identity Management 証明書が含まれる場合は、コマンドの出力で、Organization 情報を使用して 発行者が定義されていることを示しています。
    # openssl x509 -noout -issuer -in idm_user.crt -nameopt RFC2253
    issuer=CN=Certificate Authority,O=REALM.EXAMPLE.COM
    入力ファイルに Active Directory 証明書が含まれる場合は、コマンドの出力で、ドメインコンポーネント の情報を使用して発行者が定義されていることを示しています。
    # # openssl x509 -noout -issuer -in ad_user.crt -nameopt RFC2253
    issuer=CN=AD-WIN2012R2-CA,DC=AD,DC=EXAMPLE,DC=COM
  2. 必要に応じて、証明書発行者が、ad.example.com ドメインから展開した AD-WIN2012R2-CA であることを指定する マッチングルールに基づいて、コマンドラインで新しいマッピングルールを作成する場合は、証明書の発行先が、IdM のユーザーアカウントにある certmapdata エントリーと一致する必要があります。
    # ipa certmaprule-add simple_rule --matchrule '<ISSUER>CN=AD-WIN2012R2-CA,DC=AD,DC=EXAMPLE,DC=COM' --maprule '(ipacertmapdata=X509:<I>{issuer_dn!nss_x500}<S>{subject_dn!nss_x500})'

追加情報

certmap コマンドの詳細は、man ページの sss-certmap(5) を参照してください。ここには、マッチングルールおよびマッピングルールで対応している形式の紹介と、優先順位およびドメインフィールドの説明もあります。