1 Oracle Platform Security Servicesの概要

Oracle Platform Security Services (OPSS)は、Java Platform Standard Edition (Java SE)およびJava Platform Enterprise Edition (Java EE)のアプリケーションを保護する移植可能な統合フレームワークを開発チームに提供します。

この章は次の項で構成されています。

このドキュメントでは、Oracle Webサービスのセキュリティについては説明しません。Oracle Web Services セキュリティの詳細は、『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』を参照してください。

OPSSとは

OPSSは、Oracle WebLogic Server、サービス指向アーキテクチャ(SOA)アプリケーション、Oracle WebCenter、Oracle Application Development Framework (Oracle ADF)アプリケーション、Oracle Entitlements Server (OES)などのOracle Fusion Middleware製品を保護する、基盤となるセキュリティ・プラットフォームです。

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

OPSSはWebLogic Serverでサポートされ、Oracle Fusion Middleware Infrastructureとともにインストールされます。

OPSSの主な機能

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

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

  • Authentication

  • アイデンティティ・アサーション

  • Authorization

  • ロールおよびロール・マッピングの管理

  • アプリケーション・ポリシーおよび資格証明の管理

  • キーと証明書の管理

  • 監査

  • アイデンティティ仮想化

  • セキュリティAPI

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

OPSSは、WebLogic Serverのセキュリティ・プロバイダとOracle Fusion Middlewareセキュリティ・フレームワークで構成されています。図1-1に、OPSSアーキテクチャを示します。

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

図1-1の説明が続きます
「図1-1 OPSSアーキテクチャ」の説明

OPSSアーキテクチャには次のレイヤーがあります。

  • 認可、認証、資格証明、アイデンティティと信頼、Secure Sockets Layer (SSL)および暗号化サービスなどのセキュリティ・サービス。認証には、WebLogic Server認証プロバイダが使用されます。

  • WebLogic Serverセキュリティ・プロバイダ。セキュリティ・サービス・プロバイダ・インタフェース(SSPI)により、Javaコンテナ・セキュリティ、環境に応じたリソースベースの認可、セキュリティ・プロバイダを実装するためAPIが提供されます。これらのインタフェースを実装するモジュールをフレームワークにプラグインすることで、カスタム認証や特定のロール・マッピングなどの特殊なタイプのセキュリティ・サービスを提供できます。

  • ファイル、Lightweight Directory Access Protocol (LDAP)、データベースという3タイプのリポジトリのいずれかを使用したセキュリティ・ストア。

関連項目:

『Oracle WebLogic Serverセキュリティの理解』セキュリティ・サービス・プロバイダ・インタフェース(SSPI)を参照してください。

OPSSの利点

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

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

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

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

  • WebLogic Serverで動作保証済であること

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

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

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

  • 抽象レイヤーによる開発時間の最適化

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

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

  • 管理の容易化

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

OPSSでは、Java EEアプリケーション、Oracle Fusion MiddlewareアプリケーションおよびJava SEアプリケーションを保護します。また、企業内の全セキュリティを管理するためのツールを提供し、アプリケーション・コードを変更せずにセキュリティ構成を変更することも可能です。

OPSS APIを使用することで、開発者はあらゆるタイプのアプリケーションを保護し、他のセキュリティ・システム(LDAP、データベース、カスタムのセキュリティ・コンポーネントなど)と統合します。

すぐに使用できる状態では、デフォルトのセキュリティ・プロバイダ(組込みLDAPサーバー)が使用可能ですが、ドメインでは他のLDAPリポジトリにあるアイデンティティ・データを使用することもできます。

開発者向けのOPSS

次の各項では、Javaアプリケーションで使用する主要なセキュリティ機能の概要を示します。

Java EEアプリケーションのセキュリティについて

Java EEアプリケーションでは、資格証明ストア・フレームワークAPI、ユーザーおよびロールAPI、Identity Governance Framework APIおよびキーストア・サービスAPIに付属するものを含め、いくつかのインタフェースを使用してセキュリティ・データへのアクセスおよび管理を行うことができます。これらのインタフェースを使用して、Java EEアプリケーションでは、ユーザー属性の設定および取得、ポリシー、キーおよび証明書の管理を行います。

