Office365 最終ログイン情報の取得方法

Office365では残念ながら最終ログイン日時の取得など、ユーザーのアクティビティに関する情報は拾えないようになっています。

しかしながら最近、Azure AD Premiumの機能を利用することで、ログイン情報を取得することができることがわかったので共有しておきます。

手法としては、Azure Portalからデータを取得するという極めて簡単な手法です。まずはOffice365管理センターよりAzure Active Directoryを選択します。

f:id:mohessu:20180404012450p:plain

続いて、AAD管理センターが起動したら、ユーザーのサインインと書いてある左下の項目をクリック。

f:id:mohessu:20180404012911p:plain

Azure AD Premiumを利用したことがない場合は、評価版を利用して確認していきましょう。

f:id:mohessu:20180404013529p:plain

Azure AD Premiumのランクによって取得できるアクティビティの期間が決まっています。P1以上であれば30日分のデータが取得できるようです。

f:id:mohessu:20180404013318p:plain

Azure AD Freeの場合7日と記載がありますが、こちらで表示させるには、ユーザーごとに表示させる必要があるようです。画像中央のユーザーのアイコンが並んでいる個所をクリックすると、ユーザーでフィルタがかかった状態で7日分のデータを閲覧できるようになっています。

f:id:mohessu:20180404012911p:plain

ありがたいことに、ダウンロードを押下するとデータをCSVでダウンロードすることも可能です。ダウンロードをするとアプリケーション名やUPN、IPなどの情報を取得することが可能です。

f:id:mohessu:20180404014150p:plain

このログを降順で並べると、一番上に来たレコードが、最新のログイン時間となる。というわけです。

f:id:mohessu:20180404015010p:plain

今回はAzure AD Freeで試しましたが、Azure AD Premiumを利用するとすべてのユーザー情報からデータを収集することが可能です。
その際はUPNごと、時間ごとで昇順とすると、次のUPNの前が最新のログイン時間となるため、IF文などを駆使して境界部分のデータを取得することで、最新ログイン情報を簡単にとってこれるというわけです。

残念ながら30日分のデータしか残らないという制約はあるので、Azure Active Directory Reporting APIを利用しながら手元にデータを蓄えておくことで、長期的な情報を保有するといったこともできると思います。

ログインの日時を人ごとに取っておきたい人はぜひ検討してみてください。

音楽:Didn’t it Rain