ヘッダーをスキップ
Oracle Fusion Middlewareセキュリティ・ガイド
11gリリース1(11.1.1)
B56235-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

2 Oracle Platform Security Servicesの概要

Oracle Platform Security Services(OPSS)は、Oracle WebLogic Serverとともに使用することも、スタンドアロンで使用することもできるセキュリティ・プラットフォームです。この章では、次の各項でこのプラットフォームの主な機能を紹介します。

このドキュメントでは、Oracle Webサービスのセキュリティについては説明しません。詳細は、『Oracle Fusion Middleware Web Servicesセキュリティおよび管理者ガイド』を参照してください。

Oracle Fusion Middlewareのセキュリティの概要は、『Oracle Fusion Middlewareセキュリティ概要』を参照してください。

2.1 Oracle Platform Security Servicesとは

OPSSは、エンタープライズ製品開発チーム、システム・インテグレータおよび独立系ソフトウェア・ベンダー向けに、Java SEアプリケーションおよびJava EEアプリケーションで使用できる、標準に基づいた移植可能でエンタープライズ・レベルの統合セキュリティ・フレームワークを提供します。

また、基盤となるセキュリティ・プラットフォームとして、WebLogic Server、Server Oriented Architecture(SOA)アプリケーション、Oracle WebCenter、Oracle Application Development Framework(ADF)アプリケーション、Oracle Entitlement ServerなどのOracle Fusion Middlewareにセキュリティを提供します。OPSSは、サード・パーティのアプリケーション・サーバーに移植できるように設計されているので、OPSSを使用すれば1つのセキュリティ・フレームワークでOracle環境とサード・パーティ環境の両方に対応できます。これにより、アプリケーションの開発、管理およびメンテナンスに要する費用を削減できます。

OPSSでは、標準ベースのアプリケーション・プログラミング・インタフェース(API)として抽象レイヤーを提供しています。これにより、開発者は、セキュリティおよびアイデンティティ管理の実装の詳細に関与する必要がなくなります。OPSSを使用すれば、開発者は、暗号キーの管理や、ユーザー・リポジトリなどのアイデンティティ管理インフラストラクチャとのインタフェースを詳しく把握しておく必要がありません。社内開発アプリケーション、サード・パーティ・アプリケーションおよび統合アプリケーションでは、OPSSを使用することで、企業全体で統一された同一のセキュリティ・サービス、アイデンティティ管理サービスおよび監査サービスを利用できます。

FAQ、ホワイトペーパー、サンプル・コード、フォーラム・ディスカッションなど、OPSS関連のニュースは、http://www.oracle.com/technology/products/id_mgmt/opss/index.htmlを参照してください。

2.1.1 OPSSの主な機能

OPSSは、ロールベースのアクセス制御(RBAC)、Java Enterprise Edition(JavaEE)およびJava Authorization and Authentication Services(JAAS)の各標準に準拠しています。

これらの標準に基づいているOPSSは、次の機能をサポートする統合セキュリティ・プラットフォームを提供します。

  • 認証

  • IDアサーション

  • ファイングレインJAASパーミッションに基づいた認可

  • アプリケーション固有のポリシーの指定と管理

  • 資格証明ストア・フレームワークを使用したシステム資格証明のセキュアな格納とアクセス

  • 監査

  • ロール管理とロール・マッピング

  • ユーザーおよびロールAPI

  • セキュリティの構成と管理

  • SAMLとXACML

  • Oracle Security Developer Tools(暗号化ツールなど)

特定のOPSS機能の詳細は、このガイドの該当する章を参照してください。

WebLogic監査プロバイダの詳細は、『Oracle Fusion Middleware Securing Oracle WebLogic Server』のWebLogic監査プロバイダの構成に関する項を参照してください。

2.2 OPSSのアーキテクチャの概要

OPSSは、WebLogicのセキュリティとOracle Fusion Middlewareのセキュリティで構成されます。次の図は、この2つのセキュリティ・フレームワークを組み合せた階層型アーキテクチャを示したものです。

architecture.gifについては周囲のテキストで説明しています。

