Updating the Windows Domain Configuration
To configure FME Flow to use single sign-on authentication, the Windows domain must recognize FME Flow as a domain service. The following steps are required:
- Represent FME Flow as a domain service by assigning it a service principal name (SPN).
- Register the SPN (or SPNs) to the service account.
- Ensure that the service account requires Kerberos pre-authentication.
- Ensure your domain controllers do not allow RC4 encryption.
A) Assign a Service Principal Name
An SPN has the form: <service>/<host>, where:
<service> is the service type. In the context of FME Flow, this is http.
<host> is the name of the machine hosting FME Flow's web application server. To provide flexibility, we suggest assigning both the unqualified and fully-qualified versions of the host name.
To obtain the unqualified and fully-qualified versions of the host name:
- From the FME Flow host machine, click the Start menu, right-click 'Computer' or 'My Computer' and select 'Properties'.
- For the unqualified host name, refer to 'Computer name'.
- For the fully-qualified host name, refer to 'Full computer name'.
For example, if the unqualified host name is 'MyETLServer' and the fully-qualified host name is 'MyETLServer.domain.net', the SPNs are:
- http/MyETLServer
- http/MyETLServer.domain.net
B) Register an SPN to a Service Account
- From the Domain Controller, open a command prompt (cmd.exe) via the Start menu.
- Type setspn -S <spn> <account> to register the SPN to the service account.
- Ensure that the command succeeded with the message 'Updated object'. If the message 'Unable to locate account ...' appears, the account name is incorrectly specified.
- Repeat until all SPNs are added.
For example, using the SPNs in the previous example, and supposing the service account is 'fmeflowadmin', the following commands would be entered:
setspn -S http/MyETLServer fmeflowadmin
setspn -S http/MyETLServer.domain.net fmeflowadmin
C) Ensure the Service Account Requires Kerberos Pre-authentication:
- From the Domain Controller, open 'Active Directory Users and Computers' via the Start menu.
- In the console tree, navigate to the service account.
- Right-click the service account, and select Properties.
- Select the Account tab.
- Under Account Options, scroll to the bottom and ensure that 'Do not require Kerberos preauthentication' is unchecked.
- Click Ok.
D) Ensure Your Domain Controllers do not Allow RC4 Encryption
If the domain controller local policy or group policy allows RC4 encryption, and this policy cannot be changed, you can allow FME Flow to use less secure encryption:
- On the FME Flow machine navigate to <FMEFlowDir>\Utilities\jre\conf\security
- Create a new file called krb5.conf
- Edit the new file with the following text and save:
- Restart FME Flow.
[libdefaults]
allow_weak_crypto = true