第8章 外部認証の設定

外部認証を使用することにより、外部 ID プロバイダーのユーザーグループメンバーシップからユーザーとユーザーグループのパーミッションを派生させることができます。したがって、これらのユーザーを作成したり、グループメンバーシップを Satellite Server で手動で保守したりする必要はありません。Red Hat Satellite では、外部認証を設定する 4 つの一般的なシナリオがサポートされます。
  • Lightweight Directory Access Protocol (LDAP) サーバーを外部 ID プロバイダーとして使用するシナリオ。LDAP は、一元的に保存された情報にネットワークを介してアクセスするために使用されるオープンプロトコルセットです。詳細については、「LDAP を使用」 を参照してください。LDAP を使用して IdM または AD サーバーに接続できますが、セットアップでは、Satellite の Web UI でのサーバー検出、フォレスト間信頼、または Kerberos を使用したシングルサインオンがサポートされません。
  • Red Hat Enterprise Linux Identity Management (IdM) サーバーを外部 iD プロバイダーとして使用するシナリオ。IdM は、ネットワーク環境で使用される個別 ID、クレデンシャル、および権限を管理します。詳細については、「ID 管理の使用」 を参照してください。
  • フォレスト間 Kerberos 信頼を介して IdM に統合された Active Directory (AD) を外部 ID プロバイダーとして使用するシナリオ。詳細については、「フォレスト間信頼での Active Directory の使用」 を参照してください。
  • 直接 AD を外部 ID プロバイダーとして使用するシナリオ。詳細については、「Active Directory の直接的な使用」 を参照してください。
上記のシナリオでは、Satellite Server にアクセスを提供します。また、Satellite でプロビジョニングされたホストを IdM レルムと統合することもできます。Red Hat Satellite には、レルムまたはドメインプロバイダーに登録されたシステムのライフサイクルを自動的に管理するレルム機能があります。詳細については、「プロビジョンされたホストの外部認証」 を参照してください。

8.1. LDAP を使用

8.1.1. TLS での セキュア LDAP (LDAPS) の設定

注記

本項では直接 LDAP 統合について説明しますが、Red Hat は SSSD を使用し、IdM、AD、または LDAP サーバーに対して SSSD を設定することをお勧めします。これらの優先される設定については、本書の他の箇所で説明します。
Red Hat Satellite で TLS を使用してセキュアな LDAP 接続 (LDAPS) を確立する必要がある場合は、最初に、接続する LDAP サーバーで使用された証明書を使用し、以下で説明しているように Satellite Server のベースオペレーティングシステムでそれらの証明書を信頼済みとして指定します。LDAP サーバーで中間認証局との証明書チェーンが使用される場合は、すべての証明書を取得するためにチェーンのすべてのルートおよび中間証明書が信頼済みである必要があります。この時点でセキュアな LDAP を必要としない場合は、手順8.1「LDAP 認証の設定:」 に進みます。

LDAP サーバーからの証明書の取得

Active Directory 証明書サービスを使用する場合は、ベース 64 エンコード X.509 形式を使用してエンタープライズ PKI CA 証明書をエクスポートします。Active Directory サーバーでの CA 証明書の作成およびエクスポートについては、How to configure Active Directory authentication with TLS on Satellite 6.2 を参照してください。
LDAP サーバー証明書を、Satellite Server がインストールされた Red Hat Enterprise Linux システム上の一時的な場所にダウンロードし、作業が終了したら削除します (たとえば、/tmp/example.crt)。ファイル名拡張子 .cer.crt は慣習にすぎず、DER バイナリーまたは PEM ASCII 形式の証明書を示すことがあります。

LDAP サーバーからの証明書を信頼する

Red Hat Satellite Server では、LDAP 認証用の CA 証明書は /etc/pki/tls/certs/ ディレクトリー内の個別ファイルである必要があります。
install コマンドを使用して適切なパーミッションでインポート済み証明書を /etc/pki/tls/certs/ ディレクトリーにインストールします。
# install /tmp/example.crt /etc/pki/tls/certs/
root で以下のコマンドを入力して LDAP サーバーから取得された example.crt 証明書を信頼します。
# ln -s example.crt /etc/pki/tls/certs/$(openssl x509 -noout -hash -in /etc/pki/tls/certs/example.crt).0
httpd サービスを再起動します。
  • Red Hat Enterprise Linux 6 の場合:
    # service httpd restart
  • Red Hat Enterprise Linux 7 の場合:
    # systemctl restart httpd

8.1.2. LDAP を使用するよう Red Hat Satellite を設定

Web UI を使用して LDAP 認証を設定するには以下の手順を実行します。Satellite の Web UI で Kerberos を使用したシングルサインオン機能が必要な場合は、代わりに IdM および AD 外部認証を使用する必要があることに注意してください。これらのオプションの詳細については、「ID 管理の使用」 または 「Active Directory の使用」 を参照してください。

