Active Directory での委任管理は、本当に頭の痛い作業です。パスワードのリセットやコンピューターへの接続といった特定の管理タスクを特定のユーザーやグループに実行させたいけれど、完全な管理者権限は与えたくないという場合もあるでしょう。このガイドでは、GUI からの操作でも PowerShell からの操作でも、その設定方法を分かりやすく解説しています。ある程度の制御は必要だが、ユーザーの権限は制限しておきたいという場合に非常に役立ちます。また、権限委任は、誤ってアカウントの権限を他人に与えてしまわないようにするための重要なポイントです。そのため、多くのベストプラクティスでは、個々のアカウントに権限を付与するのではなく、委任を推奨しています。
このウォークスルーでは、パスワードのリセットやコンピューターの参加といった一般的なタスクを委任する方法、そして必要に応じてこれらの権限を監査または取り消す方法を説明します。手順は膨大ですが、一度設定してしまえば、AD での委任された権限の管理が少し楽になります。さらに重要なのは、委任がうまく機能したかどうかは、実際に誰かがタスクを実行してみないとわからない場合があることです。そのため、実際のユーザーによるテストが不可欠です。PowerShell スニペット、GUI パス、コマンドなど、操作を効率化するためのヒントもいくつか紹介します。
Active Directory の委任とアクセス許可を修正する方法
権限を委任する理由とタイミングを理解する
基本的に、委任とは、パスワードのリセット、ユーザーの作成、コンピュータの参加といった特定のAD管理権限を、権限の堰を切ることなく付与することを可能にするもので、セキュリティ上非常に重要です。特に、ヘルプデスクスタッフやその他の権限のないユーザーに管理タスクをアウトソーシングしたり、制限したりしたい場合に便利です。権限が適切に委任されていないと、サポートスタッフの権限が制限されすぎたり、最悪の場合、権限が過剰になったりする可能性があります。目標は、ドメインセキュリティを危険にさらすことなく、サポートスタッフが業務を遂行するのに十分な権限を与えることです。
設定によっては、委任が少し難しい場合があります。権限が必ずしも有効にならない場合や、簡単な操作をしようとした際にアクセス拒否エラーが発生する場合などです。そのため、このガイドでは、具体的な設定方法、テスト方法、そして事後の権限監査方法について詳しく説明します。これにより、サポートワークフローがよりスムーズになり、誰が何を実行できるかをより厳密に管理できるようになります。
Active Directoryで権限を効果的に委任する方法
方法 1: Active Directory ユーザーとコンピューター (ADUC) GUI を使用する
- 「Active Directory ユーザーとコンピューター」に移動します(
dsa.msc「実行」または「検索」と入力)。次に、権限を委任する OU を右クリックし、「制御の委任」を選択します。 - 制御の委任ウィザードが開きます。権限を付与するグループまたはユーザー(ヘルプデスクグループなど)を選択します。
- 一般的なタスク(パスワードのリセット、ユーザーアカウントの作成、グループの管理など)のリストから選択します。すべてのタスクがすぐに使えるわけではないので、より具体的なニーズには、「委任するカスタムタスクを作成」を選択してください。
- オプションでは、ユーザーオブジェクト、コンピューターオブジェクト、または特定のADオブジェクトに権限を付与するかどうかを指定します。例えば、ヘルプデスクにパスワードのリセットを許可するには、ユーザーオブジェクトと関連する権限を選択します。
- ウィザードを終了したら、そのグループ内のユーザーに切り替えて委任されたタスクを実行してテストしてください。うまくいけば成功です。うまくいかない場合は、委任設定または権限の継承を再確認してください。
これが役立つ理由:PowerShellやCLIに慣れていない場合など、日常的な委任に非常に分かりやすく便利です。いつ使うのが良いでしょうか?例えば、ヘルプデスクサポート用の新しいOUを作成したばかりなど、GUIの簡単な修正が必要な場合です。どのようなことが期待できますか?権限は即座に付与されるか、更新後に付与されるはずです。しかし、時々、このように奇妙な動作をすることがあります。
方法2: PowerShell による委任
これはパワーユーザー向けのアプローチと言えるでしょう。柔軟性が高く、自動化やバッチ設定に最適です。委任された権限の監査や権限の一括更新など、多くの作業を実行できます。OUの権限を一覧表示する便利なスニペットを以下に示します。
# List current ACLs on a specific OU $OU = "OU=Helpdesk, DC=example, DC=com" Get-Acl -Path "AD:\$OU" | Format-List
Get-Acl権限を追加または変更するには、通常、 とを使用しSet-Acl、 でアクセスルールを作成しますActiveDirectoryAccessRule。パスワードリセット権限を委任するスニペットの例を次に示します。
$ouPath = "AD:\OU=Helpdesk, DC=example, DC=com" $groupSID = (Get-ADGroup -Identity Helpdesk).SID $guidResetRight = [Guid]"00299570-246d-11d0-a768-00aa006e0529" # Reset Password extended right $rule = New-Object System. Security. AccessControl. ActiveDirectoryAccessRule($groupSID, "ExtendedRight", "Allow", $guidResetRight, "ObjectInherit") $acl = Get-Acl $ouPath $acl. AddAccessRule($rule) Set-Acl -Path $ouPath -AclObject $acl
なぜこれを行うのか?それは、正確な制御が可能で、スクリプト化によって一貫性を保つことができるからです。いつ試すべきか?大規模なドメインを管理していて、監査やスクリプトが必要な場合は、これが最適でしょう。特にGUIDに関しては、最初は多少の試行錯誤が必要になるかもしれませんが、一度設定してしまえば、あとはスムーズに進むでしょう。
その他のヒントとコツ
委任された権限をより細かく制御する必要がある場合は、Winhanceなどのツールが権限を視覚化し、複雑な委任を簡素化するのに役立ちます。また、ADUCプロパティやPowerShellスクリプトを使用して、委任権限を定期的に確認し、漏れがないようにしてください。
ADにおける権限管理は一度設定すれば済むものではありません。組織の進化に合わせて定期的に監査と調整を行うことで、大きなメリットが得られます。
まとめ
- 特に一般的なタスクの場合は、GUI (dsa.msc) を使用して迅速に委任します。
- PowerShell を活用して、よりきめ細かな制御と監査を行います。
- 個々のユーザーに直接権限を与えることは避けてください。代わりにグループを使用してください。
- 権限の拡大を防ぐために委任された権限を定期的に確認します。
まとめ
AD での権限委任を正しく行うことは非常に重要です。完璧ではありませんし、最初は権限がうまく機能しないこともありますが、少し辛抱強く作業すれば、ほとんどの場合は解決できます。クリック操作で設定する場合でも、スクリプトで設定する場合でも、重要なのはテストと監査です。テストと監査が完了すれば、委任された権限の管理がはるかに容易になります。この方法が、サポートの負担や権限漏洩の事故を減らすのに役立つことを願っています。幸運を祈ります。そして、大きな変更を行う前には必ずバックアップを取ってください!