セキュリティー

Liberty セキュリティーは、Servlet 3.0 仕様に従って Web リソースの保護を提供し、ejbLite 3.1 仕様に従って EJB リソースの保護を提供します。さらに、Liberty セキュリティーは、REST コネクターを使用している時に JMX 接続の保護も提供します。

次の図は、保護された Web リソースにアクセスする際の標準的なセキュリティー・プロセスを示しています。 セキュリティー・プロセスが機能するようにするためには、 適切なセキュリティー・フィーチャーを構成し、認証と許可に必要な構成を設定する必要があります。

図 1. Web リソースの標準的なセキュリティー・フロー
WebSecurity コラボレーターは、認証サービスと許可サービスを使用して、Web コンテナー内の Web リソースへのアクセスの認証と許可を行います。
  1. HTTP クライアントが、WebContainer 内の Web リソースを要求します。
  2. WebContainer は、WebSecurity コラボレーターにセキュリティー検査を委任します。
  3. WebSecurity コラボレーターは、クレデンシャルの入力をユーザーに求め (クレデンシャルがない場合)、 認証サービスを使用してユーザーを認証します。
  4. 認証サービスは認証を行い、成功すると、サブジェクトを作成して返します。 成功しなかった場合、認証サービスは認証失敗の例外を報告します。
  5. WebSecurity コラボレーターは、許可サービスを使用してユーザー許可検査を実行します。
  6. 許可サービスは、許可の結果を WebSecurity コラボレーターに返します。
  7. WebSecurity コラボレーターは、ユーザーが許可されているかどうかに関するセキュリティー検査の結果を返します。
  8. WebContainer は、要求されたリソースを処理するか、拒否します。

クイック・スタート

quickStartSecurity エレメントを使用して、Liberty で単一ユーザーのセキュリティー環境を構成できます。quickStartSecurity エレメントを使用した場合のセキュリティー・ワークフローの詳細については『セキュリティーの簡単な概要』を、 サンプルのタスクについては『Liberty でのセキュリティー入門』を参照してください。

認証

認証により、ユーザーの ID が確認されます。最も一般的な認証の形式は、Web アプリケーションの基本認証やフォーム・ログインを使用した場合などの、ユーザー名とパスワードです。 ユーザーが認証されると、要求元は、実行時に Subject オブジェクトとして表されます。 このプロセスでは、ユーザーがリソースにアクセスする際に、リソースに構成された許可ルールに基づいてアクセス制御検査を実行します。 さらに詳しい概念については『認証』を、 詳細なタスクについては『Liberty でのユーザーの認証』を参照してください。

許可

許可は、システム内のリソースへのアクセスをユーザーに認可するかどうかを決定します。 Java™ EE モデルでは、サブジェクト、リソース、およびロールを使用して、許可できる内容および許可できない内容を決定します。 このプロセスでは、ユーザー・クレデンシャル (ユーザー ID とパスワード、証明書、トークンなど) を検査し、認証済みユーザーに基づいてサブジェクトを作成します。 さらに詳しい概念については『許可』を、 詳細なタスクについては『Liberty でのリソースへのアクセスの許可』を参照してください。

Secure Socket Layer (SSL)

SSL は、トランスポート・レベルのセキュリティーを提供します。 詳細なタスクについては、『Liberty での SSL 通信の使用可能化』を参照してください。

シングル・サインオン (SSO)

SSO により、 ユーザーが何度もログインを求められずにアプリケーションにアクセスできるようになります。詳細については『SSO の概念』を、 詳細なタスクについては『Liberty での LTPA Cookie を使用した SSO 構成のカスタマイズ』を参照してください。

Web セキュリティー関連のプロパティー

SSO やアプリケーションのクライアント証明書認証など、Web セキュリティーの一環として構成可能な構成プロパティーは多くあります。使用可能な属性については、Liberty での LTPA Cookie を使用した SSO 構成のカスタマイズおよび『Web Service Security』を参照してください。例については、Liberty での Web セキュリティー関連プロパティーの構成を参照してください。

セキュリティー・パブリック API

Liberty には、セキュリティー機能の実装に使用できるパブリック API が含まれています。Liberty のセキュリティー・パブリック API は、WebSphere® Application Server traditionalのセキュリティー・パブリック API のサブセットです。主なクラスは WSSecurityHelperWSSubject、および RegistryHelper です。これらのクラスには、WebSphere Application Server traditional の各バージョンで使用可能なメソッドのサブセットが含まれています。また、新しいクラス WebSecurityHelper もあります。Liberty のセキュリティー・パブリック API』を参照してください。

