Configure Kerberos Constrained Delegation
Kerberos
Constrained DelegationFor multi-realm configuration, always start by configuring and testing a single realm first, then proceed to adding the other realms or forests.
- If you are configuring KCD forBlackBerry Docs, see Configuring Kerberos constrained delegation for the Docs service.
- For additional information about the keytab file, see KB 42712.
- Map theKerberosservice account to a service principal name (SPN). Open an administrator command prompt on theActive Directoryserver and typesetspn –s GCSvc/UEM_Core_host_machine DOMAIN\Kerberos_service_account.Replace the host server name, domain, and service account variables with values appropriate to your environment. TheKerberosservice account is the service account name under which the KCD service will be configured inUEM(gc.krb5.principal.name). This account does not need to be the same as theUEMservice account, but can be.For example:setspn –s GCSvc/uem1.example.com example.com\kcdadmin
- Create theKerberoskeytab file. You must generate a new keytab file and copy it to theUEMserver when you change theKerberosaccount password.Creating theKerberoskeytab file also sets theKerberosaccount password. The password set in this command sets the password for the account that you specify in the command. If you have already been given a password, ensure you use the same one. If you use a different password, it resets the password. This includes theUEMservice account password, if you use theUEMservice account to create the keytab file. To create the keytab file, perform the following actions:
- Open a command prompt window on the KDC server.
- Use the ktpass command. For more information about the ktpass command, visit docs.microsoft.com.ktpass -out outfilename.keytab -mapuser kerberos_account@REALM_IN_ALL_CAPS -princ kerberos_account@REALM_IN_UPPERCASE/ptype KRB5_NT_PRINCIPAL -pass kerberos_account_passwordoutfilenameThis is the name of the output file.kerberos_accountThis is the name of theKerberosaccount.REALM_IN_UPPERCASEThis is theKerberosrealm. The name must use only uppercase letters.-pass kerberos_account_passwordThis is the existing password for the reusedKerberosaccount. If the kerberos_account_password contains special characters, such as ^, enclose it in double quotation marks.For example:
orktpass -out outfilename.keytab -mapuser kerberos_account@REALM_IN_UPPERCASE -princ kerberos_account@REALM_IN_UPPERCASE /ptype KRB5_NT_PRINCIPAL -pass kerberos_account_passwordktpass /out outfilename.keytab /mapuser kerberos_account@REALM_IN_UPPERCASE /princ kerberos_account@REALM_IN_UPPERCASE /ptype KRB5_NT_PRINCIPAL /pass kerberos_account_password - Copy the new keytab file (kcdadmin.keytab in the examples) saved in this directory to theUEMserver. If you have multipleBlackBerry UEM Coreservers that are configured to use the same KCD admin account, you must copy the keytab file to everyUEMserver.You can copy the keytab file to any location on the servers, for example, c:\keytab. You will reference this location later on, so make a note of it.
- Enable enumeration of AD user objects group membership. For more information, see Appendix B: Privileged Accounts and Groups in Active Directory.
- On theUEMserver, configure permissions for theUEMservice account so it can send user credentials to theKerberossystem. This is the same account that has the associated service principal name (SPN). To configure permissions, perform the following actions:
- Open theLocal Security Policypane in the Windows console.
- UnderLocal Policies, selectUser Rights Assignments, then right-clickActas part of the operating system in the right panel and selectProperties.
- In thePropertieswindow, click onAdd User or Group, then type the name of the service account and clickOK.
- ConfigureKerberos-related properties inUEM.You can specify only one KDC (domain controller) in theUEMconfiguration for eachBlackBerry UEM Coreserver. This means that all KCD-related calls to the domain controller will always go to that single KCD. This could mean that if that one KDC goes down, all KCD calls will fail.
- InSettings > BlackBerry Dynamics > Global properties, the following settings are required to enable KCD inUEM.PropertyDescriptionUse explicit UPNEnable this property to forceUEMto perform authentication using the explicit UPN stored inActive Directoryinstead of the implicit UPN that is generated by combining a user’s alias and domain.”Enable KCD (gc.krb5.enabled)Select this check box to enable KCD.
- InSettings > BlackBerry Dynamics > Properties(click on the server name), the following settings are required to enable KCD inUEM.PropertyExampleDescriptiongc.krb5.kdc=<kdc_host_name>UEM1.EXAMPLE.COMThe fully qualified name for the KDC. It usually corresponds to the FQDN of anActive Directorydomain controller.gc.krb5.keytab.file= <keytab_file_location>c:/keytab/kcdadmin.keytabThe location of the keytab file. Use forward slashes in the path name.gc.krb5.principal.name= <kcd_service_account>kcdadmin@EXAMPLE.COMThe name of the service account used by the KCD service.gc.krb5.realm=<REALM>EXAMPLE.COMThe name of theActive Directoryrealm. The value must be in all uppercase letters.
- Optionally, create a krb5.conf file if there is a CAPATH trust. Consult yourActive Directoryteam if you need to create this file.The krb5.conf file is required to establish the CAPATH trust relationships of multipleKerberosdomains. The location of the krb5.conf file on theUEMserver must be specified in the server property gc.krb5.config.file.Sample krb5.conf file:[libdefaults] default_realm = NA.POD1.COM [realms] NA.POD1.COM = { kdc = pod1-na-ad.na.pod1.com } [ capaths] NA.POD1.COM = { APAC.POD2.COM = POD2.COM POD2.COM = POD1.COM POD1.COM = . } POD2.COM = { NA.POD1.COM = POD1.COM POD1.COM = . } APAC.POD2.COM = { NA.POD1.COM = POD1.COM POD1.COM = POD2POD2.COM POD2.COM = .}