Java EEアプリケーションでは、認証と認可をweb.xmlファイルで指定することで宣言的に使用することも、isUserInRoleメソッドおよびisCallerInRoleメソッドをコールすることでプログラム的に使用することもできます。

Java EEアプリケーションでは、カスタム認証プロバイダを使用できますが、ロールおよびエンタープライズ・グループを使用してJavaサーブレットとEnterprise JavaBeans (EJB)間の認証を制御することもできます。

Java SEアプリケーションのセキュリティについて

Java EEアプリケーションで使用可能なOPSS機能のほとんどはJava SEアプリケーションでも使用可能ですが、Java SEアプリケーションにのみ当てはまる次のような相違点があります。

  • アプリケーションでは、セキュリティ操作をコールする前に、AppSecurityContext.JpsStartup.startメソッドを使用する必要があります。

  • アプリケーションのセキュリティ構成は、次の場所にデフォルトでインストールされるjps-config-jse.xmlファイルで定義します。

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

    別の場所を指定するには、oracle.security.jps.configプロパティを使用します。

    -Doracle.security.jps.config=pathToConfigFile
    
  • アプリケーションでは、ログイン・モジュールをコールするカスタム認証プロバイダを実装することで標準のJAASログイン・モジュールを使用します。

  • 次のJavaアーカイブ(JAR)ファイルをクラス・パスに追加する必要があります。

    $ORACLE_HOME/oracle_common/modules/oracle.jps_12.2.1/jps-manifest.jar

関連項目:

『Oracle WebLogic Serverセキュリティ・プロバイダの開発』認証プロバイダ

Java SEアプリケーションでのOPSSの使用

ADFのセキュリティの概要

Oracle ADFは、インフラストラクチャ・サービスおよび視覚的な開発エクスペリエンスを提供することで開発を簡略化するエンドツーエンドJava EEフレームワークです。Oracle ADFは、Oracle JDeveloperと統合されます。

ADFセキュリティは、JAASセキュリティ・モデルに基づいており、OPSSおよびパーミッション・ベースの認可を使用し、ビジュアル・エディタおよびADFセキュリティ・ウィザードによってアプリケーション・セキュリティの構成を簡単にします。

Oracle ADFアプリケーションの開発段階で、Oracle WebLogic Server管理コンソールを使用して認証プロバイダを構成し、ポリシーをファイルに格納します。

要約すると、ADFのセキュリティによって次のことが可能になります。

  • 宣言的セキュリティの粒度の制御

  • ロール階層によるパーミッションの簡略化

  • Oracle ADFリソースへのアクセス

  • 短期間での開発とテスト・サイクルのためのJDeveloperとの統合

関連項目:

『Oracle Application Development FrameworkによるFusion Webアプリケーションの開発』「Fusion WebアプリケーションでのADFセキュリティの有効化」

「Oracle ADFアプリケーションの保護」

Oracle ADFアプリケーション・セキュリティ

Oracle ADFにより、アプリケーション・インフラストラクチャを実装するコードが最小限に抑えられ、JDeveloperを使用したJava EEアプリケーションの開発が簡略化されます。これにより、開発者はアプリケーションの機能に集中できます。

Oracle ADFでは、コンテナ認証を利用してから、JAASベースの認可を使用してOracle ADFリソースへのアクセスを制御します。ポリシーには、特定のアプリケーション・ロールおよびJAAS認可パーミッションを指定できます。Oracle ADFの接続資格証明は、セキュリティ・ストアに格納されます。

Oracle ADFおよびWebCenterのアプリケーションには、WebLogic Server認証プロバイダが組み込まれていますが、Oracle Single Sign-Onなどのシングル・サインオン・ソリューションを組み込むこともできます。

関連項目:

『Oracle WebLogic Serverセキュリティの管理』Microsoftクライアントに対するシングル・サインオンの概要を参照してください。

「Oracle ADFアプリケーションの保護」