各 Liberty API の Java API 文書は、オンライン IBM® Knowledge Center のプログラミング・インターフェース (Javadoc) のセクションに詳述されていて、${wlp.install.dir}/dev ディレクトリーのいずれかの javadoc サブディレクトリー内の個別 .zip ファイル内にもあります。

例については『Liberty セキュリティー・インフラストラクチャーに対する拡張の開発』を参照してください。

管理セキュリティー

管理セキュリティーとは、リモート JMX クライアントを使用して Liberty を管理できることを意味します。REST コネクターを使用してリモート接続を保護するには、『JMX を使用した Liberty への接続』を参照してください。 また、『Liberty の JMX Java クライアントの開発』に説明されているように、独自の JMX クライアント・アプリケーションを開発することもできます。

認証別名

認証データ別名は、データベース接続のセキュリティー・サポートを提供します。Liberty の認証別名の構成を参照してください。

構成の例とサンプル

Liberty でアプリケーションのセキュリティーを構成する際に参照できるよう、WASdev.net Web サイトにいくつかのセキュリティー構成例があります。

セキュリティーの互換性と相違点

WebSphere Application Server traditionalLiberty でのセキュリティー機能における主な相違点を把握することができます。WebSphere Application Server traditional と Liberty のセキュリティー構成の相違点を参照してください。

Lightweight Directory Access Protocol (LDAP) の構成

サーバー構成に追加する LDAP ユーザー・レジストリー項目を選択すると、「LDAP ユーザー・レジストリーの詳細」パネルにサポートされる LDAP サーバー・タイプのリストが表示されます。サポートされる LDAP サーバー・タイプを選択した場合、選択した LDAP サーバー・タイプに関連付けられた LDAP フィルターは自動的には定義されません。

サポートされる LDAP サーバー・タイプにはそれぞれ、定義済みフィルターのデフォルト・セットがあります。「LDAP ユーザー・レジストリー」項目とサーバー・タイプを追加した後で、「LDAP ユーザー・レジストリー」構成を選択し、必要な LDAP フィルターを追加することで、関連する LDAP フィルターを構成できます。
  • Active Directory LDAP フィルター
  • カスタム LDAP フィルター
  • Domino® LDAP フィルター
  • eDirectory LDAP フィルター
  • IBM Directory Server LDAP フィルター
  • iPlanet LDAP フィルター
  • Netscape LDAP フィルター
  • SecureWay LDAP フィルター
いずれかの LDAP フィルターを選択すると、フィルター・タイプのデフォルト値が表示されます。
  • ユーザー・フィルター
  • グループ・フィルター
  • ユーザー ID マップ
  • グループ ID マップ
  • グループ・メンバー ID マップ
デフォルト・フィルターが使用された場合、server.xml ファイルのフィルター情報は更新されません。いずれかのフィルターが変更された場合、変更されたフィルター・タイプのみが server.xml 内で更新されます。
注: 参照 ID を指定しなかったり、「参照」ボタンを使用して選択しなかった場合は、選択された LDAP サーバー・タイプに関連付けられたデフォルトのフィルターが使用されます。

あるいは、サーバー構成に LDAP フィルターを追加することができます。この特定のフィルター構成を LDAP ユーザー・レジストリー構成と関連付けるために、この特定のフィルター構成への参照を関連付けるための ID を指定する必要があります。この方式を使用して LDAP フィルターを構成する場合、「LDAP ユーザー・レジストリーの詳細」パネルで参照 ID を選択することになります (該当する LDAP フィルター・タイプの下にある「参照」ボタンを使用して見つけます)。

Eclipse ベースの開発者用ツールを使用して LDAP を構成している場合は、保存する構成を wlp/templates/config/ldapRegistry.xml にあるサンプルに照らして検証してください。

詳しくは、『Liberty での LDAP ユーザー・レジストリーの構成』を参照してください。

トラブルシューティング

トラブルシューティング情報を使用して、Liberty の使用時におけるセキュリティー関連の問題を解決します。セキュリティーのトラブルシューティングおよびLDAP のトラブルシューティングを参照してください。

For distributed platforms

ツール

Liberty 用の Eclipse ベースの開発者ツールを使用してセキュリティーを構成します。開発者ツールを使用した Liberty 構成の編集を参照してください。『開発者ツールを使用した Liberty での TAI の構成』と『開発者ツールを使用した Liberty での JAAS の構成』に、ツールとセキュリティー構成の詳細情報があります。


トピックのタイプを示すアイコン 概念トピック

ファイル名: cwlp_sec.html