Web アプリケーションセキュリティの概要

サーブレット API 仕様では、Web アプリケーションのセキュリティ問題が重視され、宣言セキュリティとプログラムセキュリティを実装するメソッドが定義されます。J2EE は、JAAS (Java Authentication and Authorization Service:Java 認証承認サービス)、Java セキュリティマネージャ、およびポリシーファイルを使用して、ユーザーのアクセスコントロールを強化して Web サーバロールに関連付けます。

安全な Web アプリケーションを効果的に実装するには、次の概念を理解する必要があります。

J2EE セキュリティロール

システム内の認証と承認を処理するために、J2EE セキュリティは複数の領域を網羅しています。各領域は、組織内でそれぞれ異なる担当者によって処理されます。次の表で、各セキュリティタスクと、そのタスクを実装する担当者について説明します。
タスク
担当者
説明
ロールの解決と
宣言セキュリティ
アプリケーションのアセンブル
担当者
プログラマーが定義するロールを解決して
システムロールにリンクします。また、アプリケーションのアセンブル担当者は、Web デプロイメントディスクリプタと EJB デプロイメントディスクリプタで宣言セキュリティを指定します。
ロールの定義と
プログラム
セキュリティ
アプリケーション開発者
Web アプリケーションや EJB レベルで適用されるロールを定義します。アプリケーション開発者は、アプリケーションのリクエストに基づいて、プログラムセキュリティをオプションで実装できます。
クライアントの
コーディング
アプリケーション開発者
Web アプリケーションと EJB クライアントが必要な証明 (通常はユーザー ID とパスワード) を適切な時間に渡すことができるようにします。Web アプリケーションクライアントによって、ユーザー ID とパスワードを要求するプロンプトが表示されます。EJB クライアントは、呼び出し側の Web アプリケーションコンポーネントからの証明を使用するか、ユーザー ID とパスワードをプロパティとして InitialContext コンストラクタに渡します。JMS クライアントは、jrun-resources.xml ファイル内でユーザー ID とパスワードを指定できます。
セキュリティ
アーキテクチャとユーザーストア管理
システム管理者
ユーザーストアを管理し、グローバルロールの定義を指定し、サイト特有のセキュリティ環境に対応するように JRun セキュリティをカスタマイズします。

管理者が行うタスクとセキュリティ管理に関するその他のトピックについては、『JRun 管理者ガイド』を参照してください。デプロイメントディスクリプタについては、『JRun アセンブルとデプロイガイド』を参照してください。