この図では、様々なセキュリティ・コンポーネントをレイヤーとして示しています。最上位のレイヤーは、Oracle WebLogic Serverとそのコンポーネント、およびそのサーバーで実行するJavaアプリケーションで構成されています。その下には、認証、認可、CSFおよびユーザー/ロールの各APIで構成されるAPIレイヤー、サービス・プロバイダ・インタフェース(SPI)レイヤー、サービス・プロバイダのリストが続きます。最下位のレイヤーは、LDAPおよびデータベース・サーバーを持つリポジトリを示しています。

前述の図のプロバイダのリストはすべてを網羅してはいません。この他に、ロール・マッピング・プロバイダや監査プロバイダなどがあります。

セキュリティ・サービス・プロバイダ・インタフェース

SSPIは、Java EEコンテナのセキュリティをパーミッションベース(JACC)モードとリソースベース(非JACC)モードで提供します。また、環境にリソースベースの認可を提供することで、ユーザーがセキュリティ・モデルを選択できるようにします。

SSPIは、プラッガブルなセキュリティ・プロバイダを実装するための一連のAPIです。これらのインタフェースを実装するモジュールをSSPIにプラグインすることで、カスタム認証や特定のロール・マッピングなどの特別なタイプのセキュリティ・サービスを提供できます。

詳細は、『Oracle Fusion Middleware Understanding Security for Oracle WebLogic Server』のセキュリティ・サービス・プロバイダ・インタフェース(SSPI)に関する項を参照してください。

Oracle Platform Security Services

JAZN機能が再設計され、CSF、CAFおよびその他のコンポーネントを扱うように拡張されました。また、OPSSとして既存のWLS SSPIと結合されています。

今回のリリースでは、資格証明ストア・フレームワーク(CSF)、ユーザーおよびロールAPI、共通監査フレームワーク、アイデンティティ・サービス、設計段階でのサポート向上が追加されています。

2.2.1 OPSSの利点

OPSSには、次のような多数の利点があります。

  • アプリケーションとドメインの問題に対する開発リソースの集中が可能

  • エンタープライズ・デプロイメントのサポート

  • 様々なLDAPサーバーおよびSSOシステムにわたる相互運用性テストの検証

  • WebLogic Server上での証明

  • Oracleの製品およびテクノロジとの事前統合

  • 開発者および管理者の一貫したセキュリティ・エクスペリエンス

  • あらゆるタイプのアプリケーションを対象にしたAPIの統一セット

  • 抽象レイヤー(宣言的API)による開発時間の最適化

  • アプリケーションのメンテナンスの簡素化

  • アプリケーション・コードの変更を必要としない、セキュリティ・ルールの変更

  • 容易な管理タスク

  • アイデンティティ管理システムとの統合

  • レガシー・セキュリティ・プロバイダおよびサード・パーティ・セキュリティ・プロバイダとの統合

OPSSは、SSPIとJPSを結合することで、WebLogicアプリケーションとOracleアプリケーションの両方を単一の環境であるOracle WebLogic Serverでシームレスに実行できるフレームワークを提供します。

OPSSでは、Java EEアプリケーションおよびOracle Fusion Middlewareアプリケーション(Oracle WebCenterやOracle SOA Suiteなど)のセキュリティをサポートしています。

開発者は、OPSSのAPIを使用することで、あらゆるタイプのアプリケーションを対象にセキュリティ機能を構築し、他のセキュリティ・アーティファクト(LDAPサーバー、RDBMS、カスタムのセキュリティ・コンポーネントなど)と統合できます。

管理者は、OPSSを使用することで、大規模なエンタープライズ・アプリケーションを小規模な一定のツール・セットでデプロイし、それらのアプリケーションのセキュリティ全体を管理できます。OPSSにより、アプリケーション・コードを変更することなくセキュリティ構成を変更できるため、アプリケーション・セキュリティのメンテナンスが簡単になります。