手順8.1 LDAP 認証の設定:

  1. 許可 Network Information System (NIS) サービスのブール値を true に設定して SELinux により送信 LDAP 接続が中止されるのを防ぎます。
    • Red Hat Enterprise Linux 6 の場合
      # setsebool -P allow_ypbind on
    • Red Hat Enterprise Linux 7 の場合
      # setsebool -P nis_enabled on
  2. Administer (管理)LDAP Authentication (LDAP 認証) に移動します。
  3. New authentication source (新規の認証ソース) をクリックします。
  4. LDAP server (LDAP サーバー) タブで LDAP サーバーの名前、ホスト名、ポート、およびサーバータイプを入力します。デフォルトポートは 389、デフォルトサーバータイプは POSIX (認証サーバーのタイプに応じて FreeIPA または Active Directory を選択することもできます)。TLS 暗号化接続に対しては、LDAPS チェックボックスを選択して暗号化を有効にします。ポートは LDAPS のデフォルト値である 636 に変更されるはずです。
  5. Account (アカウント) タブでアカウント情報とドメイン名の詳細を入力します。説明と例については、「LDAP 設定の説明と例」 を参照してください。
  6. Attribute mappings (マッピング属性) タブで LDAP 属性を Satellite 属性にマップします。ログイン名、名、姓、電子メールアドレス、および写真の属性をマップできます。例については、「LDAP 設定の説明と例」 を参照してください。
  7. 送信 をクリックします。
この時点で Satellite Server は LDAP サーバーを使用するよう設定されました。Automatically create accounts in Satellite (Satellite でアカウントを自動作成) を選択しなかった場合は、「ユーザーの作成」 を算用してユーザーアカウントを手動で作成します。そのオプションを選択した場合、LDAP ユーザーは LDAP アカウントおよびパスワードを使用して Satellite にログインできます。最初にログインしたあとに、個別ユーザーアカウントを組織とロールを割り当てることができます。または、ユーザーアカウントを組織に自動的に関連付けるために、Administer (管理)Organizations (組織) に移動します。組織を選択し、User (ユーザー) タブをクリックして、All users (すべてのユーザー) を選択します。ロールは手動で割り当てる必要があります。Satellite でユーザーアカウントに適切なロールを割り当てるには、「ユーザーへのロールの割り当て」 を参照してください。

8.1.3. LDAP 設定の説明と例

以下の表は、Account (アカウント) タブの各設定の説明を示しています。

表8.1 Account (アカウント) タブの設定

設定説明
Account username (アカウントユーザー名)LDAP サーバーへの読み取りアクセスを持つ LDAP ユーザー。ユーザー名は、サーバーで匿名の読み取りが許可されている場合は必要ありません。許可されていない場合は、ユーザーのオブジェクトへの完全パスを使用します。以下に例を示します。
uid=$login,cn=users,cn=accounts,dc=example,dc=com
$login 変数には、ログインページで入力されたユーザー名がリテラル文字列として格納されます。この値は、変数が展開されたときにアクセスされます。
この変数は、LDAP ソースからの外部ユーザーグループとは使用できません。ユーザーがログインしていない場合、Satellite はグループリストを取得する必要があります。匿名または専用サービスユーザーを使用してください。
Account password (アカウントパスワード)
Account username (アカウントユーザー名) フィールドで定義されたユーザーの LDAP パスワード。Account username (アカウントユーザー名)$login 変数を使用している場合は、このフィールドを空白のままにすることができます。
Base DN
LDAP ディレクトリーの最上位のドメイン名。
Groups base DN (グループベース DN)
グループが含まれる LDAP ディレクトリーツリーの最上位のドメイン名。
LDAP filter (LDAP フィルター)
LDAP クエリーを制限するフィルター。
Automatically create accounts in Satellite (Satellite でアカウントを自動作成)
このオプションが選択された場合は、LDAP ユーザーが初めて Satellite にログインしたときに、Satellite ユーザーアカウントが自動的に作成されます。Permissions Denied 警告が表示されます。ユーザーは Satellite 管理者に連絡してユーザーアカウントにロールを関連付けてもらう必要があります。
Usergroup sync (ユーザーグループの同期)
このオプションが選択された場合は、ユーザーがログインしたときにユーザーのユーザーグループメンバーシップが自動的に同期されます。これにより、メンバーシップは常に最新の状態になります。このオプションが選択されない場合は、Satellite で Cron ジョブを使用してグループメンバーシップを定期的 (デフォルトでは 30 分ごと) に同期します。詳細については、手順8.6「外部ユーザーグループの設定:」 を参照してください。
以下の表は、異なる種類の LDAP 接続の設定例を示しています。以下のすべての例では、ユーザーおよびグループのエントリーに対してバインド、読み取り、および検索のパーミッションを持つ redhat という名前の専用サービスアカウントを使用します。LDAP 属性名では大文字と小文字が区別されることに注意してください。

表8.2 Active Directory LDAP 接続の設定例

設定値例
アカウントユーザー名DOMAIN\redhat
アカウントパスワードP@ssword
ベース DNDC=example,DC=COM
グループベース DNCN=Users,DC=example,DC=com
ログイン名属性userPrincipalName
名属性givenName
ラストネーム属性sn
メールアドレス属性mail

注記

userPrincipalName では、ユーザー名にスペースを使用できます。ログイン名属性 sAMAccountName (上記の表にはリストされていない) は、レガシー Microsoft システムとの後方互換性を提供します。sAMAccountName では、ユーザー名にスペースを使用できません。

表8.3 FreeIPA または Red Hat Identity Management LDAP 接続の設定例

設定値例
アカウントユーザー名uid=redhat,cn=users,cn=accounts,dc=example,dc=com
ベース DNdc=example,dc=com
グループベース DNcn=groups,cn=accounts,dc=example,dc=com˙
ログイン名属性uid
名属性givenName
ラストネーム属性sn
メールアドレス属性mail

表8.4 POSIX (OpenLDAP) LDAP 接続の設定例

設定値例
アカウントユーザー名uid=redhat,ou=users,dc=example,dc=com
ベース DNdc=example,dc=com
グループベース DNcn=employee,ou=userclass,dc=example,dc=com˙
ログイン名属性uid
名属性givenName
ラストネーム属性sn
メールアドレス属性mail