はじめに

このドキュメントでは、WebLogic Serverのセキュリティ・プログラミング機能の使用方法を説明します。

対象読者

このドキュメントは、以下の読者を対象としています。

  • アプリケーション開発者

    クライアント・アプリケーションの開発と、WebアプリケーションおよびEnterprise JavaBeans (EJB)へのセキュリティ機能の付加を主な業務とするJavaプログラマです。他のエンジニアリング・チームや品質保証(QA)チーム、データベース・チームと連携して、セキュリティ機能を実装します。アプリケーション開発者は、Java(サーブレットやJSPなどのJava Platform, Enterprise Edition (Java EE)コンポーネントとJSEE)、およびJavaセキュリティについて実用的かつ深い知識を備えています。

    アプリケーション開発者は、WebLogicセキュリティとJavaセキュリティ・アプリケーション・プログラミング・インタフェース(API)を使用してアプリケーションのセキュリティを確保します。したがって、このドキュメントはWebアプリケーション、Javaアプリケーション、およびEnterprise JavaBeans (EJB)のセキュリティを確保するためにそれらのAPIを使用する手順を紹介します。

  • セキュリティ開発者

    WebLogic Serverに統合されるセキュリティ製品のシステム・アーキテクチャとインフラストラクチャの定義と、WebLogic Serverで使用するカスタム・セキュリティ・プロバイダの開発を主な業務とする開発者です。アプリケーション設計者と連携して、セキュリティ・アーキテクチャを、確実に設計に従ってセキュリティ・ホールが発生しないように実装します。また、セキュリティが確実に正しく構成されるよう、WebLogic Serverの管理者とも連携します。セキュリティ開発者は、認証、認可、監査(AAA)、Java Management eXtension (JMX)などのJavaに対する深い知識、およびWebLogic Serverとセキュリティ・プロバイダの機能に対する実践的な知識をはじめとしたセキュリティ概念をしっかりと理解しています。

    セキュリティ・ベンダーは、セキュリティ・サービス・プロバイダ・インタフェース(SSPI)を使用してWebLogic Serverで使用するカスタム・セキュリティ・プロバイダを開発します。このタスクについてはこのドキュメントで扱いません。SSPIを使用してカスタム・セキュリティ・プロバイダを開発する方法の詳細は、Oracle WebLogic Serverセキュリティ・プロバイダの開発開発プロセスの概要を参照してください。

  • サーバー管理者

    アプリケーション設計者と密接に連携しながら、サーバーおよびサーバー上で動作するアプリケーションのセキュリティ方式の設計、潜在的なセキュリティ・リスクの特定、およびセキュリティ上の問題を防止する構成の提案を行う管理者です。関連する責務として、重要な本番システムの保守、セキュリティ・レルムの構成と管理、サーバー・リソースとアプリケーション・リソースへの認証および認可方式の実装、セキュリティ機能のアップグレード、およびセキュリティ・プロバイダのデータベースの保守などが含まれる場合もあります。WebLogic Serverの管理者は、WebアプリケーションとEJBのセキュリティ、公開キー・セキュリティ、およびSSLを含む、Javaセキュリティ・アーキテクチャについて深い知識を備えています。

  • アプリケーション管理者

    アプリケーション管理者は、WebLogic Serverの管理者と連携してセキュリティ構成、認証および認可方式を実装および管理したり、定義されたセキュリティ・レルムでデプロイされたアプリケーション・リソースへのアクセスを設定および管理したりします。アプリケーション管理者は、セキュリティの概念やJavaセキュリティ・アーキテクチャの一般的な知識を備えています。また、Java、XML、デプロイメント記述子を理解し、サーバー・ログおよび監査ログでセキュリティ・イベントを特定できます。

    管理者は通常、アプリケーションを本番環境に移行する際に、WebLogicリモート・コンソールを使用してアプリケーションをデプロイ、構成、および管理しますが、アプリケーション開発者も、本番環境に移行する前にWebLogicリモート・コンソールを使用してアプリケーションをテストすることがあります。アプリケーションをテストするときには、最低でも、アプリケーションがデプロイされて構成されている必要があります。このドキュメントでは、セキュリティに関連する管理のいくつかの側面を取り上げていません。WebLogicリモート・コンソールを使用してセキュリティ・タスクを実行する方法については、Oracle WebLogic Serverセキュリティの管理Oracle WebLogic Serverロールおよびポリシーによるリソースの保護およびOracle WebLogicリモート・コンソール・オンライン・ヘルプを参照してください。

ドキュメントのアクセシビリティについて

オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。

関連情報

WebLogicセキュリティ・サービスによるアプリケーションの開発のこのドキュメントに加えて、WebLogicセキュリティ・サービスに関する情報が次のドキュメントに記載されています。

セキュリティのサンプルとチュートリアル

「関連情報」に示したドキュメントの他にも、様々なコード・サンプルが開発者向けに用意されています。

WebLogic Server配布キットのセキュリティ・サンプル

WebLogic Serverでは、必要に応じてEXAMPLES_HOME\src\examplesディレクトリにあるAPIサンプル・コードをインストールできます。EXAMPLES_HOMEは、WebLogic Serverのサンプル・コードが構成されているディレクトリです。デフォルトでは、このディレクトリはORACLE_HOME\wlserver\samples\serverです。WebLogic Serverサンプル・コードの詳細は、Oracle WebLogic Serverの理解サンプル・アプリケーションおよびサンプル・コードを参照してください。

WebLogicのセキュリティ機能については、次のサンプルを参照してください。

  • Java認証および認可サービス

  • Web SSOシナリオ用のSAML 2.0

  • 発信および双方向SSL

インストールされたWebLogic Serverには、Java EE Security API (JSR 375)で提供される組込みデータベース・アイデンティティ・ストア機能の使用方法を示すサンプルも含まれています。このサンプルは、EXAMPLES_HOME\examples\src\examples\javaee8\securityディレクトリにあります。

このドキュメント内のセキュリティ・タスクおよびサンプル・コードでは、カスタム・セキュリティ・プロバイダではなく、WebLogic Server配布キットのWebLogicセキュリティ・プロバイダを使用することを前提にしています。カスタム・セキュリティ・プロバイダを使用する場合、WebLogicセキュリティAPIの使い方は同じですが、カスタム・セキュリティ・プロバイダの管理手順が異なります。

ノート:

このドキュメントでは、WebLogicセキュリティ・プロバイダまたはカスタム・セキュリティ・プロバイダの構成方法について幅広く説明してはいません。WebLogicセキュリティ・プロバイダとカスタム・セキュリティ・プロバイダの構成の詳細は、Oracle WebLogic Serverのセキュリティの管理セキュリティ・プロバイダの構成を参照してください。

WebLogic Serverの新機能および変更された機能

このリリースで導入されたWebLogic Serverの新機能の一覧については、『Oracle WebLogic Serverの新機能』を参照してください。

表記規則

このドキュメントでは、次のテキスト表記規則が使用されます:

規則 意味

boldface

太字体は、アクションに関連付けられたグラフィカル・ユーザー・インタフェース要素や、本文または用語集で定義されている用語を示します。

italic

イタリック体は、ブック・タイトル、強調、またはユーザーが特定の値を指定するプレースホルダー変数を示します。

monospace

等幅体は、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、またはユーザーが入力するテキストを示します。