クラウドとの認証連携

2011年2月18日(金)
米川 和利

1. はじめに

クラウドを利用する企業や大学が多くなってきていますが、クラウドの導入には、まだ多くの課題があります。その課題の一つとして、クラウドへのシングルサインオン(以下、クラウドとの認証連携)があります。この記事では、クラウドとの認証連携の概要を説明し、この仕組みを社内(大学の場合は学内)に導入する際に利用されているSAMLの技術について具体的な例を用いて解説します。

2. クラウドとの認証連携

ここではクラウドとして一般的に利用されているsalesforceとGoogle Appsについて説明します。

2.1 一般的なクラウドへのログイン

通常、下図のように、ユーザーがsalesforceやGoogle Appsを使用には、それぞれで表示されるログイン画面にユーザーIDとパスワードを入力する必要があります。

図1:一般的なクラウドへのログイン(クリックで拡大)

2.2 クラウドとの認証連携

これとは別に、自分が所属する社内ポータルなどにログインするだけで、salesforceやGoogle Appsにもログインできる方法があります。この場合、入力するのは社内ポータルのユーザーIDとパスワードだけです。また、一度ログインしてしまえば、他のコンテンツにアクセスする際に、再度、ユーザーIDとパスワードを入力する必要はありません。これをシングルサインオンと呼びます。シングルサインオンはすでにイントラネットなどで普及していますが、これをクラウドに適用したものがクラウドとのシングルサインオン(クラウドとの認証連携)です。

図2:クラウドとの認証連携(クリックで拡大)

2.3 クラウドとの認証連携を導入するメリット

クラウドとの認証連携の導入は、イントラネットへの導入よりも重要です。なぜなら、イントラネットは社内だけで閉じているのに対し、クラウドはインターネットに開放されているため、そこに格納されている社内情報が全世界から不正にアクセスされる可能性があるからです。

クラウドとの認証連携を導入すれば、ユーザーはクラウド側のパスワードを管理する作業から解放され、パスワードが外部に漏れるリスクが下がります。また、パスワードポリシー(パスワードの長さや有効期限)を一元で管理できるメリットもあります。

3. クラウドとの認証連携に使用される技術

salesforceやGoogle Appsとの認証連携は、SAML(Security Assertion Markup Language)が利用されます。SAMLの仕様はOASISのサイトで公開されています。

3.1 敷居の高いSAMLアプリケーション

市場にはすでにSAMLの機能をもつアプリケーションが出ています。したがって、SAMLの知識がなくてもこれらのアプリケーションを使用すればsalesforceやGoogle Appsと認証連携ができそうに考えられがちです。ところが、実際に導入しようとすると以下の問題が発生します。

問題点
アプリケーションのセットアップに必要なパラメーターがSAMLの用語で説明されているため、SAMLを理解していないと設定できない。
セットアップはできたが、導入後に表示されるエラーメッセージの意味が分からない。
セキュリティ製品にもかかわらず、どのようにしてセキュリティが守られているかが分からない。また、どこまでがセキュリティで守られているかが分からない。

つまり、SAMLを理解していないとSAMLアプリケーションを導入しづらいのが現状です。

3.2 理解するのが難しいSAML

ところがSAMLを理解しようとしても、概要までしか説明されていない場合がほとんどです。OASISのサイトからSAMLの仕様書をダウンロードできますが、以下が原因で理解するのに時間がかかります。

SAMLの仕様書を理解するのが難しい原因
仕様書のページ数が膨大で、どこから読んでよいか分からない。
仕様書がCore、Profiles、Bindingsに記述が分離されており、これらがどう結びつくのかが分からない。
仕様書のどこを読んでもXMLの電文形式に関する記述が見つからない

そこで、この記事では次章から具体的な例でSAMLを説明します。また、SAMLの重要なポイントを示します。これにより、この記事が読者の方がSAMLを理解する際の手助けになればと考えています。

※SAMLではシングルサインオン(以下、認証連携)を実行する方法として、いくつかの方法があります。すべての方法をここで説明すると分かりにくくなるため、ここではあえてsalesforceとGoogle Appsに限定した方法だけを説明しています。ご了承ください*1

  • [*1] salesforceではデベロッパーアカウント(無料)を作成すれば、実際にSAMLによる接続動作を試すことができます。
日本ヒューレットパッカード株式会社

1995年 日立製作所に入社。システム、アプリケーション開発に従事。2001年より現職。
シングルサインオン、アイデンティティ管理、SAML・OpenIDの製品開発に従事する。
小学6年生の時に、カシオのPB-100が懸賞で当たったのがプログラミングの始まり。Javaをこよなく愛するが、最近は、PHPとC#が気になる。趣味は熱帯魚の飼育。週末は、妻と4歳の息子とで食べ歩き。
http://twitter.com/k_yonekawa

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています