Azure AD のごみ箱(recycle bin)

ちょっと小ネタを。

Active Directory にゴミ箱機能が実装されたのは Windows Server 2008 R2 からでした。覚えてます?

実は、Azure Active Directory にもゴミ箱があります。

ちょっと以下の画面ショットをご覧ください。これは、Office 365 に用意されている「削除済みのユーザー」というメニューです。

image

Office 365 上で削除されたユーザーは、いったんここ(ゴミ箱)に移動されます。移動されたユーザーは、30日後に完全に削除されます。逆に言えば、30日未満であればもとのアクティブなユーザーとして復活することが可能です。

ここであることに気づきますよね。

そうです。Office 365 のユーザー管理簿は Azure Active Directory ですから、そもそも Azure Active Directory 自身にゴミ箱機能があるんじゃないか?

まさにその通りです。

現在の旧ポータルで提供されている Azure Active Directory の管理画面では、念ながらゴミ箱を参照することはできませんが、PowerShell を使用すれば確認することができます。

まずは、Connect-MSOLService コマンドレットで Azure AD のテナントにログオンしましょう。

image

次に、Get-MSOLUser -RetuenDeletedUsers コマンドを入力してみてください。ごみ箱に入っているユーザーを確認することができます。

image

削除されているユーザーが、「いつ」削除されたかを確認するには SoftDeleteionTimestamp プロパティを参照します。

image 

このユーザーは 30 日後に削除されるわけですが、それがいつなのか?を確認するには SoftDeleteionTimestamp に 30 日を加えれば明確になります。以下のようなスクリプトを実行してみましょう。

(Get-Msoluser -ReturnDeletedUsers).Foreach{ $SoftDeletionTimeStamp = $_.SoftDeletionTimeStamp $HardDeletionTimeStamp = $_.SoftDeletionTimeStamp.addDays(30); $SignInName = $_.SignInName; $SigninName + "," + $SoftDeletionTimeStamp + "." + $HardDeletionTimeStamp }

image

削除されたユーザーを復活させるには Restore-MSOLUser コマンドレットを使用します。

image

Office 365 から見ても、復活していることがわかります。

image

さて、Active Directory の場合はソフト削除とハード削除の間隔を調整することができました。Azure AD はどうなのでしょう?

残念ながら、現在は 30 日のソフト削除期間を変更することはできません。

オンプレミスの AD で間隔の調整が行える大きな理由は、削除したはずのオブジェクトが残り続けることによるデータベースの肥大化を回避するためです。Azure AD のフリー版を使用している場合、オブジェクト数の最大数は 50 万です。オブジェクト数を抑えるために削除しても、実際には 30 日後に削除されるのだとすると、削除されるまでの間に 50 万の上限が問題になる可能性があります。是非ともソフト削除からハード削除への移行間隔を調整できるようにしていただきたいものです。