WebLogic Security の紹介
WebLogic Security サービスの概要
BEA WebLogic ServerTM マニュアル セットに収められている他のセキュリティ関連マニュアルでは特定の作業 (たとえば、WebLogic® セキュリティのプログラミング、カスタム セキュリティ プロバイダの開発、WebLogic Security サービスの管理など) の手順をユーザに説明しているのに対して、この入門編は WebLogic Security サービスのすべてのユーザを対象としています。そのため、このマニュアルは WebLogic Security サービスを理解する上で基本となるものです。
注意 : WebLogic® Security サービスには、固有の用語が多数あります。「用語」で用語を理解してから、このマニュアルをお読みください。
以下の各節では、WebLogic Security サービスとその特徴を紹介します。
このガイドの対象読者
このマニュアルは、以下の読者を対象としています。
アプリケーション設計者 - セキュリティの目標を設定し、組織の全体的なセキュリティ アーキテクチャを設計するだけでなく、WebLogic Server のセキュリティ機能を評価して最適な実装方法を判断する設計者のことです。アプリケーション設計者は、セキュリティ システムや最先端のセキュリティ技術とツールだけでなく、Java プログラミング、Java セキュリティ、およびネットワーク セキュリティにも精通しています。
セキュリティ開発者 - WebLogic Server に統合されるセキュリティ製品のシステム アーキテクチャとインフラストラクチャの定義と、WebLogic Server で使用するカスタム セキュリティ プロバイダの開発を主な業務とする開発者のことです。アプリケーション設計者と連携して、セキュリティ アーキテクチャを確実に設計に従って、セキュリティ ホールが発生しないように実装します。また、セキュリティが確実に正しくコンフィグレーションされるよう、サーバ管理者とも連携します。セキュリティ開発者は、認証、認可、監査 (AAA)、Java Management eXtension (JMX) などの Java に対する深い知識、および WebLogic Server とセキュリティ プロバイダの機能に対する実践的な知識をはじめとしたセキュリティ概念をしっかりと理解しています。
アプリケーション開発者 - クライアント アプリケーションの開発、Web アプリケーションおよびエンタープライズ JavaBean (EJB) へのセキュリティ機能の付加、および他のエンジニアリング チーム、品質保証 (QA) チーム、データベース チームとの連携によるセキュリティ機能の実装などを主な業務とする Java プログラマのことです。アプリケーション開発者は、サーブレット、JSP、JSEE などの J2EE コンポーネントを含む Java、および Java セキュリティについて実用的かつ深い知識を備えています。
サーバ管理者 - アプリケーション設計者と密接に連携しながら、サーバおよびサーバ上で動作するアプリケーションのセキュリティ方式の設計、潜在的なセキュリティ リスクの特定、およびセキュリティ上の問題を防止するコンフィグレーションの提案を行います。関連する責務として、重要なプロダクション システムの保守、セキュリティ レルムのコンフィグレーションと管理、サーバ リソースとアプリケーション リソースへの認証および認可方式の実装、セキュリティ機能のアップグレード、およびセキュリティ プロバイダのデータベースの保守などが含まれる場合もあります。サーバ管理者は、Web アプリケーションと EJB のセキュリティ、公開鍵セキュリティ、および SSL を含む、Java セキュリティ アーキテクチャについて深い知識を備えています。
アプリケーション管理者 - サーバ管理者と共同でセキュリティ コンフィグレーション、認証および認可方式を実装および管理したり、定義されたセキュリティ レルムでデプロイされたアプリケーション リソースへのアクセスを設定および管理したりします。アプリケーション管理者は、セキュリティの概念や Java セキュリティ アーキテクチャの一般的な知識を持っています。アプリケーション管理者は、Java、XML、デプロイメント記述子を理解し、サーバ ログおよび監査ログでセキュリティ イベントを特定できます。
WebLogic Security サービスの概要
セキュリティのデプロイメント、管理、および保守は、Web を使用する顧客に対して新しいさまざまなサービスを提供している IT (情報技術) 企業にとって大きな課題です。IT 企業は、Web ベースのユーザに世界規模のネットワークを提供できるよう、システムとそのデータの機密性、整合性、および可用性の保持という基本的な問題に取り組まなければなりません。セキュリティに対する取り組みは、ネットワーク自体から個々のクライアント マシンに至るまで、システムのすべてのコンポーネントに関係します。インフラストラクチャ全体のセキュリティの実現は、確立されたセキュリティ ポリシーと周知徹底された手順に加え、不断の警戒が要求される大変な作業です。
WebLogic Server バージョン 7.0 以降では、セキュリティ アーキテクチャが全面的に設計し直されており、Web を介して使用できるアプリケーション用にユニークでセキュアな基盤が用意されています。企業は、WebLogic Server の新しいセキュリティ機能を利用することで、Web 上で使用できるアプリケーションの作成というセキュリティ課題に対処できるように設計された、包括的で柔軟性の高いセキュリティ インフラストラクチャのメリットを得ることができます。WebLogic セキュリティは、WebLogic Server アプリケーションを保護するためにスタンドアロンで使用することも、最高レベルのセキュリティ管理ソリューションを表す企業全体のセキュリティ管理システムの一部として使用することもできます。
WebLogic Security サービスの特徴
WebLogic Server のセキュリティ アーキテクチャはオープンで柔軟性が高いため、すべてのレベルのユーザが利点を生かすことができ、アプリケーション サーバに対して高度なセキュリティ設計を導入できます。アプリケーション サーバのユニークなセキュリティ ソリューション、および明確なセキュリティ ポリシーと文書で確立された手順を有している企業であれば、サーバとそのデータの機密性、整合性、および可用性を確保できます。
新しい WebLogic Security サービスの主な特長は、以下のとおりです。
包括的な標準ベースの設計。
メインフレームから Web ブラウザまでを網羅する、WebLogic Server をホストとしたアプリケーション向けのエンドツーエンド セキュリティ。
レガシー セキュリティ方式を WebLogic Server セキュリティに統合することによって、企業の既存投資を活用できる。
融通性の高い統一されたシステムに組み込まれ、企業全体にわたるセキュリティ管理を容易化するセキュリティ ツール。
企業のビジネス ルールをセキュリティ ポリシーにマッピングするため、ビジネス要件に対するアプリケーション セキュリティのカスタマイズが容易である。
セキュリティ ポリシーの更新が容易。
カスタマイズされたセキュリティ ソリューションへの適合が容易である。
モジュール化されたアーキテクチャなので、特定の企業の要件を満たすようにセキュリティ インフラストラクチャを時間を追って変更できる。
遷移方式またはアップグレード パスの一部として、複数のセキュリティ プロバイダのコンフィグレーションをサポート。
セキュリティの詳細とアプリケーション インフラストラクチャを分離することにより、要件の変化に合わせたセキュリティのデプロイ、管理、維持、および修正を容易化。
そのまま使用できる実践的セキュリティ方式を提供する、デフォルトの WebLogic セキュリティ プロバイダ。
WebLogic カスタム セキュリティ プロバイダを使用してのカスタマイズ。
WebLogic Server Administration Console を使用して、セキュリティ ルール、セキュリティ ポリシー、およびセキュリティ プロバイダを統一して管理できる。
JAAS (Java Authentication and Authorization Service)、JSSE (Java Secure Socket Extension)、JCE (Java Crytography Extension) などの標準の J2EE セキュリティ技術をサポートしている。
使いやすさとカスタマイズしやすさの両立
WebLogic Security サービスのコンポーネントおよびサービスでは、エンド ユーザと管理者による使いやすさと管理しやすさ、およびアプリケーション開発者とセキュリティ開発者によるカスタマイズしやすさの両立が求められます。以下の節で、いくつか例を示します。
使いやすさ : セキュアな WebLogic Server 環境では、エンド ユーザに対して、ユーザ認証用のシングル サインオン (ユーザ ID の確認) のみを要求します。ユーザは、アプリケーションのリソースを含む WebLogic Server ドメイン内では再認証の必要はありません。シングル サインオンを利用すれば、ユーザはセッションごとに 1 回だけドメインにログオンすればよくなり、各リソースやアプリケーションにアクセスしようとするたびに個別にログオンを要求されることはなくなります。
開発者や管理者に対しては、新しくドメイン コンフィグレーション ウィザードが用意されています。ドメイン コンフィグレーション ウィザードは、管理サーバ、管理対象サーバ、および必要に応じてクラスタを含む新しいドメインの作成と、個々のサーバを追加することによる既存のドメインの拡張を支援します。ドメイン コンフィグレーション ウィザードは、config.xml
ファイルと新しいドメインに追加するよう選択したサーバの起動スクリプトも自動的に生成します。
管理しやすさ : WebLogic Server 環境でアプリケーションをコンフィグレーションおよびデプロイする管理者は、製品に付属している WebLogic セキュリティ プロバイダを使用できます。これらのデフォルトのプロバイダは、そのままの状態で、必要なすべてのセキュリティ機能をサポートしています。管理者は、WebLogic Server に用意されているセキュリティ ストア (特殊用途の組み込み LDAP ディレクトリ サーバ) にセキュリティ データを保存できます。WebLogic Server のセキュリティのコンフィグレーションと管理を簡素化するために、堅牢なデフォルトのセキュリティ コンフィグレーションが用意されています。
カスタマイズしやすさ : アプリケーション開発者に対しては、WebLogic セキュリティ API と、JAAS (Java Authentication and Authorization Service)、JSSE (Java Secure Socket Extension) などの J2EE セキュリティ標準がサポートされています。これらの API と標準を使用して、WebLogic Server に接続するアプリケーションに対して、きめ細かい、カスタマイズされたセキュリティ環境を作成できます。
セキュリティ開発者は、セキュリティ サービス プロバイダ インタフェース (SSPI) を使用して、WebLogic Server 環境向けのカスタム セキュリティ プロバイダを開発できます。
WebLogic Security の変更点
WebLogic Server 6.x で提供されていたセキュリティに関しては、多くのセキュリティ機能が変更になりました。
表 1-1 に、それらの相違点をまとめておきます。
表 1-1 WebLogic Security 機能の変更点
WebLogic Server 6.x
|
WebLogic Server 8.1
|
セキュリティ API
|
既存のセキュリティ API の多くが、このリリースでは推奨されない。BEA では、それらに相当する J2EE 標準インタフェースを使用して同様の機能をアプリケーションに実装することをお勧めする。
非推奨 API の詳細なリストについては、『WebLogic Security プログラマーズ ガイド』の「セキュリティ API」を参照。
|
JAAS 認証
|
JAAS 認証は機能拡張され、IIOP および T3 の各クライアント用の LoginModule が用意されている。
|
監査
|
WebLogic Server デプロイメントに監査機能を追加するのに、weblogic.security.Audit インタフェースの実装を作成する必要はなくなった。製品に付属している WebLogic 監査プロバイダを利用すれば、記録したいデータをカスタマイズすることができる。
|
weblogic.xml 、weblogic-ejb-jar.xml 、および weblogic-ra.xml ファイルでのセキュリティ要件の定義
|
機能拡張が施され、セキュリティ要件が WebLogic Server Administration Console からでも指定できるようになった。
|
システム パスワード
|
このリリースの WebLogic Server には特定の system アカウントは存在しない。
|
アクセス制御リスト (ACL)
|
WebLogic Server 7.0 より前のリリースで使用されていた ACL はこのリリースでは推奨されない。WebLogic Server 7.0 から ACL に代わってセキュリティ ポリシーが使用されるようになった。
|
ユーザとグループ
|
ユーザおよびグループは依然として使用される。ただし、リソースに ACL を割り当てるのではなく、ユーザ、グループ、あるいはセキュリティ ロールに WebLogic リソースへのアクセスを許可するセキュリティ ポリシーを作成するようになった。
|
6.x セキュリティ レルム (ファイル レルム、キャッシング レルム、LDAP レルム、Windows NT レルム、UNIX レルム、および RDBMS レルム)
|
WebLogic Server 7.0 より前のリリースで使用されていたセキュリティ レルムはこのリリースでは非推奨。WebLogic 認証および認可プロバイダが、ファイル レルム、キャッシング レルム、および LDAP セキュリティ レルムで提供されるのと同じ機能を提供する。
レルム アダプタ プロバイダを利用すれば、認証/認可の新しいスキーマに移行する際に、既存の Windows NT、UNIX、および RDBMS セキュリティ レルムを引き続き使用できるようになる。
|
この機能は、WebLogic Server 7.0 より前のリリースでは利用できない。
|
複数のセキュリティ プロバイダのサポート
|
SSL
|
WebLogic Server における SSL のサポートが更新され、JSSE 標準と TLS (Transport Layer Security) v1 プロトコルが提供されている。
|
この機能は、WebLogic Server 7.0 より前のリリースでは利用できない。
|
J2EE Java キーストア (JKS) のサポート
|