日程Fit|「いつ空いてますか?」の往復はもう不要。候補日を選んでURLを送るだけ|登録不要|今すぐ無料で使う →

Active DirectoryのDeleted Objects(削除済みオブジェクト)コンテナーに読み取り権限を付与する方法|DSACLSで権限委任

Active Directoryで誤って削除されたユーザーやグループを調査したいのに、Deleted Objects(削除済みオブジェクト)コンテナーの権限設定がGUIで見つからない——そんなときの原因と、DSACLSで安全に読み取り権限を委任する手順を解説します。

日程Fit。無料・登録不要。「いつ空いてる?」を、ひとつのリンクで。リンクを送って、○△×でかんたん日程調整。無料で日程を作る。
目次

Deleted Objects(削除済みオブジェクト)コンテナーとは

Active Directory(AD)でオブジェクトを削除すると、いきなり完全消去されるわけではありません。通常は「削除済み(isDeleted=TRUE)」の状態になり、Deleted Objects(削除済みオブジェクト)コンテナーに格納されます。いわゆる「ごみ箱」のような場所ですが、ADの場合は次のような特徴があります。

  • 通常の検索や「Active Directory ユーザーとコンピューター(ADUC)」の表示では見えない
  • 参照するには、ツール側が「削除済みオブジェクトを表示する」ための制御(Show Deleted Objects)を使う必要がある
  • 閲覧・復元の可否は、ドメイン/OUの一般的な読み取り権限とは別に、Deleted Objects コンテナーのACL(アクセス制御リスト)に強く影響される

さらに、環境でAD リサイクル ビンを有効化しているかどうかで、「復元」の考え方が変わります。

観点AD リサイクル ビン未使用(従来)AD リサイクル ビン使用
削除後の状態主に「トゥームストーン(tombstone)」として保持「削除済み(deleted)」→一定期間後に「リサイクル(recycled)」へ移行
復元のしやすさ制約が多く、属性が欠落しやすいADACやPowerShellで復元しやすい(保持期間内)
現場の運用バックアップ/スナップショット復元に頼りがち「削除済みオブジェクトの復元」を権限委任しやすい

この記事の中心は「Deleted Objects コンテナーに読み取り権限を付与して、削除済みオブジェクトを閲覧できるようにする」ことです。復元まで委任したい場合の考え方も後半で整理します。

ADUCのGUIで権限が見つからない理由

ご質問のように、ドメイン コントローラーへログオンしてADUCで「詳細機能」を有効にしても、ドメインのプロパティ → セキュリティ画面から「Deleted Objects コンテナー」そのものを選択して権限編集することは難しいです。理由はシンプルで、Deleted Objects コンテナーは通常のツリー表示に出てこない特殊コンテナーであり、ドメインルートのセキュリティ設定だけでは意図した権限委任にならないケースが多いからです。

「ドメインレベルで設定できるのか?」という疑問に対しては、結論としては可能です。ただし、狙うべき設定先は「ドメイン全体(DC=…)」ではなく、Deleted Objects コンテナー(CN=Deleted Objects,DC=…)のACLであることが重要です。そして、その操作はGUIよりもDSACLSやADSI Editといったツールが現実的です。

ベストプラクティス:ユーザーではなくセキュリティ グループで権限委任する

Active Directoryの権限委任は、運用が長期化するほど「最初に決めた設計」が効いてきます。個々のユーザーに直接ACLを付けてしまうと、退職・異動・兼務などで後から追えなくなり、監査や棚卸しで必ず詰まります。そこでおすすめなのが、専用のセキュリティ グループを作って、そのグループに権限を付与する方法です。

付与先メリットデメリットおすすめ度
個別ユーザーすぐ試せる/一時対応が早い棚卸しが困難/権限が散らかる/後任へ引き継ぎづらい
セキュリティ グループ追加・削除が容易/監査しやすい/最小権限設計がしやすい最初にグループ設計が必要

実運用では、たとえば次のように役割別グループを分けておくと、後から権限が膨らみにくくなります。

  • DeletedObjects-Readers:削除済みオブジェクトを「閲覧」できる
  • DeletedObjects-RestoreOperators:閲覧に加えて、復元作業まで担当する(必要なOU権限も付与)

Deleted Objects コンテナーに読み取り権限を付与する方法

GUIからの設定が難しいため、ここではDSACLSで付与する手順を、なるべく現場でそのまま使える形で整理します。ポイントは「DN(識別名)を正しく指定する」「付与する権限を最小にする」「付与後に確認する」の3点です。

準備:ドメインDN(DC=…)を把握する

Deleted Objects コンテナーのDNは、次の形式です。

CN=Deleted Objects,DC=example,DC=com

ドメインが corp.contoso.local の場合は、以下のようになります。

CN=Deleted Objects,DC=corp,DC=contoso,DC=local

手順:セキュリティ グループを作成し、ユーザーを追加する

  1. AD上でグローバル セキュリティ グループを作成(例:DeletedObjects-Readers
  2. Deleted Objects を閲覧させたいユーザーを、そのグループのメンバーに追加

この段階ではまだ閲覧できません。次の手順で、Deleted Objects コンテナーへ権限を付与します。

手順:DSACLSで権限を付与する

例として、ドメインが Picaso.com、付与先が Picaso\DeletedObjects-Readers の場合は次のようになります(本番では環境に合わせて置き換えてください)。

dsacls "CN=Deleted Objects,DC=Picaso,DC=com" /G "Picaso\DeletedObjects-Readers:LCRP"

グループ名にスペースが入る場合などは、上記のように "ドメイン\グループ:権限" を必ず引用符で囲むと安全です。

このコマンドで付与している LCRP は、Deleted Objects コンテナーに対して「一覧(List)」と「読み取り(Read)」を許可するための、最低限に近い組み合わせです。

権限コード意味できること(例)付与の考え方
LCList ContentsDeleted Objects コンテナー配下のオブジェクトを一覧できる「見えるようにする」ために必要
RPRead Property削除済みオブジェクトの属性(名前、GUID、最終更新など)を読める「情報を確認する」ために必要
LCRPLC + RP の組み合わせ一覧+属性の参照が可能になる閲覧目的ならまずこれを検討

「とにかく読めればいいから Generic Read(GR)で…」としたくなる場面もありますが、権限が広がりやすいので、まずは LCRP のように目的が明確な最小セットから始め、足りない場合だけ追加する方が安全です。

補足:DSACLSの実行場所と権限

  • 実行端末はドメイン コントローラーでも、RSATが入った管理端末でも構いません
  • ただし、ACLを変更できる権限(一般的にはドメイン管理者相当)が必要です
  • PowerShellから dsacls を呼び出しても同様に動作します

付与した権限の確認方法

付与後の確認もDSACLSで行うのが現実的です。Deleted Objects コンテナーのACLを表示し、対象グループに LCRP が入っているかを確認します。

dsacls "CN=Deleted Objects,DC=Picaso,DC=com"

出力が長い場合はテキストに落とすと見やすくなります。

dsacls "CN=Deleted Objects,DC=Picaso,DC=com" > DelObjAcls.txt

ファイル内でグループ名(例:DeletedObjects-Readers)を検索し、該当行に LCRP が含まれていることを確認してください。ACLDiag.exe など古いサポートツールが紹介されることもありますが、現行環境ではDSACLSの出力確認の方が確実です。

実際に「閲覧できる」ことをテストする

ACLに権限が入っていても、実際に閲覧できるかはツールの使い方で差が出ます。現場でテストしやすい方法をいくつか挙げます。

PowerShell(Get-ADObject)で確認する

RSAT(ActiveDirectoryモジュール)が使える環境なら、削除済みオブジェクトの検索をPowerShellで確認できます。例:

Get-ADObject -Filter 'isDeleted -eq $true' -IncludeDeletedObjects -SearchBase "CN=Deleted Objects,DC=corp,DC=contoso,DC=local" -Properties * |
  Select-Object Name,ObjectClass,whenChanged,lastKnownParent

ポイントは -IncludeDeletedObjects を付けることと、-SearchBase を Deleted Objects コンテナーに絞ることです。これで一覧が返ってくれば、少なくとも「一覧+属性参照」の権限は機能している可能性が高いです。

Active Directory 管理センター(ADAC)で確認する

AD リサイクル ビンを有効化している環境では、ADACで「Deleted Objects」を閲覧・復元する運用が一般的です。委任したユーザーでADACにサインインし、削除済みオブジェクトの表示ができるかを確認します(環境により表示手順が異なるため、ドメイン構成に合わせて読み替えてください)。

LDP.exe / ADSI Editで確認する

より低レイヤーで確認したい場合は、LDP.exeで「Show Deleted Objects」制御を使って検索する方法もあります。トラブルシューティングとして有効ですが、運用担当者向けに手順を共有する場合はPowerShellやADACの方が現場では扱いやすいことが多いです。

よくあるつまずきと対処

Deleted Objects コンテナーの権限委任は「設定したはずなのに見えない」が起きやすい領域です。現場でよくある原因と対処を表にまとめます。

症状よくある原因対処
DSACLSが Access is denied になる実行者にACL変更権限がないドメイン管理者相当で実行/管理者としてコマンドプロンプトを起動
権限を付けたのに削除済みが見えないDN指定ミス/ドメインDNの誤りCN=Deleted Objects,DC=... を再確認(スペル、DCの数、local/comなど)
一覧は見えるが属性がほとんど読めないRPが不足/属性が機密属性として保護されているLCRP を付与しているか確認/必要最小限で追加権限を検討
ADACでは見えるはずなのに表示が出ないAD リサイクル ビン未有効/ツールの表示条件リサイクル ビン有効化状況を確認/PowerShellでの検索で切り分け
複数DC環境で、DCによって結果が違うACL変更のレプリケーション待ち/参照先DCの違いADのレプリケーション状態を確認/参照先DCを固定して再テスト

復元まで委任したい場合の設計ポイント

Deleted Objects コンテナーの読み取り権限(一覧・参照)が付与できると、次に出てくるのが「復元もヘルプデスクにやらせたい」「一次対応チームで戻せるようにしたい」という要件です。ただし、閲覧復元では、必要な権限の性質が違います。

  • 閲覧:Deleted Objects コンテナーに対する List/Read(例:LCRP
  • 復元:Deleted Objects に対する権限に加え、復元先(多くは元のOU)への作成・書き込み権限が必要になりやすい

とくに「復元=元の場所にオブジェクトを再配置する」運用の場合、復元先のOUに対して権限が不足していると、復元操作だけ失敗します。逆に言えば、復元権限を付与する設計は、Deleted Objects コンテナーだけ見ていても完結しません。

おすすめの役割分離

権限が膨らみやすいので、少なくとも次の2段階に分けるのがおすすめです。

  • DeletedObjects-Readers:閲覧だけ
  • DeletedObjects-RestoreOperators:閲覧+復元(復元先OUの権限もセット)

復元オペレーターに追加で検討する権限

環境(リサイクル ビンの有無、復元ツール、復元対象)で最適解が変わるため、ここでは「設計の観点」を表にします。最終的には検証環境で操作確認し、過剰付与にならない範囲で調整してください。

対象必要になりやすい権限目的注意点
Deleted Objects コンテナーLCRP(まずはこれ)削除済みの一覧・属性参照閲覧だけなら原則ここで止める
復元先OU(例:Users OU)オブジェクト作成/属性書き込み(必要最小限)復元に伴う再作成・再配置OUを広げすぎない(ドメイン全体は避ける)
復元対象が多岐(ユーザー/グループ/コンピューター等)対象クラスごとの権限設計「何を戻せるか」を制御Delegation Wizardだけで完結しないことがある

「復元先OUへの権限付与」は、ADUCの「制御の委任ウィザード」である程度までは設計できますが、Deleted Objects コンテナー側の設定は結局DSACLSやADSI Editが絡みます。閲覧権限と復元権限を同じグループに雑に入れないことが、後で事故を減らすコツです。

セキュリティと運用の注意点

Deleted Objects(削除済みオブジェクト)の閲覧権限は、一見「読むだけ」に見えても、環境によっては次のような情報に触れられる可能性があります。

  • 過去に存在したユーザー/グループ名、所属OU、最終更新日時
  • 復元可能期間内であれば、グループメンバーシップなどの復元に直結する情報
  • 運用状況によっては、誤削除や不正操作の痕跡(誰が何を消したか)の手がかり

そのため、権限委任では次の原則を意識してください。

  • 最小権限:まずは閲覧だけ(LCRP)に絞る
  • スコープを狭める:復元が必要なら、対象OUを限定して権限を付与する
  • 棚卸し可能にする:個別ユーザーではなくグループで管理し、変更履歴を追えるようにする
  • 手順を固定化する:コマンドをテンプレ化し、運用ドキュメントに残す

また、監査が必要な組織では、Directory Service Access の監査設定(ポリシーとSACL)も併せて検討すると安心です。ただし「読み取り」は監査が膨大になりやすいので、監査要件と運用負荷のバランスを見て設計するのが現実的です。

現場で使えるテンプレ

最後に、現場で「すぐ再現できる」ように、置き換え箇所が分かりやすいテンプレを載せます。WordPressの記事をそのまま社内Runbookに転記する場合にも便利です。

権限付与テンプレ

dsacls "CN=Deleted Objects,DC=<domain>,DC=<tld>" /G "<DOMAIN>\<GroupName>:LCRP"

権限確認テンプレ

dsacls "CN=Deleted Objects,DC=<domain>,DC=<tld>"

テキスト出力テンプレ

dsacls "CN=Deleted Objects,DC=<domain>,DC=<tld>" > DeletedObjects_Acl.txt

テンプレを運用に組み込む際は、「どのドメインDNに適用したか」「どのグループに付与したか」をチケットや変更記録に残すだけでも、数年後の棚卸しが格段に楽になります。

まとめ

  • Deleted Objects コンテナーは特殊なため、ADUCのドメイン プロパティ画面だけで狙い通りに権限委任しづらい
  • 運用の基本は「個別ユーザーではなくセキュリティ グループ」へ付与し、必要な人はグループに追加する
  • Deleted Objects コンテナーへの閲覧権限は、DSACLSで CN=Deleted Objects,DC=... に対して LCRP を付与する方法が実務的
  • 付与後の確認もDSACLSで行い、PowerShellやADACで実際に閲覧できるかテストする
  • 復元まで委任する場合は、Deleted Objects 側の権限だけでなく「復元先OUの権限設計」がカギになる

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次