ヘッダーをスキップ
Oracle® Fusion Middlewareアプリケーション・セキュリティ・ガイド
11g リリース1(11.1.1)
B56235-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

1 Oracle Platform Security Servicesの概要

Oracle Platform Security Services (OPSS)は、サポート対象のプラットフォームまたはスタンドアロン・アプリケーションにデプロイされるアプリケーションの保護に使用可能なセキュリティ・プラットフォームです。この章では、次の各項でこのプラットフォームの主な機能を紹介します。

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

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

1.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を参照してください。

1.1.1 OPSSの主な機能

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

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

  • 認証

  • IDアサーション

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

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

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

  • キーストア・サービスを使用したキーと証明書のセキュアな格納とアクセス

  • 監査

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

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

  • ID仮想化

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

  • SAMLとXACML

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

  • ポリシー管理API

  • Java Authorization for Containers (JAAC)

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

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

1.1.2 サポートされているサーバー・プラットフォーム

OPSSは、次のアプリケーション・サーバー・プラットフォームでサポートされています。

  • Oracle WebLogic Server

  • IBM WebSphere Application Server Network Deployment (ND) 7.0

  • IBM WebSphere Application Server 7.0

このガイドでは、Oracle WebLogic Serverに関連するOPSS機能について記載しています。この機能は、他のすべてのプラットフォームに対しても一様に適用できます。特にサード・パーティのサーバーに該当する内容は、Oracle Fusion Middlewareサード・パーティ・アプリケーション・サーバー・ガイドを参照してください。

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

OPSSは、アプリケーション・サーバーのセキュリティとOracle Fusion Middlewareのセキュリティで構成されます。図1-1は、この2つのセキュリティ・フレームワークを組み合せた階層型アーキテクチャを示しています。

図1-1 OPSSアーキテクチャ

周囲のテキストが図1-1について説明しています。

一番上のレイヤーにはOPSSセキュリティ・サービス、次のレイヤーにはサービス・プロバイダ、一番下のレイヤーには3種類の内の1つのリポジトリを使用するOPSSセキュリティ・ストアがそれぞれ含まれます。

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

セキュリティ・サービス・プロバイダ・インタフェース(SSPI)は、Java EEコンテナのセキュリティをパーミッションベース・モード(JACCの場合)またはリソースベース・モード(JACCではない場合)で提供します。また、環境にリソースベースの認可を提供します。

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

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

Oracle Platform Security Services

Java Authorization (JAZN)機能には、資格証明ストア・フレームワーク(CSF)、共通監査フレームワーク(CAF)、キーストア・サービスおよびその他のコンポーネントが含まれます。また、SSPIと結合してOracle Platform Security Services (OPSS)を構成します。

1.2.1 OPSSの利点

OPSSには、次の利点があります。

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

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

  • 複数のLDAPサーバーおよびSSOシステムのサポート

  • Oracle WebLogic Serverで認定済である

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

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

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

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

  • アプリケーションのセキュリティ・メンテナンスの簡素化

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

  • 管理者の作業の負荷軽減

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

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

OPSSは、SSPIとJPSを結合することで、アプリケーション・サーバーとOracleアプリケーションを単一の環境でシームレスに実行可能なフレームワークを提供します。

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、Novell eDirectory、OpenLDAPなどがあります。さらに、Oracle WebLogic Serverでは、ここにあげていない他のLDAPサーバーで使用できる汎用的なデフォルトのLDAP認証プロバイダを提供しています。

ポリシーおよび資格証明は、特別な設定をしなくてもファイルベースのストアに格納されます。これらのストアは、Oracle Internet Directoryの支援を受けるLDAPリポジトリに移動(再関連付け)できます。

出荷時にはキーおよび証明書はファイルベースのキーストアに格納されていますが、データベースまたはLDAPリポジトリに再関連付けすることができます。


注意:

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


1.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に格納します。デプロイの詳細は、第6.3.1項「テスト環境へのデプロイ」を参照してください。

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

関連情報については、「シナリオ2: Oracle ADFアプリケーションの保護」を参照してください。

1.4 管理者向けのOPSS

アプリケーション・タイプに応じて、Oracle WebLogic管理コンソール、OPSSスクリプト、Fusion Middleware ControlまたはOracle Entitlements Serverを使用してアプリケーション・セキュリティを管理するガイドラインは次のようになります。

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

1.5 開発者向けのOPSS

この項では、次の各シナリオで、アプリケーションを保護するために一般的に使用される主なOPSS機能をまとめています。

その他のユースケースについては、第19.2項「セキュリティ統合のユースケース」を参照してください。

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

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

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

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

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

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

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章を参照してください。

1.5.3 シナリオ3: Java SEアプリケーションの保護

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

構成

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

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

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

-Doracle.security.jps.config=pathToConfigFile

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

Java SEアプリケーション向けセキュリティの構成の詳細は、第22.2項「Java SEアプリケーション向け認証」および第23.1項「Java SEアプリケーションでのポリシー・ストアと資格証明ストアの構成」を参照してください。

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

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

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

ログイン・モジュール

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

Java SEアプリケーションでの使用にお薦めするログイン・モジュールはIdentityStoreログイン・モジュールです。

詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティ・プロバイダの開発』の認証プロバイダに関する項を参照してください。