
企業システムの常識をJBossで身につける(10)
内部統制に効く!
ID管理・シングルサインオンの常識
株式会社ビーブレイクシステムズ
相原 淳、多田 丈晃、上川 伸彦
2010/7/16
企業向けアプリケーションのさまざまな“常識”をJavaのオープンソース・フレームワーク群である「JBoss」から学んでいきましょう。企業システムを構築するうえでの基礎となる知識をリファレンス感覚で説明していきます。初心者から中堅、ベテランまで大歓迎!
複数のID/パスワードを覚えておくのは、大変だ!
企業における日々の業務で、メールや業務アプリケーションなど複数のアプリケーションを同時に利用することは、もはや不可欠です。しかし、アプリケーションの多くは、ユーザーにIDとパスワードを入力させ、ログインを促すものがほとんどです。
1つのアプリケーションの利用だけならば、IDとパスワードを記憶するのは簡単です。しかし、複数のアプリケーションのIDやパスワードを記憶するのは簡単なことではありません。また、アクセスコントロールにおけるセキュリティの面からも、ログイン方法の異なる複数アプリケーションを利用することは好ましくありません。
今回紹介する「シングルサインオン」は、複数アプリケーションによるIDやパスワードの管理をシンプルにします。また、内部統制を画一化する側面も持ち合わせています。今回は、ID管理とシングルサインオンについて説明していきます。
いまさら聞けない「アイデンティティ管理」とは
ID(アイデンティティ)管理とは、ユーザーIDや権限といったアプリケーションがユーザーを特定するための重要な情報を、ユーザーやシステム管理者が管理することです。
ID管理の構成要素は、以下の4つに分類できます(表1参照)。
| 表1 ID管理の構成要素 | ||||||||||
|
今回は認証とシングルサインオンに焦点を当てて説明します。その理由は、以下の3点です。
- 【認証】
- シングルサインオンを理解するために、認証の理解が不可欠なため
- 【シングルサインオン】
- ID管理を容易にするため
- 企業のアクセスコントロールにおけるセキュリティの画一化に効果があるため
知ってましたか? 「認証」は2種類あります
認証を大きく2つに分類すると、【A】1対1認証と、【B】複数間認証に分類できます。
■ 【A】1対1認証
「1対1認証」とは、アプリケーションによるユーザー判定です。このユーザー判定は、ユーザーが持つID(アカウント)やパスワードなどの認証情報に応じて行われます。ごく一般的なアプリケーションのログイン画面などは、この1対1認証に当てはまります。そのため、非常によく知られた認証方法だといえます。
また、ID管理における認証は基本的に、こちらを指します。従って、本連載内での「認証」も、こちらを指すと認識しておいてください(こちらの認証方法については、前回の「社内システムのセキュリティとアクセス制御の常識」で説明しています)。
■ 【B】複数間認証
「複数間認証」とはユーザーやWeb画面が、認証局によって発行される証明書を利用して行う認証の仕組みです。この証明書を用いることで、ユーザーやWeb画面は自らの信頼性を高めることができます。複数間認証について詳しく知りたい方は、記事「PKI再入門 - 第5回 公開鍵との結び付きを証明する第三者認証局」を参照してください。
以上が2種類の認証についての説明です。認証について、簡単なイメージがわいてきたのではないでしょうか。
Java標準の認証APIパッケージ「JAAS」とは
次に、もう少し踏み込んで、Javaで認証を実現するための標準APIについて説明します。
Javaには、認証を実現するための標準APIとして「JAAS」パッケージが用意されています。まずは、JAASの構成要素と簡単な説明を示した表2を参照してください。
| 表2 JAASの構成要素 | ||||||
|
もう少し具体的に見ていきましょう。
■ JAAS認証
JAAS認証では、ユーザーを認証する際、一般的に以下のクラスとインターフェイスが利用されます。
| 表3 JAAS認証で用いられるクラスとインターフェイス | ||||||||||
|
それでは、表3内のクラスとインターフェイスを利用した、認証作業の処理の流れを見ていきましょう。下記リストを見てください(JAASのリファレンスガイドを参考に作成しました)。
- アプリケーションがLoginContextクラスをインスタンス化。また、この際にLoginContextクラスはLoginModuleの読み込む
- アプリケーションがLoginContextクラス内のloginメソッドを呼び出す
- loginメソッドは、1で読み込まれたLoginModuleを呼び出す。この際、LoginModuleは認証対象(ユーザー)の認証判定作業を行う
- LoginContextクラスは、3の認証状態をアプリケーションに返す
- アプリケーションは認証に成功した認証対象をLoginContextから取得
■ JAAS承認
JAAS承認は現在実行中のコード、およびユーザーにアクセス権を付与したうえで以下のクラスを用いて認証作業を行います。その際、承認を判断するために用いられるのがJavaに標準で備え付けられているPolicyファイルです。
| 表4 承認で用いられるクラス | ||||||||
|
以上が、JAASについての説明です。より詳しく知りたいという方は、JAASのリファレンスガイドを参照してください。次ページ以降では、シングルサインオンについて解説していきます。
| Index | ||||||||||
|
||||||||||
企業システムの常識をJBossで身につける バックナンバー 連載インデックスへ»
- 第1回 企業向けアプリの常識を学び、JBossの環境構築
- 第2回 “全部入り”のEclipseで学ぶ統合開発環境の常識
- 第3回 DI(依存性の注入)×AOP(アスペクト指向)の常識
- 第4回 企業でも情報整理で利用が進む「ポータル」の常識
- 第5回 非同期処理と疎結合ができる「メッセージング」の常識
- 第6回 いまさら聞けない「Webサービス」の常識
- 第7回 クラウドで再注目の「分散コンピューティング」の常識
- 第8回 悲観もあれば楽観もある「トランザクション」の常識
- 第9回 社内システムのセキュリティとアクセス制御の常識
- 第10回 内部統制に効く! ID管理・シングルサインオンの常識
- 第11回 「全体を見る」ためのビジネスプロセス・BPMの常識
- 最終回 急速なビジネスの変化に対応できる「BRMS」の常識
| Java Solution全記事一覧 |
TechTargetジャパン
- 並列分散処理の常識をHadoopファミリから学ぶ (2012/2/8)
並列分散処理の課題やHadoopの長所/短所、そして短所を補うHadoop関連プロジェクトの構成や概要などを簡単に紹介 - WebLogicサーバ最新版「12c」の気になる4つの特徴 (2012/1/31)
久々にメジャーアップグレードしたJavaアプリケーションサーバについて、製品担当者に軽量インストーラなどの特徴を聞いた - GitHubをもっとソーシャルに使いこなすための7つ道具 (2012/1/23)
ソースコードホスティングのGitHub周辺で便利な新サービスが続々登場しているので、まとめて紹介しよう。特に連動クラウド「fluxflex」が注目だ - 新キャラ登場!スクラムやるならRedmineとALMinium (2011/12/26)
「黒板を“かんばん”にしてたら先生に怒られた(T_T)」「管理はPC内でやればいいのよ」「承知しました」
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -
