Indirect CoS

Indirect CoS allows any entry in the directory to be a template and
provide the CoS value. The indirect CoS definition entry identifies an attribute,
called the indirect specifier, whose value in a target entry determines the
template used for that entry. The indirect specifier attribute in the target
entry must contain a DN. With indirect CoS, each target entry may use a different
template and thus have a different value for the CoS attribute.

For example, an indirect CoS that generates the departmentNumber attribute
may use an employee’s manager as the specifier. When retrieving a target
entry, the CoS mechanism will use the DN value of the manager attribute
as the template. It will then generate the departmentNumber attribute
for the employee using the same value as the manager’s department number.

Note –

Because templates may be arbitrary entries anywhere in the directory
tree, implementing access control for indirect CoS can become extremely complex.
In deployments where performance is critical, you should also avoid overusing
indirect CoS due to its resource intensive nature.

In many cases,
results that are similar to those made possible by indirect CoS can be achieved
by limiting the location of the target entries with classic CoS or using the
less flexible pointer CoS mechanism.

The following figure shows an indirect CoS that uses the manager attribute
of the target entry to identify the template entry. In this way, the CoS mechanism
can generate the departmentNumber attribute of all employees
to be the same as their manager’s, ensuring that it is always up to
date.

Figure 12–3 Example of an Indirect CoS Definition and Template

The indirect CoS definition entry names the specifier attribute, which
in this example, is the manager attribute. William Holiday’s
entry is one of the target entries of this CoS, and his manager attribute
contains the DN of uid=cfuentes,ou=people,dc=example,dc=com.
Therefore, Carla Fuentes’s entry is the template, which in turn provides
the departmentNumber attribute value of 318842.