Oracle WebLogic Serverでは、デフォルトで追加設定なしに、ユーザーとグループが埋込みLDAPリポジトリに格納されます。ただし、他の種類のLDAPリポジトリにあるアイデンティティ・データを使用するようにドメインを構成することもできます。このようなLDAPリポジトリとして、Oracle Internet Directory、Active Directory、Sun Java System Directory Server、Oracle Virtual Directory、Novell eDirectory、OpenLDAPなどがあります。さらに、Oracle WebLogic Serverでは、ここにあげていない他のLDAPサーバーで使用できる汎用のLDAP認証プロバイダを提供しています。

ポリシーおよび資格証明は、追加設定なしでファイルベースのストアに格納されます。これらのストアは、Oracle Internet DirectoryサーバーまたはOracle Virtual Directory(LSA)サーバーで支援されるLDAPリポジトリに変更(再関連付け)できます。


注意:

このガイドでは、WebLogicのセキュリティ機能については詳しく説明しません。SSPIに関する特定の情報を使用または想定している箇所では、適切なドキュメントを参照先として示しています。

2.3 Oracle ADFのセキュリティの概要

Oracle ADFは、エンドツーエンドJava EEフレームワークです。これによって、追加設定なしで使用できるインフラストラクチャ・サービスと、視覚的で宣言的な開発エクスペリエンスが提供され、開発が簡素化されます。

Oracle ADFのセキュリティはJAASセキュリティ・モデルに基づいており、このモデルはOPSSを使用しています。Oracle ADFのセキュリティでは、LDAPベースまたはファイルベースのポリシー・ストアおよび資格証明ストアをサポートし、OPSSが提供するパーミッションベースのファイングレイン認可を採用しています。また、視覚的宣言的なエディタとOracle ADFのセキュリティ・ウィザードの支援によりアプリケーション・セキュリティの構成を簡素化しています。このエディタとウィザードはOracle JDeveloper 11gに用意されているもので、このガイドでこのツールを参照する場合はすべて11gリリースのものを指すものとします。

Oracle ADFのセキュリティの認可は、コンポーネント(フローとページ)の保護を可能にし、設計時にはOracle JDeveloperと統合されます。通常、セキュリティ機能のテストを実行する統合サーバーにアプリケーションをデプロイした場合は、実行時にOracle ADFのセキュリティの認可が可能です。

Oracle ADFアプリケーションの開発段階で、Oracle WebLogic Server管理コンソールを使用し、アプリケーションのデプロイ先とする特定のドメインで認証プロバイダを構成します。また、ファイルベースとしたポリシー・ストアをファイルjazn-data.xmlに格納します。

要約すると、Oracle ADFのセキュリティによって提供されるものは次のとおりです。

2.4 管理者向けのOPSS

セキュリティ機能は、次のようにアプリケーション・タイプに応じてOracle WebLogic管理コンソール、WLSTコマンドまたはFusion Middleware Controlで管理します。

セキュリティ管理の詳細は、第6章「セキュリティ管理」を参照してください。

2.5 開発者向けのOPSS

この項では、開発者が次の各シナリオで様々な種類のアプリケーションに実装すると考えられる主なOPSS機能をまとめています。

2.5.1 シナリオ1: JavaEEアプリケーションのセキュリティの強化

CSF、ユーザー/ロール、ポリシー管理などのOPSS APIを使用するようにJavaEEアプリケーションを拡張できます。ユーザーの電子メール、電話、住所などのユーザー属性を取得するには、ユーザーおよびロールAPIを使用します。外部システム資格証明(LDAPベース・ストアのウォレットに格納)を取得するには、CSF APIを使用します。また、認可ポリシー・データの管理には、ポリシー管理APIを使用します。

Oracle WebLogic Server上にデプロイされるサーブレット、JSP、EJBなどのJavaEEアプリケーションは、認証と認可をファイルweb.xmlで指定することで宣言的に使用するように構成することも、isUserInRoleおよびisCallerInRoleのコールによってプログラム的に使用するように構成することもできます。

カスタムの認証プロバイダには、標準のBasic認証、フォーム認証、クライアント証明書認証の各方法があります。サーブレットとEJBの間の認証は、ユーザー・ロールとエンタープライズ・グループを使用して制御します。これらのロールとグループは通常、LDAPリポジトリ、データベースまたはカスタムの認証プロバイダに格納します。

