[運用] 第2回 クラウド・コンピューティング時代の認証技術 1.アイデンティティ連携の要素技術 Microsoft MVPIdentity Lifecycle Manager 伊藤忠テクノソリューションズ株式会社 富士榮 尚寛 2010/08/25 |
|||||||||
|
前回は、クラウド・コンピューティングとアイデンティティ管理の概要を解説した。その中で、クラウドうえのサービスをセキュアに使うためにアイデンティティ管理システムに求められる機能として、アイデンティティ連携(フェデレーション)という概念が注目されている、ということを述べた。
今回は、まずフェデレーションを中心とした新しいセキュリティ・モデルと各技術要素について解説する。次に、それらのテクノロジをマイクロソフトがどのようなビジョンとアーキテクチャに基づいて、Active Directoryをはじめとした同社の製品群へ実装しているのかについて解説する。
アイデンティティ連携(フェデレーション)の要素技術
アイデンティティ連携(フェデレーション)とはどのような概念なのだろうか?
■フェデレーションの定義と標準規格
フェデレーションの定義はもともと、「アイデンティティ・プロバイダ(認証する側)のアイデンティティ情報とサービス・プロバイダ(利用する側)のアイデンティティ情報のひも付けを行う」ことを指していた。しかし最近はその結果として、アイデンティティ情報の管理組織や体系の異なるシステム間でのシングル・サインオンができるため、広義でのシングル・サインオン(グローバル・シングル・サインオン)としてとらえられることが多いようだ。
このフェデレーションを行ううえで代表的な仕組み/技術標準として、
- SAML(Security Assertion Markup Language)
- WS-Federation
- OpenID*1
が挙げられる。ここでは企業規模で使われることを想定して設計されているSAMLを例に取り上げながら、フェデレーションの概念を説明したい。
*1 OpenIDについては、Security&Trustフォーラムの「OpenIDの仕様と技術」が参考になる。 |
まず、理解しておくべきSAMLの重要な用語があるので、あらかじめ解説しておく。
用語 | 意味/役割 | 備考 |
サブジェクト | サービスを利用する主体(ユーザーなど) | |
アイデンティティ・プロバイダ(IdP) | 認証を行い、アイデンティティ情報を提供する | OpenIDではOpenID Provider(OP)と呼ばれる |
サービス・プロバイダ(SP) | IdPに認証を委託し、IdPによる認証情報を信頼してサブジェクトにサービスを提供する | リライング・パーティ(RP)とも呼ばれる |
Assertion(アサーション) | IdPが本人性を証明するために発行する文書。属性やアクセス権情報などを含むこともある | Assertionに含まれる属性情報をクレーム(要求)と呼ぶこともある |
Assertion Consumer Service(ACS) | SP内でAssertionの解釈、認可を行う | |
フェデレーション(SAML)で使われる重要な用語 | ||
SAML以外の技術標準では、別の呼称が使われていることがある。 |
では、早速SAMLを使ったフェデレーションの基本的な動作の流れを解説していく。なお、SAMLに関する詳細な仕様については標準化団体OASISのWebサイトで公開されているドキュメントを参照していただきたい。ここではSAMLの動作を理解することに主眼を置くため、詳細な仕様については触れない。
■フェデレーションの基本的な動作
フェデレーションにおけるユーザーと各プロバイダ間の実際のアクセスは下図のようになる。
フェデレーションにおけるユーザーと各プロバイダ間のアクセス |
アイデンティティ・プロバイダとサービス・プロバイダ間で直接の通信が発生しないので、各プロバイダが異なるネットワーク(イントラネットとインターネットなど)に属していても認証連携が可能だ。また、ユーザーはサービス・プロバイダで直接認証を行わないので、パスワードなどの資格情報がサービス・プロバイダに渡らない。 |
ユーザー(ブラウザ)と各プロバイダ間の通信はメッセージ形式で行われる。詳細なメッセージのやりとりは下記のシーケンスになる。
フェデレーションにおけるメッセージのシーケンス |
認証情報(Assertion)の改ざん防止のため、デジタル署名をして正当性確認を行う。縦軸は時間軸を表しており、上から下へ向かって順にメッセージが送受信される。 |
やりとりされるSAMLメッセージの内容はXMLで表される。アイデンティティ・プロバイダ(IdP)にAD FS 2.0、サービス・プロバイダ(SP)にGoogle Apps(Gmail)を使った例を次に記す。
|
||||||
SPからIdPへの認証要求(AuthNRequest) | ||||||
SPからIdPへ認証を求める際の送信内容の例。 | ||||||
|
|
|||||||||
IdPで認証された後のSPに渡される認証結果を含むAssertion | |||||||||
IdPでの認証後に、SPに送信されるAssertionの内容。Windowsでの認証の結果を含んでいる。 | |||||||||
|
■フェデレーションの利点
上記のフェデレーションの動作におけるポイントの1つとしては、サービス・プロバイダ側で直接認証(IDやパスワードの入力)を行っていないので、サービス・プロバイダへのネットワーク経路上をパスワードが流れないという点がある。もう1つ、サービス・プロバイダが直接アイデンティティ・プロバイダと通信を行っていないので、アイデンティティ・プロバイダとサービス・プロバイダは別々のネットワークに存在してもよいという点も挙げられる。
これらにより、イントラネット上のアイデンティティ・プロバイダを利用して、クラウド上のサービス・プロバイダへセキュアなアクセスを行うといったことが可能になる。また同時に、イントラネット上の社内アプリケーションにも同様の仕組みを導入することにより、イントラネットとクラウドにまたがったセキュアなシングル・サインオンという非常に利便性の高いシステムを構築できる。
INDEX | ||
[運用]Windowsで構築する、クラウド・サービスと社内システムのSSO環境 | ||
第1回 クラウド・コンピューティングとアイデンティティ管理の概要 | ||
1.クラウド・コンピューティングの基礎と課題 | ||
2.クラウドでのセキュリティ対策とアイデンティティ管理の役割 | ||
3.クラウドがアイデンティティ管理システムにもたらす変化 | ||
第2回 クラウド・コンピューティング時代の認証技術 | ||
1.アイデンティティ連携(フェデレーション)の要素技術 | ||
2.マイクロソフトのアイデンティティに関するビジョン | ||
3.アイデンティティ・メタシステムの実装 | ||
第3回 クラウド・サービスと社内ADとのSSOを実現する(前) | ||
1.AD FS 2.0のセットアップ | ||
2.Google AppsとAD FS 2.0との連携 | ||
3.Windows Live IDとAD FS 2.0との連携 | ||
4.Salesforce.com CRMとAD FS 2.0との連携 | ||
第4回 クラウド・サービスと社内ADとのSSOを実現する(後) | ||
1.Windows AzureとAD FS 2.0との連携(1) | ||
2.Windows AzureとAD FS 2.0との連携(2) | ||
Windows 運用 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|