企業や組織内で運用されるWindowsサーバーやクライアントをドメイン参加させると、管理者権限の付与・管理は大きな課題になります。特に、ドメイン全体を管理する「Domain Admins」や「Enterprise Admins」などのグループには強力な権限が付与されており、セキュリティ上の懸念から安易にメンバーを増やすことは避けたいものです。そこで役立つのが、GPO (グループ ポリシー オブジェクト) の「Preferences」機能を活用した方法です。最低限のローカル管理者権限を柔軟に付与し、かつ組織全体で一元管理が行える点が魅力と言えます。
ローカル管理者権限を付与するための背景と課題
ドメイン管理者アカウントを使えば、ドメインに参加しているコンピューターのローカル管理者権限を簡単に確保することができます。しかし、ドメイン管理者アカウントを運用担当者が日常的に利用することは、セキュリティポリシーの観点で望ましくありません。
さらに、ドメイン管理者グループに属するアカウントは、多くの場合スマートカード認証の利用を強制されるなど、厳密なセキュリティ要件が求められるケースもあります。必要最低限の運用権限だけを付与したい場合には、ドメイン管理者系のグループに所属させることは過剰な権限となるのです。
こうした理由から、限られたユーザーやグループに対して、ドメイン参加コンピューターのローカルAdministratorsグループに参加させる方法が必要になります。そこで、GPOの「Preferences」機能を使った運用が最もシンプルかつ有効な手段として広く利用されています。
GPO (グループ ポリシー) Preferences での設定イメージ
GPOの「Preferences」には、ローカルのユーザーアカウントやグループを操作するための設定項目が用意されています。この機能を使うことで、組織内の多数のコンピューターに対して一括でユーザーやグループを追加したり、削除したりできます。
具体的には、以下の流れで運用するのが一般的です。
- ドメイン グループ (例: “group1”) を作成
- 「Local Admin Policy」などの専用GPOを作成
- GPOのセキュリティ フィルタリングを“group1”に設定
- グループ ポリシーの「[コンピューターの構成] -> [基本設定] -> [コントロール パネルの設定] -> [ローカル ユーザーとグループ]」でローカルのAdministratorsグループに追加
- 各クライアント・サーバーでグループ ポリシーを適用 (gpupdate /force など)
これだけで、指定したドメイン グループやユーザーにローカル管理者権限を付与することが可能になります。
具体的なステップ
1. ドメイン グループの作成
まずはActive Directory上に、ローカル管理者権限を付与したいユーザーやコンピューターをまとめて管理するためのグループを作ります。
たとえば「LocalAdminsGroup」という名前のセキュリティグループを作成し、以下のように運用すると良いでしょう。
- メンバーにユーザーを追加: 社内のITヘルプデスク担当者など、実際にサーバーやクライアントを管理する必要があるユーザーを登録。
- メンバーにコンピューターを追加: 場合によってはコンピューター アカウントをグループに入れたい場合もありますが、一般的にはユーザーを直接メンバーにします。
なお、メンバーにコンピューターを含めるかどうかは、運用設計やセキュリティ要件によって異なります。通常は「ドメイン ユーザーをローカルのAdministratorsに追加する」ことを目的とするため、ユーザーアカウントをメンバーとして追加するのが主流です。
2. 新しいGPOの作成
次に、Active Directoryのグループ ポリシー管理コンソール (GPMC) を使って、専用のGPOを新規作成します。
以下に例を示します。
- GPOの名称: Local Admin Policy
- リンク先: 企業内の特定のOU (部署別OU、端末管理OUなど) やドメイン ルート直下など、適用したいスコープを選定
GPOを作成したら、右クリックして「編集」を選択し、エディタを開きます。
3. セキュリティ フィルタリングの設定
GPOの「スコープ」タブを見て、セキュリティ フィルタリングを調整します。
既定では「Authenticated Users」が含まれていますが、本設定では「LocalAdminsGroup」のみが適切な権限を受け取れるようにします。
- 「Authenticated Users」の権限を「読み取り(Read)」のみに制限する(「グループ ポリシーの適用」権限は外す)。
- 「LocalAdminsGroup」を追加し、「読み取り(Read)」と「グループ ポリシーの適用(Apply group policy)」権限を付与。
こうすることで、GPOが適用される対象は「LocalAdminsGroup」が含まれるオブジェクトだけになります。コンピューター側では、当該ポリシーを読みに行った際に自身が属するグループを判定し、「LocalAdminsGroup」に属していればポリシーが適用される仕組みです。
4. ローカル グループへの追加設定
ここが最も重要なポイントです。GPOエディタを使って、ローカルのAdministratorsグループにドメインユーザーやグループを追加します。
- コンピューターの構成
- [基本設定] -> [コントロール パネルの設定] -> [ローカル ユーザーとグループ] を開きます。
- 新しいルールを作成
- 右クリックして「新規 -> ローカル グループ(Local Group)」を選択します。
- Actionの選択
- 「Update」を指定します。
- 「Replace」を選ぶと既存のメンバーが置き換えられてしまい、誤って不要なユーザーを削除してしまうリスクもあります。一方、「Update」だと追加対象のみを変更できます。
- Group Nameの選択
- ドロップダウンリストから「Administrators (Built-in)」を選ぶか、文字列入力の場合は「Administrators」と入力します。
- 追加したいドメインユーザーやグループを指定
- 「Add」ボタンをクリックし、
- Action: 「Add to this group」
- ユーザーやグループ名: 「ドメイン名\ユーザー名」または「ドメイン名\グループ名」
- もしGUIで検索するときは「…」ボタンを押してObject Pickerで探すことも可能です。
設定を保存してGPOエディタを閉じると、ローカルAdministratorsグループへの追加設定が完成します。
5. グループ ポリシーの適用
作成したGPOが適切なOUやドメインにリンクされていれば、クライアント・サーバーは既定のポリシー更新サイクル (約90分~120分) で設定を取り込みます。
即時反映を望む場合は、対象コンピューターで以下のいずれかを実行します。
- コマンドプロンプト(管理者権限) で
gpupdate /forceを実行 - 再起動
適用後、対象のコンピューターを確認すると、ローカルのAdministratorsグループに指定したドメインユーザーやグループが追加されているはずです。
設定内容をわかりやすく示すサンプルコード
ここでは、GPMC上で行った設定イメージを簡単なPowerShellコード風に示します。実際にはGUI操作が基本ですが、イメージとしてご活用ください。
# 1. グループの作成 (例示)
New-ADGroup -Name "LocalAdminsGroup" -SamAccountName "LocalAdminsGroup" -GroupScope Global -GroupCategory Security
# 2. ユーザーをグループに追加 (例示)
Add-ADGroupMember -Identity "LocalAdminsGroup" -Members "User1","User2"
# 3. GPO の作成 (例示)
New-GPO -Name "Local Admin Policy" -Domain "example.local"
# 4. GPO のリンク (例示:ドメインルートにリンク)
New-GPLink -Name "Local Admin Policy" -Target "dc=example,dc=local" -LinkEnabled Yes
# 実際のローカルユーザー&グループの設定はGPO EditorのPreferencesからGUI操作で行う
GPO「Preferences」活用のメリット
GPOのPreferences機能でローカル管理者権限を付与する方法には、次のような大きな利点があります。
- 一元管理: 全社的に適用範囲やメンバーを一元的にコントロールでき、誤設定を最小化します。
- 最小権限の原則: ドメイン全体を管理する「Domain Admins」に入らずに、個別サーバー管理だけを可能にする権限付与が実現。
- 運用の柔軟性: GPOの「Update」と「Replace」を使い分けて、既存のローカル管理者メンバーを維持しながら新規追加したり、一括で置き換えたりといった運用が可能です。
- 変更が容易: Preferences設定は、通常のGPOのようにレジストリの厳密な編集よりもインターフェイスが直感的で、修正が容易。
運用上の注意点
GPO Preferencesを活用する際に気をつけたいポイントもあります。
既存のローカル管理者アカウントを削除しないようにする
もし設定時に「Action」で「Replace」を選んでしまうと、Administratorsグループに既に存在するアカウントまで削除されてしまう可能性があります。トラブルを避けるために、多くのケースでは「Update」を選ぶのが安全です。
適切なOU配置やセキュリティフィルタリング
GPOをリンクするOUは、どのコンピューターに対してローカル管理者権限を付与するかを決定する重要な単位です。過剰に広いOUにリンクしてしまうと、不要なサーバーやクライアントまで設定されるかもしれません。セキュリティフィルタリングと組み合わせて慎重に設計しましょう。
ローカル管理者権限の乱用リスク
ローカルのAdministratorsグループに入れるということは、その端末を自由に操作できる権限を許可することを意味します。不要なリスクを増やさないように、付与範囲とメンバーは最小限にとどめるようにしましょう。
WMIフィルタリングやアイテムレベルターゲットで高度な制御も可能
環境によっては、OSバージョンや特定の属性を持つコンピューターのみに適用したい場合があります。その場合は、GPOのWMIフィルタリングやPreferencesのアイテムレベルターゲット (Item-level targeting) を活用すると柔軟な制御が可能です。
活用場面の例とベストプラクティス
| 活用場面 | 具体例 | ポイント |
|---|---|---|
| サーバー運用チームへのローカル管理者権限付与 | ファイルサーバー、アプリケーションサーバーなど、特定のOUに所属するサーバーを対象 | OUを分けてGPOをリンクし、チーム単位でメンバーを制御する |
| ヘルプデスクスタッフ用 | クライアントPCへのサポート・トラブルシューティング目的でローカル管理者権限が必要 | ユーザー数が多い場合はグループを細分化し、対象端末とのマッチングをGPOとセキュリティフィルタリングで絞り込む |
| 一時的なプロジェクトチームの発足 | 期限付きの開発・テストなどで特定のサーバー群にローカル管理権限が必要 | プロジェクト終了時にGPOリンク解除またはグループからメンバーを外せば容易に権限管理が行える |
トラブルシューティングのヒント
もし「GPOで設定したはずなのにローカルAdministratorsグループに追加されていない」という状況があった場合は、以下をチェックすると原因がわかりやすいです。
- グループ ポリシーの適用範囲: そもそも対象コンピューターがGPOのリンク先OUに属しているか?
- セキュリティ フィルタリング: GPOのセキュリティ フィルタリングとWMIフィルタが正しく設定されているか?
- gpresult /r コマンド: コマンドプロンプトで
gpresult /rを実行し、当該GPOが適用されたかどうかを確認。 - ローカルグループ設定の「Action」: 「Replace」になっていないか?「Update」となっているか?
- ドメイン コントローラーのレプリケーション: ポリシーが保存されるSYSVOLフォルダーのレプリケーションが完了しているか確認。
- イベントビューア: クライアントPCやサーバー側のイベント ビューア (特に「システム」や「アプリケーションとサービス ログ -> Microsoft -> Windows -> GroupPolicy」など) を確認してエラーが発生していないかをチェック。
これらのポイントを調べることで、設定のミスやレプリケーションの遅延など、原因を早期に発見できます。
まとめ
ドメインに参加しているサーバーやクライアントに対してローカル管理者権限を付与する方法として、GPO (グループ ポリシー) の「Preferences」機能を使う手法は非常に有効です。
過剰な権限を含むドメイン管理者グループにメンバーを追加することを避けながら、必要な範囲でローカル管理者権限を割り当てられる点がメリットとして挙げられます。
もちろん、ローカル管理者権限は強い権限なので、付与対象の精査やOU構成、セキュリティポリシーとの整合性をよく考慮しつつ運用することが大切です。
適切なグループ設計やGPOの運用設計を行うことで、組織全体のセキュリティレベルを保ちながら、運用効率を高めることができるでしょう。

コメント