IDaaS(Identity as a Service)はどのように利用できるのか? 実際のサービスの1つ「Microsoft Azure Active Directory(Azure AD)」を例に挙げて、オンプレミスと比較しながら具体的に解説する。
前回は「クラウド」「モバイル」「グループ&グローバル」という3つのキーワードから、企業を取り巻く環境の変化と企業の情報システムが直面している課題について分析し、企業資産を守るための新たなセキュリティ境界としてアイデンティティが注目を集めていることについて解説した。
また、境界線を効率的に管理するための手法として、ID管理/シングルサインオンをサービスとして提供する「IDaaS(Identity as a Service)」について、構成要素と特徴を以下のように分類し、その概要を解説した。
構成要素 | 特徴 | 解説 | |
---|---|---|---|
認証 | クラウドサービスとのID連携 | 接続検証済みのアプリケーションを選んで利用することで早期の立ち上げが可能 | |
ID連携プロトコルへの対応 | OpenID Connectなどの最新プロトコルへ早期に対応しており新規サービスとの接続が可能 | ||
強固な認証方式への対応 | 多要素認証、リスクベース認証などオンプレミスでは対応が難しい方式に対応しており、セキュリティが強固 | ||
ID管理 | クラウドサービスのID管理 | 接続検証済みのアプリケーションとのID自動同期が可能であり、個別にコネクタ開発が不要 | |
監査 | 認証ログ | 機械学習と組み合わせた不正アクセス検知などオンプレミスでは実装が困難な機能が実装できる | |
IDaaSの構成要素と特徴 「構成要素」や「特徴」のリンクをクリックすると、詳細な解説にジャンプする。 |
今回と次回で、これらの特徴についてマイクロソフトのIDaaSである「Azure Active Directory」を具体例として、どのように実装され、利用できるのかを確認していく。
Microsoft Azure Active Directory(以下、Azure AD)とはマイクロソフトが提供するIDaaSである。
従来マイクロソフトは、オンプレミス向けにWindows Server Active Directory(以下、ADまたはオンプレミスAD)を提供してきた。しかし、Office 365をはじめとする各種アプリケーションのクラウド化に対応する形でID基盤の拡張が必要となってきた。そこで2012年5月、マイクロソフトはActive Directoryを「再創造」するという発表をした*1。
*1 この時点では「Windows Azure Active Directory」という名称であったが、これがマイクロソフトのIDaaS提供に関する初めての公式の宣言であった。
この宣言の中でマイクロソフトは次のように述べている。
マイクロソフトが定義している「企業資産を管理するための機能」を、従来のADおよびAzure ADにマッピングすると下表のようになる。
機能 | オンプレミスADの機能 | Azure ADの機能 |
---|---|---|
幅広いアプリケーションとリソースにわたるシングルサインオン(SSO)とアクセス制御 | ・統合Windows認証 ・ID連携プロトコル対応(SAML/ws-federation/OAuth) ※Active Directory Federation Services(AD FS)*2 |
・ID連携プロトコル対応(SAML/ws-federation/OAuth/OpenID Connect) |
アプリケーション間の情報共有(例えば、人/グループ/報告系統/役割/連絡先情報/プリンター位置/サービスアドレス) | ・LDAPv3によるディレクトリデータの提供 | ・Graph API(RESTful API)によるディレクトリデータの提供 |
文書の暗号化とアクセス制御を可能にする情報保護 | ・Active Directory Rights Management Services(AD RMS)による情報保護 | ・Azure AD Rights Management Services(Azure AD RMS)による情報保護 |
コンピューター/プリンター/ファイル/アプリケーション/その他のリソースの検出 | ・共有オブジェクトのディレクトリ上での管理とエクスプローラーやLDAPv3での検出 | ・共有オブジェクトのディレクトリ上での管理とGraph APIでの検出 ・アクセスパネルによる割り当て済みアプリケーションの検出 |
ユーザー/グループ/役割の管理/パスワードのリセット/暗号化キー/証明書/アクセスポリシー/デバイス設定の構成と配布のためのツール | ・グループポリシーによる管理 ・Microsoft Identity Manager(MIM)*3によるユーザー/グループ/証明書などの管理 |
・管理ポータルやセルフサービスポータルでのユーザー/グループなどの管理 ・Device Registration Service(DRS)によるデバイス登録 |
Active Directoryが提供する企業資産を管理するための機能とAzure ADでの対応 細かい機能の解説は後述する。 *2 次期Windows ServerのAD FSからはOpenID Connectについても対応予定。 *3 2015年8月にリリースされた、Forefront Identity Manager 2010 R2の後継製品。 |
従来のADは統合Windows認証(Kerberos)やLDAPをベースとした、企業内ネットワークを意識したプロトコルで構成されている。それに比べてAzure ADは、特にWebをベースとしたテクノロジを採用しており、インターネットスケールで展開された企業資産を管理することを強く意識していることが分かる。
ではAzure ADの提供が宣言されてから3年あまりが経過した2015年9月時点で、実際に提供されている機能について見てみよう。
下記のスクリーンショットがAzure管理ポータルから見たAzure ADの構成である。「ディレクトリ」「ACCESS CONTROL名前空間」「多要素認証プロバイダー」「RIGHTS MANAGEMENT」の4つの機能が並んでいる。
以下にそれぞれの機能を簡単に解説する。
■ディレクトリ
Azure ADのメイン機能。ユーザーやグループなどのID管理機能、SAML/ws-federation/OpenID Connectに対応した各種アプリケーションへの認証機能の提供、オンプレミスのADをはじめとした各種ディレクトリ/認証基盤との統合(ID連携、ID同期)、利用状況のレポーティング機能などを持つ。
■ACCESS CONTROL名前空間
旧AppFabric Access Control Service。GoogleやFacebook、MicrosoftアカウントといったコンシューマーIDサービスを使って、ws-federationに対応した各種アプリケーションの認証を行うためのハブとして動作する*4。
*4 2015年9月16日、Azure ADの新たなサービス「Azure AD B2C」のプレビュー版が公開された。このサービスでもコンシューマーIDサービスとの連携が可能だ。今後、本機能とAzure AD B2Cがどのように併存していくのかを見極めていく必要がある。
■多要素認証プロバイダー
ディレクトリの持つID/パスワードによる認証機能に追加して、モバイルアプリケーションやSMS、電話メッセージによる追加要素を使った認証機能を提供する。
■RIGHTS MANAGEMENT
Officeドキュメントをはじめとした各種コンテンツに対する情報保護機能を提供する。
それでは、先に挙げたIDaaSの構成要素ごとにAzure ADがどのように上記の機能を提供しているのかを見て行こう。
IDaaSを使うことによる一番のメリットは、既存のクラウドサービスとのID連携(シングルサインオン)を個別に検証・設定する必要がないことだ。このことにより、SaaSの採用に関する意思決定から業務への適用開始までのリードタイムを大幅に短縮することが可能となるのは、前回述べた通りである。
Azure ADが連携する対象のアプリケーションの定義は、管理画面で対象のディレクトリを選択してから[アプリケーション]メニューで実施する。ここでは手動で個々のアプリケーションとのID連携を構成できる一方で、すでに連携が検証済みのクラウドサービスをギャラリーから選択する形ですぐに利用を開始できるようにもなっている。2015年9月時点で2500近いアプリケーションとの連携がプリセットされている。
このギャラリーに掲載されているアプリケーションであれば、手間なく簡単にAzure ADとのID連携を実現できる。
Azureでは上記の管理ポータルの他に、Azure ADのユーザー向けアプリケーションポータル「アクセスパネル」も提供されている。これを利用すると、割り当て済みのアプリケーションへのアクセスを一元化できる。業務に関連するアプリケーションをAzure AD上に登録しておけば、全ての業務を本ポータル経由で実行できるようになるため生産性の向上が見込める。
Azure ADとID連携しない既存アプリケーションについても、Azure ADに登録しておくとアクセスパネルに表示できるようになるため、特にモバイル環境などにおいては利用者からのアクセスを容易にすることができる。
また、Office365やDynamics CRMといったマイクロソフトのSaaSアプリケーションは、Azure ADをID基盤として利用している。これらもアクセスパネルから利用できる。
Google AppsとのID連携の設定の詳細およびアクセスパネルからのアクセスについては、筆者が制作したビデオやブログ記事で解説しているので参考にしていただきたい。
■Channel 9で公開している筆者の解説ビデオ
■筆者ブログ「IdM実験室」の関連記事
Azure ADでは、上記のようにギャラリーから既存のアプリケーションとの連携をするのが主流になる。その一方で、組織内で開発したカスタムアプリケーションとの柔軟な連携を行うためには、標準的なID連携プロトコルへの対応が必要となる。
Azure ADの場合、従来のエンタープライズで使われてきたSAMLやws-federationといったプロトコルに加えてOpenID Connectにも対応しており、特にコンシューマー向けに開発されてきたアプリケーションとも連携が可能になっている。
こうしたID連携プロトコルを利用するクライアントの開発を支援するべく、マイクロソフトは各種ライブラリやツールも提供している。例えばVisual Studioを使ったASP.NETアプリケーション開発では、Azure ADやAD FSを使ったシングルサインオンを実装するのに一切コーディングの必要がない。
また同様に、OWIN(Open Web Interface for .NET)を使った認証ミドルウェアや.NET以外の言語に対応した認証ライブラリについても積極的に開発の支援をしている。これらはGitHub上でオープンソースとして公開されている。
同じく詳細は筆者ブログや、筆者が各種セミナーで利用したスライドをSlideShare上に公開しているので、参照していただきたい。
次回は、引き続きAzure ADを例にIDaaSでの認証やID管理、監査について解説する。
Copyright© Digital Advantage Corp. All Rights Reserved.