13.3. Active Directory の使用
このセクションでは、Satellite Server 用の外部認証ソースとして直接 Active Directory (AD) を使用する方法を示します。
シングルサインオンサポートなしで、Active Directory を外部認証ソースとして接続できます。詳細は、「LDAP の使用」 を参照してください。設定例については、How to configure Active Directory authentication with TLS on Satellite 6 を参照してください。
直接 AD 統合では、ID が保存されている AD ドメインに Satellite Server が直接参加します。推奨の設定には、以下の 2 つの手順が含まれます。
- 「Satellite Server の AD サーバーへの登録」 の説明に従って、Active Directory サーバーに Satellite Server を登録します。
- 「GSS-proxy を使用した直接 AD 統合の設定」 の説明に従って、GSS-proxy との直接 Active Directory 統合を設定します。
13.3.1. GSS-Proxy リンクのコピーリンクがクリップボードにコピーされました!
Apache での Kerberos 認証の従来のプロセスでは、Apache プロセスが keytab ファイルへの読み取りアクセスを持っている必要があります。GSS-Proxy を使用すると、Kerberos 認証機能を保持しつつ keytab ファイルへのアクセスを削除することにより Apache サーバーに対してより厳密な権限の分離を実行できます。AD を Satellite の外部認証ソースとして使用する場合は、keytab ファイルのキーがホストキーと同じであるため、GSS-proxy を実装することが推奨されます。
AD 統合では、Red Hat Satellite Server を Red Hat Enterprise Linux 7.1 以降にデプロイする必要があります。
Satellite Server のベースオペレーティングシステムとして動作する Red Hat Enterprise Linux で以下の手順を実行します。本セクションの例では、EXAMPLE.ORG が AD ドメインの Kerberos レルムです。手順を完了すると、EXAMPLE.ORG レルムに属するユーザーは Satellite Server にログインできます。
13.3.2. Satellite Server の AD サーバーへの登録 リンクのコピーリンクがクリップボードにコピーされました!
Satellite CLI で、Active Directory サーバーに Satellite Server を登録します。
前提条件
GSS-proxy と nfs-utils がインストールされていること。
GSS-proxy と nfs-utils をインストールします。
# satellite-maintain packages install gssproxy nfs-utils
手順
必要なパッケージをインストールします。
# satellite-maintain packages install sssd adcli realmd ipa-python-compat krb5-workstation samba-common-toolsSatellite Server を AD サーバーに登録します。以下のコマンドを実行するには、管理者パーミッションが必要な場合があります。
# realm join -v EXAMPLE.ORG
13.3.3. GSS-proxy を使用した直接 AD 統合の設定 リンクのコピーリンクがクリップボードにコピーされました!
Satellite CLI で、GSS-proxy を使用する直接 Active Directory 統合を設定します。
前提条件
Satellite が、Active Directory サーバーに登録されていること。
詳細は、「Satellite Server の AD サーバーへの登録」 を参照してください。
手順
/etc/ipa/ディレクトリーとdefault.confファイルを作成します。# mkdir /etc/ipa # touch /etc/ipa/default.confdefault.confファイルに以下のコンテンツを追加します。[global] server = unused realm = EXAMPLE.ORG以下の内容で
/etc/net-keytab.confファイルを作成します。[global] workgroup = EXAMPLE realm = EXAMPLE.ORG kerberos method = system keytab security = adsApache ユーザーの有効なユーザー ID を特定します。
# id apacheApache ユーザーには keytab ファイルへのアクセス権を割り当てないでください。
以下の内容で
/etc/gssproxy/00-http.confファイルを作成します。[service/HTTP] mechs = krb5 cred_store = keytab:/etc/krb5.keytab cred_store = ccache:/var/lib/gssproxy/clients/krb5cc_%U euid = ID_of_Apache_Userkeytab エントリーを作成します。
# KRB5_KTNAME=FILE:/etc/httpd/conf/http.keytab net ads keytab add HTTP -U administrator -d3 -s /etc/net-keytab.conf # chown root.apache /etc/httpd/conf/http.keytab # chmod 640 /etc/httpd/conf/http.keytabSatellite の IPA 認証を有効にします。
# satellite-installer --foreman-ipa-authentication=truegssproxyサービスを起動して、有効にします。# systemctl restart gssproxy.service # systemctl enable gssproxy.serviceApache サーバーが gssproxy サービスを使用するように設定します。
以下の内容で
/etc/systemd/system/httpd.serviceファイルを作成します。.include /lib/systemd/system/httpd.service [Service] Environment=GSS_USE_PROXY=1変更をサービスに適用します。
# systemctl daemon-reload
httpdサービスを起動して、有効にします。# systemctl restart httpd.serviceSSO が想定どおりに動作していることを確認します。
Apache サーバーが実行中であり、クライアントに有効な Kerberos チケットがある場合、サーバーに対して HTTP 要求を行うユーザーは認証されます。
次のコマンドを使用して、LDAP ユーザーの Kerberos チケットを取得します。
# kinit ldapuser以下のコマンドを使用して、Kerberos チケットを表示します。
# klist以下のコマンドを使用して、SSO 認証に成功時の出力を表示します。
# curl -k -u : --negotiate https://satellite.example.com/users/extloginこれにより、以下の応答が返されます。
<html><body>You are being <a href="https://satellite.example.com/users/4-ldapuserexample-com/edit">redirected</a>.</body></html>
13.3.4. Web ブラウザーでの Kerberos の設定 リンクのコピーリンクがクリップボードにコピーされました!
Firefox ブラウザーの設定の詳細は、Red Hat Enterprise Linux System-Level Authentication の Configuring Firefox to Use Kerberos for Single Sign-On を参照してください。
Internet Explorer ブラウザーを使用している場合は、Satellite Server をローカルイントラネットまたは信頼済みサイトのリストに追加し、統合 Windows 認証を使用する の設定にチェックを入れます。詳細については、Internet Explorer のマニュアルを参照してください。
直接 AD 統合では、Red Hat Identity Management を介した HBAC は利用できません。代わりに、管理者が AD 環境でポリシーを一元管理することを可能にする Group Policy Objects (GPO) を使用できます。GPO と PAM サービス間の適切なマッピングを行うには、以下の sssd 設定を使用します。
access_provider = ad
ad_gpo_access_control = enforcing
ad_gpo_map_service = +foreman
ここでは、foreman は PAM サービスの名前です。GPO の詳細については、Red Hat Enterprise Linux Windows Integration Guide を参照してください。
13.3.5. フォレスト間信頼を使用する Active Directory リンクのコピーリンクがクリップボードにコピーされました!
Kerberos では、cross-forest trust を作成して、2 つの異なるドメインフォレスト間の関係を定義できます。ドメインフォレストとは、ドメインの階層構造のことで、AD と Red Hat Identity Management の両方でフォレストが形成されます。AD と Red Hat Identity Management との間での有効な信頼関係により、AD のユーザーは一連の認証情報を使用して Linux ホストおよびサービスにアクセスできます。フォレスト間信頼の詳細は、Red Hat Enterprise Linux Windows Integration ガイドの Creating Cross-forest Trusts with Active Directory and Identity Management を参照してください。
Satellite 側から見ると、設定プロセスは、フォレスト間の信頼を設定せずに Red Hat Identity Management サーバーと統合する場合と同じです。Satellite Server は IPM ドメインに登録し、「Red Hat Identity Management の使用」 で説明されているように統合する必要があります。
13.3.6. フォレスト間信頼を使用するための Red Hat Identity Management サーバーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Identity Management サーバーで、cross-forest trust を使用するようにサーバーを設定します。
手順
HBAC を有効にします。
- 外部グループを作成して、この外部グループに AD グループを追加します。
- 新しい外部グループを POSIX グループに追加します。
- HBAC ルールで POSIX グループを使用します。
AD ユーザーの追加属性を転送するよう sssd を設定します。
この AD ユーザー属性を
/etc/sssd/sssd.confの nss セクションと domain セクションに追加します。以下に例を示します。
[nss] user_attributes=+mail, +sn, +givenname [domain/EXAMPLE] ldap_user_extra_attrs=mail, sn, givenname