クラウドとの認証連携
![](https://thinkit.co.jp/sites/default/files/styles/main_image_730x/public/main_images/1808_main_7.png?itok=NRp862Li)
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による接続動作を試すことができます。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- クラウドの活用事例
- 恒例となったOSSセキュリティ技術の勉強会、今回はSSOソフトウェア「Keycloak」に注目!
- 注目のWebAuthnと公式より早いKeycloak最新動向を紹介!OSSセキュリティ技術の会 第5回勉強会
- クライアントポリシーを利用したKeycloakの設定方法と、FAPIリファレンス実装の紹介
- Keycloakの最前線を体感できるイベント「Keyconf 23」レポート
- シングルサインオン認証とは ー その種類と仕組み、メリット・デメリットを解説
- ForgeRockとの提携やOpenStandiaにみるNRIのオープンソース戦略
- クラウド環境とアイデンティティ/アクセス管理
- Keycloakを用いたハードニングの実装方法
- SalesforceとOracle、中国勢のAIプラットフォーム