Upload
kenji-hasunuma
View
3.903
Download
2
Embed Size (px)
DESCRIPTION
GlassFish Users Group Japan 勉強会 2012 June 「GlassFish認証ワンポイントレッスン」発表資料
Citation preview
GlassFish “AUTH” FeaturesJune 4th, 2012
HASUNUMA KenjiVice president of GlassFish Users Group Japan
http://www.coppermine.jpTwitter A/C: @btnrouge
1
What’s GlassFish Auth?
Authentication (atn / 認証)
サーバにアクセスしてきたユーザが本当にそのユーザか (そのユーザを騙る別人でないか) を確認すること。※サーバー側で実施
Authorization (atz / 認可)
認証したユーザに対して、やってよいこと (あるいはやってはいけないこと) を定めること。※アプリケーション単位で実施
2
What’s Security Realm?•認証を行う仕組み一式のこと•認証データベースごとの実装:• ファイル、JDBC、LDAP、証明書、PAM、
Solaris、カスタム(JAAS)
• 標準はファイルレルム
3
File Realm is ...•ユーザー認証情報はファイルへ保存•ファイルは暗号化されている•管理コンソール等で編集する•管理コンソールの認証用レルムは、別に管理されたファイルレルム
4
JDBC Realm is ...•JDBCデータソース経由でデータベースからユーザー認証情報を取得する
•設定自由度が高く、応用範囲が広い•パスワードは平文で保存できない• SHA-256で算出したハッシュ値を格納する必要あり
5
LDAP Realm is ...•認証にLDAPを使用
• Oracle Directory Server Enterprise Edition
• OpenLDAP
• Microsoft Active Directory
•Active Directoryは認証設定が必須• 認証に使うユーザーはドメインにログイン可能であれば任意
6
PAM/Solaris Realms are ...•PAMレルム…Unix/LinuxのPAM認証
APIを利用する
• PAMでLDAP連携を設定しておけば、別途LDAPレルムは設定不要
•Solarisレルム…Solaris独自の認証APIを利用する(当然Linuxでは動作せず)
7
Recommended are ...•File、JDBC、LDAPがお勧め…設定項目は多いがミスをしづらい
•PAM、Solarisは設定こそ簡単だが環境に依存する
•カスタム(JAAS)は推奨しない
8
User-Role Mapping is ...Authentication
(atn / 認証) ユーザー単位、サーバーで実施
Authorization (atz / 認可 ロール単位、アプリケーションで実施
認証したユーザーと、アプリケーション側のロールを対応づける仕組みが必要
9
How to map users/roles•ユーザーとロールのマッピング→ sun-web.xml (glassfish-web.xml)
• WebLogic → weblogic.xml
• JBoss → jboss-web.xml
•でも、せっかくweb.xmlが要らなくなったのに、面倒じゃない?
10
11
Default role mapping is...•GlassFish側の事前設定だけで、認証したユーザー/グループを直接ロールにマッピング
•グループ名 = ロール名が前提•サーバー全体に適用される•設定変更後にデプロイしたアプリケーションから有効
12
More information ...•ブログ連動企画
k.hasunuma’s programming studiohttp://www.coppermine.jp/documents/programming/
• 他の勉強会(WebLogic Server勉強会など)でも似たテーマはよく出されるので、それを参考にするのもよい※ただし、GlassFishとの相違点にはくれぐれも注意
• 上記ブログ記事執筆にあたり、@yumix_h さんにレビューと補足記事の投稿を含めてご協力を頂きました。この場を借りて御礼申し上げます。
13