In the {Project} CLI, configure {FreeIPA} authentication by first creating a host entry on the {FreeIPA} server.
-
On the {FreeIPA} server, to authenticate, enter the following command and enter your password when prompted:
# kinit admin
-
To verify that you have authenticated, enter the following command:
# klist
-
On the {FreeIPA} server, create a host entry for {ProjectServer} and generate a one-time password, for example:
# ipa host-add --random hostname
NoteThe generated one-time password must be used on the client to complete {FreeIPA}-enrollment.
-
Create an HTTP service for {ProjectServer}, for example:
# ipa service-add HTTP/hostname
-
On {ProjectServer}, install the IPA client:
# {project-package-install} ipa-client
-
On {ProjectServer}, enter the following command as root to configure {FreeIPA}-enrollment:
# ipa-client-install --password OTP
Replace OTP with the one-time password provided by the {FreeIPA} administrator.
-
Set {FreeIPA} as the authentication provider, using one of the following commands:
-
If you only want to enable access to the {ProjectWebUI} but not the {Project} API, enter:
# {foreman-installer} \ --foreman-ipa-authentication=true
-
If you want to enable access both to the {ProjectWebUI} and the {Project} API, enter:
# {foreman-installer} \ --foreman-ipa-authentication-api=true \ --foreman-ipa-authentication=true
WarningEnabling access to both the {Project} API and the {ProjectWebUI} can lead to security problems. After an IdM user receives a Kerberos ticket-granting ticket (TGT) by entering
kinit user_name
, an attacker can obtain an API session. The attack is possible even if the user did not previously enter the {Project} login credentials anywhere, for example in the browser.
-
-
Restart {Project} services:
# {foreman-maintain} service restart
External users can now log in to {Project} using their {FreeIPA} credentials. They can now choose to either log in to {ProjectServer} directly using their username and password or take advantage of the configured Kerberos single sign-on and obtain a ticket on their client machine and be logged in automatically. The two-factor authentication with one-time password (2FA OTP) is also supported.