BEA ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > WebLogic Server > WebLogic Security プログラマーズ ガイド > WebLogic Security のプログラミングの概要 |
WebLogic Security プログラマーズ ガイド
|
クライアント アプリケーションの開発と、Web アプリケーションおよびエンタープライズ JavaBean (EJB) へのセキュリティ機能の付加を主な業務とする Java プログラマのことです。他のエンジニアリング チームや品質保証 (QA) チーム、データベース チームと連携して、セキュリティ機能を実装します。アプリケーション開発者は、サーブレット、JSP、JSEE などの J2EE コンポーネントを含む Java、および Java セキュリティについて実用的かつ深い知識を備えています。
アプリケーション開発者は、WebLogic.Security と Java 2 セキュリティ アプリケーション プログラミング インタフェース (API) を使用してアプリケーションのセキュリティを確保します。したがって、このマニュアルは Web アプリケーション、Java アプリケーション、およびエンタープライズ JavaBeans (EJB) のセキュリティを確保するためにそれらの API を使用する手順を紹介します。
WebLogic Server に統合されるセキュリティ製品のシステム アーキテクチャとインフラストラクチャの定義と、WebLogic Server で使用するカスタム セキュリティ プロバイダの開発を主な業務とする開発者のことです。アプリケーション設計者と連携して、セキュリティ アーキテクチャを確実に設計に従って、セキュリティ ホールが発生しないように実装します。また、セキュリティが確実に正しくコンフィグレーションされるよう、サーバ管理者とも連携します。セキュリティ開発者は、認証、認可、監査 (AAA)、Java Management eXtension (JMX) などの Java に対する深い知識、および WebLogic Server とセキュリティ プロバイダの機能に対する実践的な知識をはじめとしたセキュリティ概念をしっかりと理解しています。
セキュリティ開発者は、セキュリティ サービス プロバイダ インタフェース (SSPI) を使用して WebLogic Server で使用するカスタム セキュリティ プロバイダを開発します。しかし、このマニュアルではこのタスクについては扱いません。SSPI を使用してカスタム セキュリティ プロバイダを開発する方法については、『WebLogic Security サービスの開発』を参照してください。
アプリケーション設計者と密接に連携しながら、サーバおよびサーバ上で動作するアプリケーションのセキュリティ方式の設計、潜在的なセキュリティ リスクの特定、およびセキュリティ上の問題を防止するコンフィグレーションの提案を行う管理者のことです。関連する責務として、重要なプロダクション システムの保守、セキュリティ レルムのコンフィグレーションと管理、サーバ リソースとアプリケーション リソースへの認証および認可方式の実装、セキュリティ機能のアップグレード、およびセキュリティ プロバイダのデータベースの保守などが含まれる場合もあります。サーバ管理者は、Web アプリケーションと EJB のセキュリティ、公開鍵セキュリティ、および SSL を含む、Java セキュリティ アーキテクチャについて深い知識を備えています。
サーバ管理者と共同でセキュリティ コンフィグレーション、認証および認可方式を実装および管理したり、定義されたセキュリティ レルムでデプロイされているアプリケーション リソースへのアクセスを設定および管理したりする管理者のことです。アプリケーション管理者は、セキュリティの概念や Java セキュリティ アーキテクチャの一般的な知識を持っています。アプリケーション管理者は、Java、XML、デプロイメント記述子を理解し、サーバ ログおよび監査ログでセキュリティ イベントを特定できます。
管理者は通常、アプリケーションを実際に稼働させるときに、Administration Console を使用してアプリケーションのデプロイ、コンフィグレーション、および管理を行いますが、アプリケーション開発者も Administration Console を使用して実際の稼働前にアプリケーションをテストする場合があります。アプリケーションをテストするときには、最低でも、アプリケーションがデプロイされてコンフィグレーションされている必要があります。 このマニュアルではセキュリティに関連している場合は管理の側面にも言及しますが、Administration Console を使用してセキュリティ タスクを行う方法の説明については『WebLogic Security の管理』、『WebLogic リソースのセキュリティ』、dministration Console オンライン ヘルプなどのマニュアルを参照先として示します。
注意: このマニュアルでは、WebLogic セキュリティ プロバイダとカスタム セキュリティ プロバイダのコンフィグレーション方法については説明していません。WebLogic セキュリティ プロバイダとカスタム セキュリティ プロバイダのコンフィグレーションの詳細については、『WebLogic Security の管理』を参照してください。
注意: このマニュアルは、WebLogic Server で使用するカスタム セキュリティ プロバイダを記述しようと考えている開発者向けではありません。カスタム セキュリティ プロバイダの記述方法については説明していません。カスタム セキュリティ プロバイダの開発方法については、『WebLogic Security サービスの開発』を参照してください。
セキュリティとは、コンピュータに保存されているデータまたはコンピュータ間でやりとりされるデータが危険にさらされないことを保証する技術です。ほとんどのセキュリティ対策は、証明データとデータ暗号化を利用します。一般に証明データは、ユーザに特定のアプリケーションまたはシステムへのアクセスを許可する秘密の単語または句です。 データ暗号化とは、その秘密の単語または句を保持しているか提供しなければ解釈できないような形式にデータを変換することです。
電子商取引 (e コマース) 向けアプリケーションなどの分散アプリケーションでは、悪意のある何者かがデータを横取りし、処理を混乱させ、不正な入力を行う起点となるような多数のアクセス ポイントが提供されます。ビジネスの分散化が進むにつれて、セキュリティが侵害される可能性も大きくなります。したがって、アプリケーションの分散に伴い、その基盤となる分散コンピューティング ソフトウェアによってセキュリティを実現することがますます重要になります。
アプリケーション サーバは、エンド ユーザと貴重なデータやリソースとの間の重要なレイヤに位置しています。WebLogic Server は、リソースの保護に関して認証および暗号化サービスを提供します。しかし、こうしたサービスでは、デプロイメント環境の弱点を見つけ出して悪用することでアクセスを取得した侵入者から、リソースを守ることはできません。
したがって、インターネットまたはイントラネット上で WebLogic Server をデプロイする場合には、独立したセキュリティ専門家に依頼して、セキュリティ プランと手順を検討してもらい、インストール済みシステムの監査を受け、改善点のアドバイスを受けるとよいでしょう。
セキュリティ問題と適切なセキュリティ対策についてできる限り知識を増やすことも重要です。 マニュアル『プロダクション環境のロックダウン』では、WebLogic Server をプロダクション環境にデプロイする前に検討すべき重要なセキュリティ対策について説明してあります。 マニュアル『WebLogic リソースのセキュリティ』は、さまざまなタイプの WebLogic リソースを紹介し、WebLogic Server を使用してそれらのリソースを保護するための情報を提供します。 Web サーバのセキュリティ対策の最新情報については、カーネギー メロン大学が運営する CERT (TM) Coordination Center が公開している「Security Improvement Modules, Security Practices, and Technical Implementations」にも目を通すことをお勧めします。
BEA の「security advisories」ページで推奨されている対策は是非、実行してください。BEA 製品に関して問題が発生した場合には、BEA から、その報告と適切な対策を示した指示が配信されます。サイトのセキュリティ問題を担当されている方は、今後、BEA からセキュリティ関連の問題の通知を受信できるよう、登録を行ってください。BEA では、BEA 製品に関するセキュリティ問題をご報告いただくための電子メール アドレス (security-report@bea.com) も用意しています。また、リリースされている各サービス パックの適用もお勧めします。サービス パックには、製品の各バージョンおよび以前にリリースされた各サービス パックのすべてのバグの修正が含まれています。
さらに、WebLogic Server のプロダクション環境の保護に役に立つ、パートナ製品もあります。 詳細については、BEA パートナのページを参照してください。
WebLogic Server でサポートされているセキュリティのタイプ
WebLogic Server は以下のセキュリティ メカニズムをサポートしています。
認証とは、呼び出し側とサービス プロバイダが、特定のユーザまたはシステムの代わりに動作していることを証明する際に使用するメカニズムのことです。 認証は、資格を使用して「あなたは誰」という問いに答えます。 証明が双方向で行われる場合、相互認証と呼ばれます。
WebLogic Server は、ユーザ名およびパスワードによる認証と証明書による認証をサポートしています。 WebLogic Server は、証明書認証について一方向と双方向の SSL 認証を両方ともサポートしています。 双方向の SSL 認証は、相互認証の一形態です。
WebLogic Server で、認証プロバイダはユーザまたはシステム プロセスの ID を証明するために使用します。 認証プロバイダでは、ID 情報を記憶したり、転送したり、その情報が必要な場合に (サブジェクトを通じて) システムのさまざまなコンポーネントで利用できるようにしたりします。 認証プロバイダは、Web アプリケーションおよび EJB デプロイメント記述子ファイル、または Administration Console、あるいはその両方を使用してコンフィグレーションできます。
認可とは、ユーザの ID などの情報に基づいて、ユーザと WebLogic リソースとのやり取りを管理するプロセスのことです。 言い換えれば、認可とは「自分は何にアクセスできますか」という質問に答えるものです。
WebLogic Server では、WebLogic 認可プロバイダはユーザと WebLogic リソースとの対話を制限して、整合性、機密性、および可用性を確保します。 認可プロバイダは、Web アプリケーションおよび EJB デプロイメント記述子ファイル、または Administration Console、あるいはその両方を使用してコンフィグレーションできます。
WebLogic Server では、プログラムによる認可 (このマニュアルではプログラムによるセキュリティともいう) を使用してユーザと WebLogic リソースとの対話を制限することもできます。
ユーザ認証とユーザ認可を実装および使用するために、BEA WebLogic Server では、Java 2 Platform、Enterprise Edition (J2EE) の SDK バージョン 1.3 のセキュリティ サービスが利用されます。 他の J2EE コンポーネントと同様、セキュリティ サービスも標準化されたモジュール コンポーネントに基づいています。 BEA WebLogic Server は、標準に従ってこれらの Java セキュリティ サービス メソッドを実装し、細かなアプリケーションの動作をプログラミングを必要とせずに自動的に処理する拡張を追加します。
ここでは、WebLogic Server が実装およびサポートしているセキュリティ関連のパッケージとクラスについて説明します。これらのパッケージを使用して、WebLogic Server と、クライアント アプリケーション、エンタープライズ JavaBeans (EJB)、および Web アプリケーションとの間の対話を保護します。
注意: WebLogic セキュリティ パッケージ、クラス、およびメソッドの中には、WebLogic Server のこのリリースでは非推奨となっているものがあります。 非推奨のパッケージおよびクラスの詳細については、非推奨のセキュリティ API.を参照してください。
JAAS 認証を使用するクライアント アプリケーションを作成するには、Java API および WebLogic API を使用します。
JAAS クライアント アプリケーションの作成には、以下の Java API を使用します。
これらの API を使用する方法については、JAAS 認証 APIを参照してください。
WebLogic JAAS クライアント アプリケーション API
JAAS クライアント アプリケーションの作成には、以下の WebLogic API を使用します。
これらの API を使用する方法については、JAAS 認証 APIを参照してください。
SSL 認証を使用するクライアント アプリケーションを作成するには、Java API および WebLogic API を使用します。
SSL クライアント アプリケーションの作成には、以下の Java API を使用します。
WebLogic Server はまた、javax.net.SSL API もサポートしていますが、WebLogic Server で SSL を使用する際には weblogic.security.SSL パッケージを使用することをお勧めします。
これらの API を使用する方法については、SSL 認証 APIを参照してください。
WebLogic SSL クライアント アプリケーション API
SSL クライアント アプリケーションの作成には、以下の WebLogic API を使用します。
これらの API を使用する方法については、SSL 認証 APIを参照してください。
さらに、以下の API が WebLogic Server アプリケーションの開発に使用されます。
この API はネットワーク接続フィルタの実装に使用されるインタフェースおよびクラスを提供します。ネットワーク接続フィルタは、ネットワーク接続を開始したクライアントの IP アドレス、ドメイン、またはプロトコルなどの属性を基に WebLogic Server への接続を許可または拒否します。この API の使い方の詳細については、ネットワーク接続フィルタの使い方を参照してください。
このパッケージはセキュリティ サービス プロバイダ インタフェース (SSPI) を提供します。 SSPI はカスタム セキュリティ プロバイダの開発に使用されるインタフェース、クラス、および例外を提供します。多くの場合、これらのインタフェース、クラス、および例外は、weblogic.security.service API のインタフェース、クラス、および例外と関連付けて使用します。 このパッケージのインタフェース、クラス、および例外を実装することで、セキュリティ プロバイダの実行時クラスを作成できます。 この SSPI の使い方の詳細については、『WebLogic Security サービスの開発』を参照してください。
この API は、サーブレット アプリケーション内からプログラムによる認証をサポートするサーバサイド API を備えています。この API の使い方の詳細については、プログラムによる認証 API の使用を参照してください。
Administration Console とセキュリティ
セキュリティに関して Web アプリケーション、EJB、J2EE コネクタ、およびエンタープライズ アプリケーションのデプロイメント記述子を定義および編集するには、Administration Console を使用できます。 このマニュアル (『WebLogic Security プログラマーズ ガイド』) では、Administration Console を使用したセキュリティのコンフィグレーション方法については説明しません。 Administration Console を使用してデプロイメント記述子を定義および編集する方法については、『WebLogic リソースのセキュリティ』および『WebLogic Security の管理』を参照してください。
マニュアル内のセキュリティ タスクおよびコード例では、カスタム セキュリティ プロバイダではなく、WebLogic Server 配布キットの WebLogic セキュリティ プロバイダを使用することを前提にしています。 カスタム セキュリティ プロバイダを使用する場合、WebLogic セキュリティ API の使い方は同じですが、カスタム セキュリティ プロバイダの管理手順が異なります。
注意: このマニュアルでは、WebLogic セキュリティ プロバイダまたはカスタム セキュリティ プロバイダの包括的なコンフィグレーション方法については説明していません。 WebLogic セキュリティ プロバイダとカスタム セキュリティ プロバイダのコンフィグレーションの詳細については、『WebLogic Security の管理』を参照してください。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |