7.6 失败后重试同步

已增强驱动程序和口令过滤器,以改善失败后重试口令同步的方式。

7.6.1 添加或修改事件之后重试

如果从 Active Directory 发送的口令更改没有在 Identity Vault 中成功地完成,驱动程序将超速缓存该口令。 在口令所属的用户发生《添加》或《修改》事件之前,不会再次重试该口令。 (以前,按每个巡回检测间隔重试这些保存的口令。)

当驱动程序巡回检测 Active Directory 中的更改时,驱动程序将收到用户的《添加》或《修改》事件。 对于每个用户《添加》或《修改》事件,驱动程序将检查是否为此新用户保存了口令。 如果未保存,驱动程序会以修改用户事件的形式将口令发送到 Identity Vault。

如果设置了口令同步,以便在口令同步失败时,向用户发送电子邮件讯息,则此增强会将用户可能接收到的电子邮件数减至最少。

7.6.2 口令失效时间

添加了一个名称为《Password Expiration Time》的参数。 如果第一次尝试同步时不成功,可使用该参数确定需要用多长的时间来保存特定用户的口令。 驱动程序将保存口令,直到在 Identity Vault 中成功更改该口令,或直到耗尽了 Password Expiration Time。

导入样本驱动程序配置时,系统将提示您指定失效时间。 如果不指定时间,或者时间(间隔字段)包含无效字符,则使用默认设置 60 分钟。 如果指定的时间小于指定的巡回检测间隔的三倍,则驱动程序会将时间更改为巡回检测间隔的三倍。

请将该值设置到大小足以处理所存在的任何口令临时代办事项。 如果执行的是大批量更改,请将超时设置到大小足以处理所有的更改。 经验法则是每个口令允许一秒钟。 例如,要同步 18,000 个口令,则允许 300 分钟(18,000 个口令除以 60 秒)。

如果设置为 -1,则不限时。 尽管此设置可以处理大批量更改,但它会导致出现问题。 例如,因为没有对帐户进行关联,所以永远无法对口令进行同步。 因此,这样的口令将永远保留在系统中。 如果存在许多类似的情况,则会导致系统需要为未同步口令保留较大的库存。

与口令失效时间相关的方案

在《发布者》通道上,口令同步可能在《添加》事件之前发生。 驱动程序紧接在《添加》事件之后重试。

方案:无影响

在 Active Directory 中创建了一个带有口令的新用户。 过滤器立即将新口令发送到驱动程序。 但是,驱动程序仍收到该用户的《添加》事件,因为该事件已在巡回检测间隔之间发生。 由于驱动程序尚未在 Identity Vault 中创建用户,因此这第一次口令同步尝试不成功。 驱动程序将超速缓存口令。

在下一个巡回检测间隔,驱动程序将收到新用户的《添加用户》事件。 驱动程序还将检查是否为此新用户超速缓存了口令。 驱动程序会将《添加用户》事件发送到 Identity Vault,同时发送《修改用户》事件以同步口令。

在这种情况下,口令同步只会延迟一个巡回检测间隔。

Password Expiration Time 参数在此场合下不产生影响。

方案: 增加失效时间

在 Active Directory 中创建了一个带有口令的新用户。 但是,此用户信息不符合 Active Directory 驱动程序的创建策略的要求。

例如,可能创建规则需要全名,并且必需的信息已丢失。 与《无影响》示例一样,过滤器会立即将口令更改发送到驱动程序。 但是,在 Identity Vault 中,口令更改的第一次尝试不成功,因为用户尚不存在。 驱动程序将超速缓存口令。

但是,在这种情况下,即使驱动程序巡回检测 Active Directory 中的更改,并且可发现新用户,驱动程序也不能创建新用户,因为此用户信息不符合创建策略的要求。

创建新用户和同步口令将会延迟,直到在 Active Directory 中添加所有用户信息以满足创建策略。 然后,驱动程序将在 Identity Vault 中添加新用户,检查是否为此新用户超速缓存了口令,再发送一个《修改用户》事件以同步口令。

仅当时间间隔在 Active Directory 中的用户信息符合创建策略的要求之前耗尽时,Password Expiration Time 参数才影响此方案。 如果《添加》事件在口令失效后发生,并且驱动程序没有为该用户超速缓存口令,则不能发生同步。 由于驱动程序没有超速缓存的口令,因此驱动程序将使用口令策略中的默认口令。

用户在 Active Directory 或 Identity Vault 中更改口令后,该口令将被同步。

如果设置了口令同步以实现口令的双向流动,那么在 Identity Vault 中执行口令更改后,还可以将口令从 Identity Vault 同步到 Active Directory。

如果创建策略受到限制,并且它通常需要一天以上的时间在 Active Directory 中完成新用户的信息,则可能需要相应地增大 Password Expiration Time 参数间隔。 然后,驱动程序将超速缓存口令,直到最终在 Identity Vault 中创建了用户。

方案: 永不符合要求

在 Active Directory 中创建了一个带有口令的用户。 但是,此用户永远不能符合 Active Directory 驱动程序的创建策略的准则。

例如,可能 Active Directory 中的新用户具有指明用户是合同工的说明,而创建策略阻止为合同工创建用户对象,因为业务策略规定,未计划让合同工在 Identity Vault 中拥有相应的用户帐户。 与上一个示例一样,过滤器将立即发送口令更改,但是第一次口令同步尝试将不会成功。 驱动程序将超速缓存口令。

在这种情况下,永远都不能在 Identity Vault 中创建相应的用户帐户。 因此,驱动程序永远都不会同步超速缓存的口令。 经过口令失效时间后,驱动程序将从超速缓存中去除用户口令。

方案:电子邮件通知

Markus 有一个 Active Directory 帐户和相应的 Identity Vault 帐户。 他更改了他的 Active Directory 口令,该口令包含六个字符。 但是,该口令不符合管理员在 eDirectory 中创建的口令策略指定的最少八个字符的要求。 将配置口令同步以拒绝不符合策略的口令,同时向 Markus 发送一封通知电子邮件,指明口令同步失败。 驱动程序将超速缓存口令,并且仅当更改了 Active Directory 中的用户对象后,才重试该口令。

在这种情况下,更改口令后不久,Markus 将收到一封电子邮件,指明口令同步未成功。 驱动程序每次重试口令后,Markus 都会收到相同的电子邮件讯息。

如果 Markus 将 Active Directory 中的口令更改为符合口令策略的口令,则驱动程序可以成功地将新口令同步到 Identity Vault。

如果 Markus 不将该口令更改为符合要求的口令,则口令同步永远不能成功。 经过口令失效时间后,驱动程序将删除超速缓存的口令,且不再重试该口令。