web-dev-qa-db-ja.com

ドメイン管理者アカウントまたはその他のサービスアカウントでActive Directoryのユーザーパスワードをリセットする

Active Directoryでは、ユーザーが強力なパスワードを使用する必要があり、既に持っている最後の5個以上のパスワードを使用できない、パスワードの複雑さを強制するルールを設定して適用できます。サービスアカウント(パスワードリセットWebサービス)がユーザーの新しいパスワードを設定しようとした場合、ポリシーに対してチェックされ、承認または拒否されるように、そのような設定を適用する方法はありますか?

サービスアカウントがパスワード変更を強制しているため、ユーザーはWebインターフェースを介して同じパスワードを入力し、何度も同じパスワードを使い続けることができます。それは彼のためにパスワードを変更するサービスアカウントであるため、最後の既知のパスワードに対してチェックされないため、パスワードのルールは適用されません。

プログラマーは複雑さのチェックをコーディングすることができますが、使用された最後のパスワードをチェックすることはできません。

通常のユーザーパスワードの変更と同様に、サービスアカウントによるパスワードの変更も制限されるように強制することはできますか?

8
MadBoy

ADには、ユーザーのパスワードを変更するための2つのタイプの操作があります。achangeは、古いパスワードが必要なため、匿名で実行できます。リクエスト、およびreset。これは、古いパスワードを必要とせず、アクセスするユーザーが、アカウントのパスワードをリセットできるようにする必要があります。ターゲットを絞った。

この場合、ソフトウェアアプリケーションは、ユーザーの古いパスワードを知らなくてもリセット操作を実行していますが、おそらく必要な権限を持つサービスアカウントとして認証されています。

ADの観点から、パスワードは管理上リセットされています。この場合、リセットを実行する管理者はユーザーの古いパスワードを知る必要がないため、パスワード履歴は適用されません。ユーザーが新しいパスをThursday1に設定する癖がある場合は、ポリシーを満たすことができません。リセット操作ではかなり混乱します。

ユーザーエクスペリエンスは悪いですが、これを処理するために考えられる最良のメカニズムは、Webアプリケーションでパスワードをリセットし(おそらく、ユーザーが入力せず、生成したばかりのもの)、次に「次回のログイン時にパスワードを変更する必要があります」 "アカウントにフラグを立てて、ユーザーにパスワード変更操作をすぐに強制することで、履歴を適用します。

.NetでLDAP APIを使用して、この種のリセットに履歴を適用するという目標を達成することについていくつかの議論があります ここ が、これは、アプリケーションによってはオプションになるかどうかわかりません使用しています。使用しているコードとLDAPライブラリーをサポートするコントロールをサポートしている場合、それは実行可能であるはずです。

9
Shane Madden