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.conf
# mkdir /etc/ipa # touch /etc/ipa/default.conf
Copy to Clipboard Copied! Toggle word wrap Toggle overflow default.conf
ファイルに以下のコンテンツを追加します。[global] server = unused realm = EXAMPLE.ORG
[global] server = unused realm = EXAMPLE.ORG
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の内容で
/etc/net-keytab.conf
ファイルを作成します。[global] workgroup = EXAMPLE realm = EXAMPLE.ORG kerberos method = system keytab security = ads
[global] workgroup = EXAMPLE realm = EXAMPLE.ORG kerberos method = system keytab security = ads
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Apache ユーザーの有効なユーザー ID を特定します。
id apache
# id apache
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Apache ユーザーには 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_User
[service/HTTP] mechs = krb5 cred_store = keytab:/etc/krb5.keytab cred_store = ccache:/var/lib/gssproxy/clients/krb5cc_%U euid = ID_of_Apache_User
Copy to Clipboard Copied! Toggle word wrap Toggle overflow keytab エントリーを作成します。
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.keytab
# 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.keytab
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite の IPA 認証を有効にします。
satellite-installer --foreman-ipa-authentication=true
# satellite-installer --foreman-ipa-authentication=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow gssproxy
サービスを起動して、有効にします。systemctl restart gssproxy.service systemctl enable gssproxy.service
# systemctl restart gssproxy.service # systemctl enable gssproxy.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Apache サーバーが gssproxy サービスを使用するように設定します。
以下の内容で
/etc/systemd/system/httpd.service
ファイルを作成します。.include /lib/systemd/system/httpd.service [Service] Environment=GSS_USE_PROXY=1
.include /lib/systemd/system/httpd.service [Service] Environment=GSS_USE_PROXY=1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 変更をサービスに適用します。
systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
httpd
サービスを起動して、有効にします。systemctl restart httpd.service
# systemctl restart httpd.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SSO が想定どおりに動作していることを確認します。
Apache サーバーが実行中であり、クライアントに有効な Kerberos チケットがある場合、サーバーに対して HTTP 要求を行うユーザーは認証されます。
次のコマンドを使用して、LDAP ユーザーの Kerberos チケットを取得します。
kinit ldapuser
# kinit ldapuser
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを使用して、Kerberos チケットを表示します。
klist
# klist
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを使用して、SSO 認証に成功時の出力を表示します。
curl -k -u : --negotiate https://satellite.example.com/users/extlogin
# curl -k -u : --negotiate https://satellite.example.com/users/extlogin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、以下の応答が返されます。
<html><body>You are being <a href="https://satellite.example.com/users/4-ldapuserexample-com/edit">redirected</a>.</body></html>
<html><body>You are being <a href="https://satellite.example.com/users/4-ldapuserexample-com/edit">redirected</a>.</body></html>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow