5.3. Active Directory の使用
このセクションでは、Satellite Server 用の外部認証ソースとして直接 Active Directory (AD) を使用する方法を示します。
シングルサインオンサポートなしで、Active Directory を外部認証ソースとして接続できます。詳細は、「LDAP の使用」 を参照してください。設定例については、How to configure Active Directory authentication with TLS on Satellite を参照してください。
直接 AD 統合では、ID が保存されている AD ドメインに Satellite Server が直接参加します。
5.3.1. Satellite Server での Active Directory 認証ソースの設定
Satellite Server で対応する認証プロバイダーを設定して、Active Directory (AD) ユーザーが Satellite にアクセスできるようにします。
前提条件
Satellite Server のベースシステムが Active Directory (AD) ドメインに参加している。AD ユーザーが Kerberos シングルサインオンでサインインできるようにするには、System Security Services Daemon (SSSD) と Samba サービスを使用して、ベースシステムを AD ドメインに参加させます。
Satellite Server に次のパッケージをインストールします。
# satellite-maintain packages install adcli krb5-workstation oddjob-mkhomedir oddjob realmd samba-winbind-clients samba-winbind samba-common-tools samba-winbind-krb5-locator sssd
AD ドメインに参加するときに必要なソフトウェアを指定します。
# realm join AD.EXAMPLE.COM --membership-software=samba --client-software=sssd
直接 AD インテグレーションの詳細は、Samba Winbind を使用した RHEL システムの AD への直接接続 を参照してください。
手順
satellite-installer が想定する場所で AD レルム設定を定義します。
/etc/ipa/
という名前のディレクトリーを作成します。# mkdir /etc/ipa/
AD ドメインの Kerberos レルムを設定するには、次の内容を含む
/etc/ipa/default.conf
ファイルを作成します。[global] realm = AD.EXAMPLE.COM
Kerberos 接続の Apache keytab を設定します。
Samba が AD と対話する方法を設定するには、次の設定で
/etc/samba/smb.conf
ファイルを更新します。[global] workgroup = AD.EXAMPLE realm = AD.EXAMPLE.COM kerberos method = system keytab security = ads
/etc/httpd/conf/http.keytab
のキータブファイルに Kerberos サービスプリンシパルを追加します。# KRB5_KTNAME=FILE:/etc/httpd/conf/http.keytab net ads keytab add HTTP -U Administrator -s /etc/samba/smb.conf
AD アクセス制御プロバイダーを使用して
Foreman
PAM サービスのグループポリシーオブジェクト (GPO) アクセス制御ルールを評価および適用するように、System Security Services Daemon (SSSD) を設定します。/etc/sssd/sssd.conf
ファイルの[domain/ad.example.com ]
セクションで、ad_gpo_access_control
およびad_gpo_map_service
オプションを次のように設定します。[domain/ad.example.com] ad_gpo_access_control = enforcing ad_gpo_map_service = +foreman
GPO の詳細は、次のドキュメントを参照してください。
- RHEL システムと Windows Active Directory を直接統合 の SSSD が GPO アクセス制御ルールを解釈する方法 (RHEL 9)
- RHEL システムと Windows Active Directory を直接統合 の SSSD が GPO アクセス制御ルールを解釈する方法 (RHEL 8)
SSSD を再起動します。
# systemctl restart sssd
認証ソースを有効にします。
# satellite-installer --foreman-ipa-authentication=true
検証
-
AD ユーザーが認証情報を入力して Satellite にログインできることを確認するには、https://satellite.example.com で Satellite Web UI にログインします。ユーザー名をユーザープリンシパル名 (UPN) 形式で入力します (例:
ad_user @ AD.EXAMPLE.COM
)。 AD ユーザーが Kerberos シングルサインオンを使用して認証できることを確認するには、以下を実行します。
AD ユーザーに代わって Kerberos Ticket-Granting Ticket (TGT) を取得します。
$ kinit ad_user@AD.EXAMPLE.COM
TGT を使用してユーザー認証を確認します。
$ curl -k -u : --negotiate https://satellite.example.com/users/extlogin <html><body>You are being <a href="satellite.example.com/hosts">redirected</a>.</body></html>
トラブルシューティング
AD LDAP への接続が失敗し、ログに次のようなエラーが表示されることがあります。
Authentication failed with status code: { "error": { "message": "ERF77-7629 [Foreman::LdapException]: Error while connecting to 'server.com' LDAP server at 'ldap.example.com' during authentication ([Net::LDAP::Error]: Connection reset by peer - SSL_connect)" } }
このエラーが表示された場合は、接続に使用されている暗号を確認してください。
# openssl s_client -connect ldap.example.com:636
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
暗号が使用されている場合は、Satellite Server 側または AD 側のいずれかで暗号を無効にします。TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
暗号は非互換性の原因となることが知られています。詳細は、Red Hat ナレッジベースソリューション API calls to Red Hat Satellite 6 fail intermittently on LDAP authentication を参照してください。
関連情報
-
システム上の
sssd-ad(5)
man ページ
5.3.2. Web ブラウザーでの Kerberos の設定
Firefox の設定は、Red Hat Enterprise Linux RHEL での認証および認可の設定 ガイドの Single Sign-On に Kerberos を使用するための Firefox の設定 を参照してください。
Internet Explorer ブラウザーを使用している場合は、Satellite Server をローカルイントラネットまたは信頼済みサイトのリストに追加し、統合 Windows 認証を使用する の設定にチェックを入れます。詳細については、Internet Explorer のマニュアルを参照してください。
5.3.3. フォレスト間信頼を使用する Active Directory
Kerberos では、cross-forest trust
を作成して、2 つの異なるドメインフォレスト間の関係を定義できます。ドメインフォレストとは、ドメインの階層構造のことで、AD と Red Hat Identity Management の両方でフォレストが形成されます。AD と Red Hat Identity Management との間での有効な信頼関係により、AD のユーザーは一連の認証情報を使用して Linux ホストおよびサービスにアクセスできます。フォレスト間の信頼の詳細については、Red Hat Enterprise Linux Identity Management の計画 の IdM と AD との間のフォレスト間の信頼の計画 を参照してください。
Satellite 側から見ると、設定プロセスは、フォレスト間の信頼を設定せずに Red Hat Identity Management サーバーと統合する場合と同じです。Satellite Server は IdM ドメインに登録し、「Red Hat Identity Management の使用」 で説明されているように統合する必要があります。
5.3.4. フォレスト間信頼を使用するための 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.com] ... krb5_store_password_if_offline = True ldap_user_extra_attrs=email:mail, lastname:sn, firstname:givenname [ifp] allowed_uids = ipaapi, root user_attributes=+email, +firstname, +lastname
AD 属性値を確認します。
# dbus-send --print-reply --system --dest=org.freedesktop.sssd.infopipe /org/freedesktop/sssd/infopipe org.freedesktop.sssd.infopipe.GetUserAttr string:ad-user@ad-domain array:string:email,firstname,lastname