[今月の技術トピック] セルフサービスでどこまでできる? Azure AD による ID とアクセス管理のコスト削減策

「ママ、どうしてパパの帰りは遅いの?」
「それはね、パパがとっても優しい人だから。」
「ママ、やさしさとシステム品質は比例するの?」
 「そうとも言えないのが現実だよね。さ、もう寝なさい。」

今も世界のどこかでわされている親子の会話です。システム管理者が抱えるタスクは多く、その負荷を解消するため、多くの企業ではプロセスの自動化に取り組んできました。しかしそれだけでは解消されない問題もあります。それが「IT 利用者からの突発的な要求」です。
ID とアクセス管理 (IAM) の分野に絞れば、以下のような要求が挙げられます。

  • パスワード忘却時のリセット
  • グループやメーリング リストの作成や参加
  • 業務アプリケーションへのアクセス権限
  • 管理権限の一時的な付与

こうした要求は五月雨式に発生するものであり、そのたびにシステム管理者は仕掛中の業務を中断することになります。これは大変な非効率であり、業務の品質を落としてしまう原因にもなります。

Azure Active Directory には以下のような各種セルフサービス機能が実装されています。

1. セルフサービス パスワード リセット

利用者がパスワードを忘れてしまった場合、(https://passwordreset.microsoftonline.com/) にアクセスし、Azure Active Directory に登録されているユーザー ID のパスワードをリセットすることができます。このとき、本人確認のキーとなるのは携帯電話やスマートフォンの電話番号です。利用者には、最初のログオン時に電話番号の登録が求められます。パスワードリセットを要求すると、事前に登録した電話番号に電話がかかってきます。利用者はこれに対して適切な応答(応答に必要な内容は自動応答電話により指示されます)を行うことで本人確認を完了させることができます。なお、この電話番号は多要素認証にも利用されます。

Azure Active Directory Premium を契約すると、パスワード ライトバック機能を使用することもできます。ライトバックとは、オンプレミス Active Directory へのパスワード書き戻しのことです。Azure Active Directory と オンプレミス Active Directory のフェデレーションを構成している場合、パスワードはオンプレミス AD で管理されることになります。オンプレミス AD は Firewall の内側にあるため、標準では社外からパスワードを変更することができません。かといってパスワードリセット機能を自作しようとすれば、電話による本人認証機能など面倒な実装が盛りだくさんです。そこで、外部から見えている Azure AD 上でパスワードを変更し、これをオンプレミスに自動的に書き戻すという方法が可能です。書き戻しはほぼリアルタイムに行われるため、利用者の利便性を損なうことはありません。

2. セルフサービス グループ管理

今でも多くの企業で使われているメーリング リストは、突発的に増減します。特にメンバーシップの変更は管理者にとって大きな負担です。また、ファイル サーバーやアプリケーションへのアクセス権を制御するためにセキュリティ グループを使用することもあります。
こうしたグループ管理の多くは、システム管理者ではなくグループのオーナーが行えば済む話です。さらに、グループ オーナーの負荷を軽減するのであれば、利用者自身にグループへの参加申請を行ってもらえばよいでしょう。
Azure Active Directory に実装されているセルフサービス グループ管理機能は上記のニーズを満たしています。
セルフサービス グループ管理は、アプリケーション パネル (https://myapps.microsoft.com/) から使用することができます。アプリケーション パネルの「グループ」タブを表示すると、グループの作成権限を持つユーザーに対して「Create Group」タイルが表示されます。権限を持つユーザーはこのタイルをクリックして、必要な時に必要なグループを作成できます。もちろん、グループのオーナーですからメンバーシップの変更も自在です。オーナーがグループに対して「グループに参加するにはオーナーの承認が必要」であると設定すれば、利用者からの参加申請はオーナーの承認リストに表示され、必要に応じて承認/否認することができます。

一方、利用者は既存のグループに対する参加申請をアクセス パネルから行えます。このとき管理者は一切介在しません。承認が必要なグループに参加申請を行った場合には、そのオーナーに承認申請が送られます。

3. 動的グループ管理

セルフサービスとは異なりますが、この機能を使用するとグループ メンバシップを自動的に変更することができます。「所属」や「役職」など、指定された属性を監視し、格納されている値が一致した場合に、自動的にグループ メンバーになります。逆に、不一致となった場合にはメンバーシップから外れます。人事異動の季節には、部門ごとのグループ メンバーシップを一斉に変更するといった棚卸が必要になります。この機能を使用することで、メンバーシップの管理を完全に自動化することができます。

4. アプリケーションへのセルフサービス アクセス

Azure AD に関連付けられているアプリケーションに対し、利用者がアクセス権を要求できる機能です。
例えば、Facebook が Azure AD のアプリケーションとして登録されている場合、管理者は Facebook への「セルフサービス アクセス」を許可することができます。もちろん、無条件にアクセス許可するだけでなく、誰の承認が必要なのかを設定できます。承認者は、もちろん管理者である必要はありません。通常はアプリケーションのオーナーを承認者として設定することになるでしょう。

利用者はアクセスパネルからアクセスしたいアプリケーションをクリックして、アクセス権を要求し、必要に応じてアプリケーション オーナーの承認を待ちます。

5. 管理権限の一時的な付与

必要に応じて、特定の領域に対する管理権限 (特権) を付与する場合があります。例えば、ユーザーの棚卸時期には各部門の代表者に対してユーザー管理権限与えたり、派遣されたヘルプデスク担当にパスワード リセット権限を与えるなどです。こうした管理特権に関しては、アプリケーションやメーリング リストのように「一般ユーザーからの特権要求を受け付ける」のはナンセンスです。セキュリティ管理者が社内のセキュリティ ポリシーに則って、必要最小限のユーザーに対して特権を与えるという運用が求められます。
さて、こうした特権管理で軽視されがちなのは「権限の有効期間」です。通常、一時的な権限を長期にわたって付与し続けることは危険ですし、誰がどのような特権を保持しているかは定期的に棚卸する必要があるでしょう。本当に一時的に付与する特権なのであれば、一定時間後に権限をはく奪する必要がありますが、これが意外と忘れがちです。
Azure AD Premium が持つ特権管理機能には、付与された特権の有効期間を 1 時間から 72 時間の間で設定することができます。また、特権を有効化する前にユーザーに対して多要素認証を要求することも可能です。

この他、定期的な特権の棚卸機能などにより効率的に特権を管理することができるようになっています

このように、Azure AD が持つセルフサービス、および自動化機能によって、低コストで安全な IAM が可能になります。

「ママ、セルフサービスって "やさしさ" の欠如ではないの?」
「ううん、ちがうの。利用者自身が "やりたいときに行える" ことこそが本当のやさしさなのよ」
「ママ、これでパパも早く帰ってこられるかな?」
「。。。さ、もう寝なさい」

日本マイクロソフト株式会社
エバンジェリスト
安納 順一 <Blog