ActiveDirectoryのユーザのパスワードをリセット、初期化するユーザー権限に関する情報になりますが、社内でシステム管理者をしてると、ユーザーアカウントのパスワードの有効期限切れに伴い、パスワードの初期化を管理者側で初期化なりをしている運用をしていると大変だと思います。
ユーザー数が少ないならまだしも、多い場合は、それが大きな負荷になることがあるので、システムでパスワードのリセットする仕組みを作っておくと便利です。
パスワードのリセット自体は、PythonやRubyなど色々やり方はあるようですが、今回は、ActiveDirectoryのユーザのパスワードをリセット、初期化するユーザー権限についての情報を発見したので共有します。
情報元はこちら。
ActiveDirectoryのユーザのパスワードを更新するための権限について
質問の抜粋です。
ActiveDirectoryのユーザのパスワードを変更するスクリプト(ruby)を作成しました。
LDAPSでアクセスしています。該当ユーザはDomain Usersのみに参加しており、BINDは該当ユーザで実施、
BINDは可能ですが、パスワードの更新ができませんでした。以下のブログを参考にして、該当ユーザにAdministratorsを付与したところ、
パスワードの更新ができました。https://blog.cles.jp/item/10893
このようなケースの場合は、BINDするユーザにAdministratorsを付与しないと
いけないでしょうか?回避策があればご教授いただきたいです。
よろしくお願いいたします。
続いて、回答内容の抜粋です。
Domain Adminsつけたくないってことでしょうか。
下記が期待したものか、セキュリティ的にどうなのかはわかりませんが
OUのセキュリティタブで、Domain Userの対象アカウントに
種類:許可
アクセス:パスワードのリセット,すべてのプロパティの読み取り
適用先:子ユーザー オブジェクト
で権限を付与すればDomain UsersのメンバーでLdp.exeで接続してパスワードが変更できるのは確認できます。
389で接続してLDAP_OPT_ENCRYPT 1をつけてます。
もう一つ
パスワード リセットのための最低権限は
- パスワードのリセット
- lockoutTime の読み込み
- lockoutTime の書き込みとなるようです。
Administrator権限を付与したくない場合は参考になると思います。