Hi all. We would like to set the password expiry date in the Active Directory during AD account provisioning. Our use case is as follows.
We will send the user a password to login to the AD, and the expiry date will be 14 days later for example. Once it exceeds 14 days, the user will not be able to login to the AD with that given password anymore. Appreciate any input on this matter.
There is an attribute in the creation profile called “pwdLastSet”. By default, it comes as “false”, however, in your use case it would have to be “true”.
You could set up a transform like “dateCompare” adding 15 days, after the 15 days, you mark this option as “true”. This attribute means that the user will need to reset the password on the next login.
Hi Sharvari,
There is no error when we are trying to provision this msDS-UserPasswordExpiryTimeComputed attribute. It is more like not being able to write changes to it, in which it returns AD timestamps showing 1 year later and not 14 days later for example.
I guess it’s not something we can set the password expiry attribute, it will be like a GPO (Group Policy Object). For example every user in organization, password is valid for 90/120 days from the last password set. And it’s not like you can update any attribute in AD, permissions for the service account you are using needs to be considered.
What is the value you have passed for msDS-UserPasswordExpiryTimeComputed, It is interesting to see 1 year, what was the value before you set this attribute ?
You can’t set a specific password expiration date for a user in Active Directory. It’s not possible.
What you can do is set a Password Policy via Group Policy that applies to all accounts. I believe the default is something like 42 days. Previous NIST guidance was 90 days, but the current recommendation is "that businesses enforce password expiration and password resets only when a known compromise has occurred, or every 365 days " (source).
If you want to specifically set up a policy wherein new users need to change their initial password within X days of account creation, you can do this through a combination of Sailpoint-managed AD security groups and Fine-Grained Password Policies (which can be targeted at specific security groups).
Unfortunately, you can’t do date comparisons in a role assignment, but if you use Workflows to add newly-created AD accounts (trigger: Source Account Created) to a specific security group (action: Manage Access) that has a Fine-Grained Password Policy applied with a max password age of, say, 14 days, then have a separate workflow set up with a Source Account Updated trigger that removes the user from that security group when their pwdLastSet AD attribute changes, that should effectively let you ensure that users have a 14-day max password age just for when they’re newly onboarded, while still maintaining a general 90-day max password age for everyone else.
(note: when defining the fine-grained password policy, take into account how early before a user’s start date their account may be created; if accounts are created up to a week before they start, you will need to pad your max password age in your fine-grained password policy accordingly.)