You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: search for name of domain/realm in sssd.conf; merge settings if duplicates
Feature: Search for the name of the section used in the SSSD config file
for the domain/realm specific settings, as managed by `ad_dyndns_update` and
`ad_integration_sssd_custom_settings`. This section is added by `realm join`
and the casing of the name is determined by AD settings, so we need to search
for the name using a case insensitive search.
Previous versions of the role would always use a lower case realm in the section
name, which may have left the SSSD config file with multiple sections
for the realm. Use the new `ad_integration_sssd_merge_duplicate_sections` setting
to consolidate all of the settings from the multiple sections into the chosen
section.
Reason: The realm/domain section in the SSSD config file is written by
`realm join`, and the case is determined by AD settings, so we must do a search
to find the section name to use for writting additional SSSD realm/domain
settings. In addition, we need some way to clean up any previously
duplicated settings from the SSSD config.
Result: The ad_integration role can manage domain/realm sections in the SSSD
config file correctly.
Signed-off-by: Rich Megginson <rmeggins@redhat.com>
Copy file name to clipboardExpand all lines: README.md
+65-17Lines changed: 65 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,9 +18,9 @@ Administrator user as the security footprint of this user is too large.
18
18
See [Delegated Permissions](https://www.mankier.com/8/adcli#Delegated_Permissions)
19
19
for the explicit permissions a user must have.
20
20
21
-
Time must be in sync with Active Directory servers. The ad_integration role will use the timesync system role for this if the user specifies `ad_integration_manage_timesync` to true and provides a value for `ad_integration_timesync_source` to use as a timesource.
21
+
Time must be in sync with Active Directory servers. The ad_integration role will use the timesync system role for this if the user specifies [ad_integration_manage_timesync](#ad_integration_manage_timesync) to true and provides a value for [ad_integration_timesync_source](#ad_integration_timesync_source) to use as a timesource.
22
22
23
-
RHEL8 (and newer) and Fedora no longer support RC4 encryption out of the box, it is recommended to enable AES in Active Directory, if not possible then the AD-SUPPORT crypto policy must be enabled. The integration role will use the crypto_policies system role for this if the user sets the `ad_integration_manage_crypto_policies` and `ad_integration_allow_rc4_crypto` parameters to true.
23
+
RHEL8 (and newer) and Fedora no longer support RC4 encryption out of the box, it is recommended to enable AES in Active Directory, if not possible then the AD-SUPPORT crypto policy must be enabled. The integration role will use the crypto_policies system role for this if the user sets the [ad_integration_manage_crypto_policies](ad_integration_manage_crypto_policies) and [ad_integration_allow_rc4_crypto](#ad_integration_allow_rc4_crypto) parameters to true.
24
24
25
25
The Linux system must be able to resolve default AD DNS SRV records.
The password of the user used to authenticate with when joining the machine to the realm. Do not use cleartext - use Ansible Vault to encrypt the value.
@@ -105,13 +121,13 @@ Default: Default AD computer container
105
121
106
122
#### ad_integration_manage_timesync
107
123
108
-
If true, the ad_integration role will use fedora.linux_system_roles.timesync. Requires providing a value for `ad_integration_timesync_source` to use as a time source.
124
+
If true, the ad_integration role will use fedora.linux_system_roles.timesync. Requires providing a value for [ad_integration_timesync_source](#ad_integration_timesync_source) to use as a time source.
109
125
110
126
Default: false
111
127
112
128
#### ad_integration_timesync_source
113
129
114
-
Hostname or IP address of time source to synchronize the system clock with. Providing this variable automatically sets `ad_integration_manage_timesync` to true.
130
+
Hostname or IP address of time source to synchronize the system clock with. Providing this variable automatically sets [ad_integration_manage_timesync](#ad_integration_manage_timesync) to true.
115
131
116
132
#### ad_integration_manage_crypto_policies
117
133
@@ -121,7 +137,7 @@ Default: false
121
137
122
138
#### ad_integration_allow_rc4_crypto
123
139
124
-
If true, the ad_integration role will set the crypto policy allowing RC4 encryption. Providing this variable automatically sets ad_integration_manage_crypto_policies to true
140
+
If true, the ad_integration role will set the crypto policy allowing RC4 encryption. Providing this variable automatically sets [ad_integration_manage_crypto_policies](#ad_integration_manage_crypto_policies) to true
125
141
126
142
Default: false
127
143
@@ -135,74 +151,78 @@ If true, the ad_integration role will use fedora.linux_system_roles.network to a
135
151
136
152
#### ad_integration_dns_server
137
153
138
-
IP address of DNS server to add to existing networking configuration. Only applicable if `ad_integration_manage_dns` is true
154
+
IP address of DNS server to add to existing networking configuration. Only applicable if [ad_integration_manage_dns](#ad_integration_manage_dns) is true
139
155
140
156
#### ad_integration_dns_connection_name
141
157
142
-
The name option identifies the connection profile to be configured by the network role. It is not the name of the networking interface for which the profile applies. Only applicable if `ad_integration_manage_dns` is true
158
+
The name option identifies the connection profile to be configured by the network role. It is not the name of the networking interface for which the profile applies. Only applicable if [ad_integration_manage_dns](#ad_integration_manage_dns) is true
143
159
144
160
#### ad_integration_dns_connection_type
145
161
146
-
Network connection type such as ethernet, bridge, bond...etc, the network role contains a list of possible values. Only applicable if `ad_integration_manage_dns` is true
162
+
Network connection type such as ethernet, bridge, bond...etc, the network role contains a list of possible values. Only applicable if [ad_integration_manage_dns](#ad_integration_manage_dns) is true
147
163
148
164
#### ad_dyndns_update
149
165
150
166
If true, SSSD is configured to automatically update the AD DNS server with the IP address of the client.
151
167
168
+
*NOTE*: See the [ad_integration_realm](#ad_integration_realm), and
for information about how the role writes these settings to the sssd.conf file.
171
+
152
172
Default: false
153
173
154
174
#### ad_dyndns_ttl
155
175
156
-
Optional. The TTL, in seconds, to apply to the client's DNS record when updating it. Only applicable if `ad_dyndns_update` is true
176
+
Optional. The TTL, in seconds, to apply to the client's DNS record when updating it. Only applicable if [ad_dyndns_update](#ad_dyndns_update) is true
157
177
158
178
**Note:** This will override the TTL set by an administrator on the server.
159
179
160
180
Default: 3600
161
181
162
182
#### ad_dyndns_iface
163
183
164
-
Optional. Interface or a list of interfaces whose IP addresses should be used for dynamic DNS updates. Special value "*" implies all IPs from all interfaces should be used. Only applicable if `ad_dyndns_update` is true
184
+
Optional. Interface or a list of interfaces whose IP addresses should be used for dynamic DNS updates. Special value "*" implies all IPs from all interfaces should be used. Only applicable if [ad_dyndns_update](#ad_dyndns_update) is true
165
185
166
186
Default: Use the IP addresses of the interface which is used for AD LDAP connection
167
187
168
188
#### ad_dyndns_refresh_interval
169
189
170
-
Optional. How often should, in seconds, periodic DNS updates be performed in addition to when the back end goes online. Only applicable if `ad_dyndns_update` is true
190
+
Optional. How often should, in seconds, periodic DNS updates be performed in addition to when the back end goes online. Only applicable if [ad_dyndns_update](#ad_dyndns_update) is true
171
191
172
192
**Note:** lowest possible value is 60 seconds. If value less than 60 is specified sssd will assume lowest value only.
173
193
174
194
Default: 86400
175
195
176
196
#### ad_dyndns_update_ptr
177
197
178
-
Optional. If true, the PTR record should also be explicitly updated. Only applicable if `ad_dyndns_update` is true
198
+
Optional. If true, the PTR record should also be explicitly updated. Only applicable if [ad_dyndns_update](#ad_dyndns_update) is true
179
199
180
200
Default: true
181
201
182
202
#### ad_dyndns_force_tcp
183
203
184
-
Optional. If true, the nsupdate utility should default to using TCP for communicating with the DNS server. Only applicable if `ad_dyndns_update` is true
204
+
Optional. If true, the nsupdate utility should default to using TCP for communicating with the DNS server. Only applicable if [ad_dyndns_update](#ad_dyndns_update) is true
185
205
186
206
Default: false
187
207
188
208
#### ad_dyndns_auth
189
209
190
-
Optional. If true, GSS-TSIG authentication will be used for secure updates with the DNS server when updating A and AAAA records. Only applicable if `ad_dyndns_update` is true
210
+
Optional. If true, GSS-TSIG authentication will be used for secure updates with the DNS server when updating A and AAAA records. Only applicable if [ad_dyndns_update](#ad_dyndns_update) is true
191
211
192
212
Default: true
193
213
194
214
#### ad_dyndns_server
195
215
196
-
Optional. DNS server to use when performing a DNS update when autodetection settings fail. Only applicable if `ad_dyndns_update` is true
216
+
Optional. DNS server to use when performing a DNS update when autodetection settings fail. Only applicable if [ad_dyndns_update](#ad_dyndns_update) is true
197
217
198
218
Default: None (let nsupdate choose the server)
199
219
200
220
#### ad_integration_join_parameters
201
221
202
222
Additional parameters (as a string) supplied directly to the realm join command.
203
-
Useful if some specific configuration like --user-principal=host/name@REALM or --use-ldaps is needed.
223
+
Useful if some specific configuration like `--user-principal=host/name@REALM` or `--use-ldaps` is needed.
All of the settings from `[domain/example.com]` will be moved to
289
+
`[domain/EXAMPLE.COM]`, and the section `[domain/example.com]` will be removed
290
+
from sssd.conf.
291
+
244
292
## Example Playbook
245
293
246
294
The following is an example playbook to setup direct Active Directory integration with AD domain `domain.example.com`, the join will be performed with user Administrator using the vault stored password. Prior to the join, the crypto policy for AD SUPPORT with RC4 encryption allowed will be set.
0 commit comments