Hi @Pierre Audonnet - MSFT ... or ALL
For anyone who may benefit... We learned of two items which caused this experience...
- Per Microsoft documentation [https://learn.microsoft.com/en-us/windows-server/identity/ad-fs/operations/configure-ad-fs-extranet-smart-lockout-protection], the account being used to create the [AccountActivity] table must have sufficient rights in the 'AdfsArtifactStore' database. The cmdlet included in the ADFS module (Update-AdfsArtifactDatabasePermission) is used to ensure these rights exist, but that cmdlet does NOT return an exception or error when it fails; instead the exception is logged to the federation service event log. If one does not think to check the event log after running this cmdlet it potentially leads to the false belief that the permission was updated successfully. This was the case for us - our account did not have enough rights in the first place to modify the permissions on the database, so the table was never created. Once this was corrected by our DB admins, the permission change could be made and the table could be created. It would be helpful if the MS documentation could reflect this scenario OR the cmdlet should at least return the exception.
- Although the federation service uses the new table to record account activity, the ESL feature still works properly even if the table does not exist. The data is cached in the process space of the federation service on whichever server is acting as the RoleOwner. In this case, if the federation service on role owner happens to terminate (or server is restarted, etc.) then the ESL data is lost. Otherwise as long as the role owner's service is running, the ESL feature works as designed, and one would not be aware the data is not being written back to any database unless one tries to go looking for it (and becomes very confused (like me)) :)
Thanks,
DaveC