2.5.2 シナリオ2: Oracle ADFアプリケーションの保護

Oracle Application Development Framework(ADF)は、Oracle JDeveloperに用意されているJavaEE開発フレームワークであり、JavaEEアプリケーションのインフラストラクチャを実装するコードの作成を最小限に抑えることで、アプリケーションの開発を簡素化します。その結果、アプリケーション機能に開発リソースを集中できるようになります。Oracle ADFでは、これらのインフラストラクチャの実装をOracle JDeveloperフレームワークの中で実現し、JavaEEの視覚的宣言的な開発アプローチによる開発エクスペリエンスの向上を図っています。

Oracle ADFではOPSSが暗黙的に使用されるので、開発者は通常、OPSS APIを直接操作するコードを作成する必要はありませんが、当然のことながら、OPSS APIへの直接コールを使用することもできます。

Oracle ADFでは、まずコンテナ認証を使用し、それに続いてJAASベースの認可を使用することで、Oracle ADFリソースへのアクセスを制御します。これらの認可ポリシーでは、アプリケーション固有のロールおよびJAAS認可パーミッションを指定できます。Oracle ADFの接続資格証明は、資格証明ストアに安全に格納されます。

Oracle WebLogic Server上にデプロイしたOracle ADFアプリケーションおよびOracle WebCenterアプリケーションには、デフォルトで指定されているようなWebLogic認証プロバイダが組み込まれますが、シングル・サインオン・ソリューション(Oracle Access ManagerまたはOracle Application Serverシングル・サインオン)を組み込むこともできます。

また、アプリケーションでは、OPSSの機能である匿名ロールと認証ロールのサポート、ポリシー管理APIおよび資格証明ストア・フレームワークを任意に使用することが普通です。

これらのトピックの詳細は、次の各項を参照してください。

Oracle ADFアプリケーションの開発および保護方法の詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』の第29章を参照してください。

2.5.3 シナリオ3: JavaSEアプリケーションの保護

JavaEEアプリケーションで機能するOPSS機能のほとんどはJavaSEアプリケーションでも機能しますが、その扱いにはいくつかの違いがあります。この項では、それらの違いについて説明します。

構成

OPSS関連の構成ファイルおよびデータ・ファイルはすべて、ドメイン・ホームの構成ディレクトリに格納されます。たとえば、JavaSE環境の構成ファイルは、デフォルトで次の場所にインストールされるファイルjps-config-jse.xmlで定義されています。

$DOMAIN_HOME/config/fmwconfig/jps-config-jse.xml

別の場所を指定するには、次のスイッチを使用します。

-Doracle.security.jps.config=pathToConfigFile

このファイルの構文は、ファイルjps-config.xmlの構文と同じです。このファイルは、WebLogicコンテナで実行するコードで使用します。詳細は、付録A「OPSS構成ファイル・リファレンス」を参照してください。

ORACLE_HOMEDOMAIN_HOMEおよび関連する概念の詳細は、『Oracle Fusion Middleware概要』の用語集を参照してください。

クラスパスで指定する必要のあるJAR

JavaSEアプリケーションでOPSSサービスを使用できるようにするには、次のJARファイルを必ずクラスパスに追加します。このJARファイルは、Oracleのインストール・ホームのモジュール領域にあります。

$ORACLE_HOME/modules/oracle.jps_11.1.1/jps-manifest.jar

ログイン・モジュール

JavaSEアプリケーションでは標準のJAASログイン・モジュールを使用できます。ただし、WLS上で同じログイン・モジュールを使用する場合は、このログイン・モジュールを呼び出すカスタム認証プロバイダを実装します。SSPIインタフェースを使用すると、複数のカスタム認証プロバイダをWLSで統合できます。

JavaSEアプリケーションでの使用に推奨するログイン・モジュールはIdentityStoreログイン・モジュールです。

詳細は、『Oracle Fusion Middleware Developing Security Providers for Oracle WebLogic Server』の認証プロバイダに関する項を参照してください。