source: trunk/LATMOS-Accounts/man/man8/latmos-accounts-base-sql.pod @ 2189

Last change on this file since 2189 was 2189, checked in by nanardon, 5 years ago

Add sshKey managment for service accounts

File size: 9.0 KB
Line 
1# $Id$
2
3=head1 DESCRIPTION
4
5=head1 SPECIFIC SETUP PARAMTERS
6
7=head2 db_conn
8
9The C<libpq> connection parameters, eg a semin colon separated paramaters
10containing the server, the database name, user and password, etc...
11
12=head2 no_pg_utf8
13
14If set disable utf8 flags from postgresql. You can try this parameter if you
15have issue with non ascii value from database
16
17=head2 remove_old_dpmt
18
19By default when the department is changed on a user account it remains in the
20department group as a secondary department.
21
22Setting C<remove_old_dpmt> to true in the config will force user removal from
23the group when department is changed.
24The user can still be added back later.
25
26=head2 ASyncDynData
27
28Don't compute dynamic attribute at commit but let syncManager do it
29asynchronously.
30
31=head1 FEATURES
32
33=head2 Object Aliases
34
35It is possible to create object being simple alias to another, like symbolic on
36UNIX filesystem or mail alias.
37
38Thoses aliases objects are always resolved when propagating into other base.
39The referenced object can be easilly change and all the data related will be
40propagated.
41
42Only alias for object type C<User> are supported at time.
43
44=head3 Usage Example:
45
46The typical exemple is for attribute C<manager> or attribute C<managedBy>.
47Instead setting them to C<John> you can create an alias C<Director> and when
48C<John> leave just change alias reference to C<Bill>.
49
50=head2 Network managment
51
52Link::Accounts can build automatically some part of your DNS or DHCP
53configuration.
54
55To do this you have to create a C<netzone> object. Such object need a type:
56
57=over 4
58
59=item dns: to build a DNS zone for classic domain
60
61=item reverse: for reverse IP address (168.192.in-addr.arpa)
62
63=item dhcp: ISC dscpd configuration for fixed address
64
65=item puppet: puppet configuration
66
67=back
68
69The way it works is quite simple, each zone will make the code to write a file
70you can include in your server configuration. The match is done by looking the
71zone IP address masks and the host IPs.
72
73For example someone having a zone named C<private.mydomain.com> having masks
74C<192.168.5.0/24>, and having an host named C<foo> with IP C<192.168.5.3> and
75another host C<bar> with IP C<192.168.13.78>. The zone built will look likes:
76
77    foo IN A 192.168.5.3
78
79As you can see this DNS zone is not valid: the goal of such feature is to make
80the repetive work for us, not to manage the full zone (even such feature could
81be possible). The repetitive work is declaring the hundred computers our users
82have.
83
84The output will be happend to a template have the name of the zone suffixed by
85C<.in>. You can put in this template evering about the zone declaration (SOA,
86NS, TXT...).
87
88=head2 User endcircuit
89
90The C<endcircuit> attribute contain the deadline for people to make
91admnistrative task when starting to work.
92If set this attribute take precedence to C<expire> attribute for computed
93attributes (C<accountExpires> for Active Directory).
94
95Setting C<endCircuitdontExpire> option to the database disable this behavior and
96C<endcircuit> attribute become informationnal only.
97
98=head2 User Employment
99
100The employment object allow you to set time when you're user have a status. This
101allow through 'Employment' module for la-sync-manager to automate changes.
102
103The synchronized attributes are:
104
105=over 4
106
107=item C<company>
108
109=item C<employer>
110
111=item C<department>
112
113=item C<contratType>
114
115=item C<managerContact>
116
117=item C<expire>
118
119=item C<endcircuit>
120
121=back
122
123To avoid error when modifying user direclty when you're using employment those
124attribute become on user's side become read-only once an employment exists.
125
126You can change this beaviour using C<employment_lock_user> parameter:
127
128By default it is impossible to modify or create past employment. This behavior
129can be changed by settings C<allow_pasted_employment> parameter in base
130configuration.
131
132=over 4
133
134=item any (default)
135
136Any existing employment lock those attribute, you must
137create another employment to change user status or delete all employements for
138this user.
139
140=item always
141
142The user's attribute are always locked
143
144=item never
145
146The user's attribute are always locked
147
148=item active
149
150Thoses attributes are locked is any employment are still active (ie unfinished
151or coming later).
152
153=item attribute=value
154
155Thoses attributes are read-only if the C<attribute> given contains C<value>,
156C<*> allow to match any value.
157
158=back
159
160When active users become out of any employment all managed attribute are unset
161(except the expire attribute).
162
163A default value for each of this attribute can be set in configuration using
164parameter in form C<unemployment.ATTRIBUTE>. For example
165C<unemployment.contratType=external> will set any C<contratType> to C<external>
166when no employment apply to user anymore.
167
168Only active accounts are modified in this way.
169
170=head3 User endEmployment
171
172This attribute compute the next day the user will leave the company according
173the employment object registered.
174
175The parameter C<employment_delay> give the number of days to ignore when a hole
176exists between two employment.
177
178If no employment are found, if set the date given in C<unemployed_expire>
179database parameter is returned.
180
181=head3 User endStrictEmployment
182
183This attribute compute the next day the user will leave the company according
184the employment object registered.
185
186It does not take C<employment_delay> parameter into account.
187
188If no employment are found, if set the date given in C<unemployed_expire>
189database parameter is returned.
190
191=head3 User endLastEmployment
192
193This attribute return the very last end of all registered employment fr this
194user.
195
196=head3 User endCurrentEmployment
197
198The end of the employment matching current date.
199
200=head3 Account Expiration
201
202When using employment, account expiration are set to match employment. By
203default the expiration is set to C<endEmployment> value.
204
205This behaviour can be changed by setting C<expireOn> parameter into base
206definition:
207
208=over 4
209
210=item any of endCurrentEmployment, endEmployment, endStrictEmployment, endLastEmployment
211
212=item never
213
214The expire date is left unchanged and must managed manually.
215
216=back
217
218=head2 Group AutoMemberFilter
219
220Group objects contains users members by setting either C<members> or
221C<memberUID> attributes.
222
223Sometimes it can be usefull to have group automatically populated by arbitrary
224rules.
225
226This is possible by setting a filter in the C<autoMemberFilter> attribute,
227The filter format is the same the one used by L<la-search>, the attribute is
228multivaluable.
229
230So for example one can create an account automatically a group containing people
231having "Olivier" as first name:
232
233    autoMemberFilter: givenBame=Olivier
234
235A probably more usefull example is a group containing people from two others
236groups:
237
238    autoMemberFilter: memberOf=group1
239    autoMemberFilter: memberOf=group2
240
241The  C<members> or C<memberUID> attribute becomes read-only attribute once
242C<autoMemberFilter> attribute is set.
243
244=head2 Aliases AutoMemberFilter
245
246This attribute allow to create automatics dynamics aliases according filter
247rules exactly like L<Group AutoMemberFilter> works.
248
249The C<forward> attributes is automatically set with email address of selected
250user, user w/o email address are ignored.
251
252=head2 Group AutoFromSutype
253
254Group object can be tagged with the C<sutype> attribute.
255
256When C<autoFromSutype> is set the group member will be computed from member of
257all groups having C<sutype> set this value.
258
259The goal of this attribute is to setup magic group like with the
260C<autoMemberFilter> but working even a new group is created.
261
262=head2 Aliases AutoFromSutype
263
264This attribute allow to create automatics dynamics aliases according filter
265rules exactly like L<Group AutoFromSutype> works.
266
267The C<forward> attributes is automatically set with email address of selected
268user, user w/o email address are ignored.
269
270=head2 Statistics
271
272The application provide some statitics tools but they are only based on the
273current data inside the database and are unable to track delete data.
274
275To keep some mesurement you must use C<stat> objects to describe the data you
276want to track, and enable in L<la-sync-manager.ini> the C<Stats> module.
277
278Each attribute of C<Stat> object describe how data must but compute before being
279stored.
280
281=head3 Stat object Attributes
282
283=head4 description
284
285A label about this statistics object
286
287=head4 display
288
289IF set the statistic appear in the menu of the web interface
290
291=head4 otype
292
293The object type this stat is tracking, must be a supported object type
294
295=head4 filter
296
297One or multiple filter to limit the objects taking into account
298
299=head4 attribute
300
301The attribute fetch to compute data
302
303=head4 refFilter
304
305When the attribute reference another type of object this setting allow to
306filter to the matching referenced object.
307
308=head4 refAll
309
310When the attribute reference another type of object non exiting objects in
311the results appear as 0, otherwise they are ignored.
312
313=head4 aggregateFunction
314
315An optionnal operation to do on the data:
316
317=over 4
318
319=item sum
320
321Make the sum of the result per item
322
323=item avg
324
325Make the average of the result per item
326
327=item count
328
329Count the number of item return
330
331=back
332
333=head4 delay
334
335The number of day between two run
336
337=head4 retention
338
339If set, the duration in days after which stats value must deleted
Note: See TracBrowser for help on using the repository browser.