Ability to configure user password expiration date
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=16555) </details> <!--IssueSummary end--> ### Description If we want to increase our security policy, there is only way to configure password length limit and add 2-factor authentication. But some users never change their password which is setting on first log in Gitlab. That kind of users are vulnerable to security. ### Proposal * Allow an admin to set a password expiration policy at the instance level. * An admin should be able to specify that passwords expire every X days. * A user using a password should receive an email notifying them that their password has expired. * We can consider using the "reset password" flow to create a new password. * Previously used passwords shouldn't be valid. ### Links / references ### Current NIST Guidelines Also, I want to pass along the most recent password change guidelines from NIST (Sept 2021): > How Often Should You Change Your NIST Password? Contrary to popular belief and prior standards, NIST does not suggest changing passwords on a frequent basis; individuals who are asked to change passwords frequently are much more likely to keep an old password and merely append a number, letter, or special character to the end of it. Professional hackers know this trick and are savvy enough to predict minor changes. If you have a data breach or you know your password has been compromised, then it is time for a password change; otherwise, an annual password reset is enough.
issue