Skip to content

Commit d2eff7c

Browse files
committed
fix: When connecting to AD, always set krb5_canonicalize=false
When krb5_canonicalize=true, SSSD asks the KDC to return the canonical form of the principal (e.g., fully qualified name or alias resolution). Canonicalization can change the Kerberos principal returned by the KDC. For example: - Input: user@EXAMPLE.COM - Canonicalized: user@subdomain.example.com or a service alias.
1 parent d53fab8 commit d2eff7c

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1437,11 +1437,11 @@ This is because the `adutil` tool is not able to return statuses of users, hence
14371437

14381438
This role uses the `fedora.linux_system_roles.ad_integration` role to join SQL Server with AD server.
14391439

1440-
To join to AD server, you must also provide the following variables for the `ad_integration` role:
1440+
* To join to AD server, you must also provide the following variables for the `ad_integration` role:
14411441

1442-
* `ad_integration_realm` - to optionally join to the AD and create a keytab file
1443-
* `ad_integration_user` - to optionally join to the AD and obtain Kerberos ticket if [mssql_ad_kerberos_user](#mssql_ad_kerberos_user) is not provided
1444-
* `ad_integration_password` - to authenticate `ad_integration_user`
1442+
* `ad_integration_realm` - to optionally join to the AD and create a keytab file
1443+
* `ad_integration_user` - to optionally join to the AD and obtain Kerberos ticket if [mssql_ad_kerberos_user](#mssql_ad_kerberos_user) is not provided
1444+
* `ad_integration_password` - to authenticate `ad_integration_user`
14451445
* Optional, You can configure DNS using ad_integration role by providing the following variables:
14461446

14471447
```yaml
@@ -1453,7 +1453,9 @@ To join to AD server, you must also provide the following variables for the `ad_
14531453

14541454
* Optional: You can provide further variables for the `fedora.linux_system_roles.ad_integration` role if you need.
14551455

1456-
Optional: If you have already joined managed nodes to AD and you want to skip running the ad_integration role, you can set the [mssql_ad_join](#mssql_ad_join) variable to false.
1456+
* Optional: If you have already joined managed nodes to AD and you want to skip running the ad_integration role, you can set the [mssql_ad_join](#mssql_ad_join) variable to false.
1457+
1458+
* To avoid the issue with canonicalization of Kerberos principal returned by the KDC described in [Executing privileged commands against MS ADS fails with error 15404](https://access.redhat.com/solutions/7134391) KCS, the role sets `krb5_canonicalize=false` when joining to the AD realm.
14571459

14581460
### AD Prerequisites
14591461

tasks/main.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -955,6 +955,10 @@
955955
- name: Join to realm {{ ad_integration_realm }}
956956
include_role:
957957
name: fedora.linux_system_roles.ad_integration
958+
vars:
959+
ad_integration_sssd_custom_settings:
960+
- key: krb5_canonicalize
961+
value: "false"
958962
when: mssql_ad_join | bool
959963

960964
- name: Ensure AD user and create keytab file

0 commit comments

Comments
 (0)