Active DirectoryとAzure ADの違いを比較してみよう

皆さんこんにちは。国井です。

先日、紹介した「ADFSとAzure ADの違いを比較してみよう」が思いのほか好評だったので、続編としてActive DirectoryとAzure ADの違いを比較してみることにしました。

Active DirectoryとAzure ADの違いは、

オンプレミスのサーバーに対するシングルサインオンを実現するのが
Active Directory

クラウドサービスに対するシングルサインオンを実現するのがAzure AD

と覚えておくと、わかりやすいと思います。
実際、オンプレミスのActive Directoryでは、ドメイン参加という設定を行ったサーバーへのアクセスには、追加でユーザー名とパスワードを入力することはしないですよね?それと同じように、Azure ADでも関連付けられたクラウドサービスへのアクセスには追加でユーザー名とパスワードを入力することはしません。
このように、Active DirectoryとAzure ADではシングルサインオンでアクセスできる範囲が異なるという違いがあります。
(間違っても、Active DirectoryをAzureで動かしたもの、なんてヘンテコな説明を信じちゃダメですよ)

■ ■ ■

では次に、両者が持つ機能を比較しながら、違いを確認してみましょう。

Active Directory Azure AD
ユーザー管理方法 ・Active Directoryユーザーとコンピューター
・Active Directory管理センター
・PowerShell
・ADSI
・Azure管理コンソール
・Office 365管理センター
・PowerShell
・Graph API
管理権限の委任 ・OU単位での委任 ・Administrative Unit 単位での委任
・Azure AD Privileged Identity Management による委任
アクセス許可 ・ユーザー/グループ ・ユーザー/グループ
・IPサブネット単位
・デバイス単位 など
デバイス登録と認証 ドメイン参加することで、デバイスを登録し、ドメインへのサインインでデバイスを認証 Azure AD 参加/社内参加によってデバイスを登録し、アプリへのアクセス時にデバイスを認証
アプリケーションの連携 ・ドメイン参加 ・SaaS アプリの登録
クライアントの管理 ・グループポリシー なし
(Microsoft Intuneで対応)
移動ユーザープロファイル あり 一部
他のドメインとの信頼関係 ・Active Directoryの信頼関係 ・Azure AD B2B
アクセスログ ・イベントビューア
(セキュリティ ログ)
・Azure AD レポート
・Azure AD Identity Protection
・Cloud App Security など

それぞれの項目について、詳しく確認します。

ユーザー管理方法

ユーザー管理に利用できるツールは、Active DirectoryとAzure ADのどちらもGUI、コマンド、APIと用意されています。操作方法こそ違えど、大きな差はないようですね。

管理権限の委任

一部の管理権限を誰かに委任する場合、Active DirectoryではOUを作って、そのOUだけを管理できるように委任する、という設定を行っていましたが、同様の設定はAzure ADのAdministrative Unit(AU)という機能を利用することによって実現できます。
ただし、AUはPowerShellからしか設定できないので、OUみたいにOUの中にいるユーザーの一覧をGUIで確認できるようなものはないんですよね。

アクセス許可

Active Directoryではアクセス許可の割り当てはユーザーまたはグループを利用して行います。それに対して、Azure ADではユーザーまたはグループ単位での設定はもちろんのこと、IPサブネット単位、デバイス単位など、アクセス許可の割り当て方法は多彩になっています。
もちろん、Active Directoryでも、Windowsファイアウォールを使えば、IPサブネット単位でのアクセス制御ができるかもしれませんが、どうしてもActive Directory以外の機能を利用することになります。

デバイス登録と認証

特定のデバイスだけがリソースにアクセスできる「デバイス認証」という機能はAzure ADが出てきて初めて聞いた、という人もいるかもしれませんが、実はActive Directoryでもデバイス認証は行っていました。
私たちがユーザー名とパスワードを入力してサインインするときに、裏でコンピューターアカウントの認証も行っています。
Active DirectoryとAzure ADの違いは、Active Directoryの場合はWindowsの起動時、Azure ADの場合はアプリへのアクセス時にそれぞれ認証を行うというところです。

Azure ADデバイス登録とデバイス認証

アプリケーションの連携

Active DirectoryとAzure ADにサインインした後でアクセスできるアプリケーションをどうやって連携するか、という比較項目です。
Active Directoryの場合は、アプリケーションがインストールされているサーバーをドメイン参加させることによって連携をさせるのに対して、
Azure ADの場合は、Azure管理ポータルからアプリを登録することによって連携させます。
これは、プロトコルで言えば、Kerberosを使って連携させるのか、またはSAML/OpenID Connect/OAuth2.0などを利用して連携させるのか、という違いでもあります。

Windows Azure Active Directoryのアプリケーション連携

クライアントの管理

機能的な面からみて、決定的な違いがあるとするなら、クライアントの管理でしょう。
Active Directoryの場合は、おなじみのグループポリシーを使いますが、
Azure ADにはグループポリシーに相当する機能はないんですよね。
Microsoft Intuneを利用するという方法もありますが、社内のPCを管理するというよりは、モバイルデバイスを管理するという観点から設計されたクライアントの管理機能なので、グループポリシーと同じ機能をMicrosoft Intuneに求めるのは少し違うと思います。

移動ユーザープロファイル

移動ユーザープロファイル機能は、オンプレミスだったらActive Directoryの機能と組み合わせて実現させますが、Azure ADの場合はEnterprise State Roamingと呼ばれる機能を通じて、ユーザープロファイルの一部設定のみをクラウドに保存することができます。
デスクトップやドキュメントフォルダーなども同期してほしいという要望もあるのでしょうが、そこはOneDriveやOneDrive for Businessを使えばいいんじゃない?という考え方なのだと思います。

他のドメインとの信頼関係

信頼関係という概念自体、Active Directoryのものですが、Azure ADではドメインとドメインを結びつける信頼関係ではなく、他ドメインの特定のユーザーを自分たちのドメインに招き入れる方法での信頼関係をサポートしています。ちなみにこの機能をAzure AD B2Bと呼んでいます。

Azure ADの信頼関係

アクセスログ

Active Directoryではアクセスログを参照するときはイベントビューアを使いますが、Azure ADではレポート機能の他、Azure AD Identity ProtectionやCloud App Securityを使って潜在的なリスクを検出し、対応するようなソリューションも用意されています。
Active Directoryの場合には不正アクセスを示すログがあっても、タスクスケジューラなどで自分でアラートを出すような定義をしっかり作りこまないとリスクを検出できるような仕組みを実装できないですが(もしくはサードパーティーの製品やサービスに頼る!)、Azure ADの場合は単なるログではなく、機械学習ベースで不正アクセスを検出し、アラートで示してくれる方法がいくつか用意されているので、結構な差があると思います。

Office 365 × Azure ADのアクセスログとアクティビティ監視(1)

■ ■ ■

いかがでしたか?
「Azure ADって、オンプレミスのActive Directoryと何が違うの?」という疑問を持っている方って、多くいらっしゃるとおもいますが、こんな違いがあるよ!という視点を持っていれば、あとは細かいことは自分で調べて対応できるようになると思います。
細かいことを自分で調べて対応するのは非効率、難しい、という方には
トレーニングコースも用意していますので、合わせて参考にしてもらえるとうれしいです。

では、また。