プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド
12c (12.2.1.3.0)
E90222-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

17.3 Single Sign-Onの管理

この項では、Oracle Reports Servicesのセキュリティを維持するために実行する必要のある管理作業を説明します。

17.3.1 Single Sign-Onの有効化と無効化

Single Sign-Onのデフォルト設定を使用するために、Oracle Reports Servlet (rwservlet)構成ファイル(rwservlet.properties)のSINGLESIGNONパラメータはYESに設定されています。つまり、この設定によりOracleAS Single Sign-Onを使用してユーザーが認証されます。オラクル社ではこれを通常のセキュリティ配置モデルと考えており、完全にカスタマイズしたセキュリティ構成で実行する場合にのみ<singlesignon>no</singlesignon>に設定してください。

ReportsアプリケーションがOAM 11gサーバーを使用して認証される場合、Single Sign-OnパラメータがNoに設定されていても、Reports認証ページではなく、OAM認証ページが表示されます。

OracleAS Single Sign-Onを有効化したり無効化するには、第6.3.6項「Single Sign-Onの有効化と無効化」を参照してください。

17.3.2 Reports Serverのセキュリティの有効化と無効化

JAZN-XML認可などのJPSベース・セキュリティを有効にすることができます。第15章「Oracle Reports Servicesの保護」を参照してください。

セキュリティを有効化したり無効化するには、第6.3.1項「セキュリティの有効化および無効化と使用するセキュリティ・メカニズムの変更」を参照してください。

Oracle Fusion Middlewareをインストールする際に、アイデンティティ・ストア、ポリシー・ストアおよび資格証明ストアを選択するように求められます。デフォルトでは、これらはファイル・ベースのストアとなります。インストール後、これらのストアのいずれかをLDAPベースのストア(Oracle Internet Directoryなど)に変更できます。『Oracle Platform Security Servicesによるアプリケーションの保護』のアイデンティティ、ポリシー、資格証明、キー、証明書および監査の理解に関する項を参照してください。

17.3.3 データソースのセキュリティの有効化と無効化

Single Sign-Onによりデータ・ソースのセキュリティを有効にする手順は次のとおりです。

  • レポートを起動するURLにSSOCONNを組み込みます。

  • 3つの方法のいずれかを使用して、Oracle Internet Directoryにデータ・ソース接続情報を入力します。

独自のプラガブル・データ・ソースに対してSingle Sign-Onを使用してデータ・ソースのセキュリティを実装する場合には、さらに次の手順を実行する必要があります。

  • 新しいリソース・タイプをOracle Internet Directoryに追加します。

次の各項では、これらの手順を説明します。

17.3.3.1 SSOCONN

Single Sign-Onによりデータ・ソースのセキュリティを有効にするには、次の形式の値のSingle Sign-Onパラメータ(SSOCONN)をURLに組み込む(またはキー・マップ・ファイルを介して参照する)必要があります。

key_name/data_source_type/conn_string_parameter

key_nameは、データベースへの接続に必要な情報を提供するOracle Internet Directoryに格納されている文字列にマップされています。

key_nameのマッピングの機能は、Single Sign-On環境で使用されている認証サーバーにより異なります。

Oracle Access Managerが認証サーバーとして使用されている場合のマッピング

この場合、Oracle Reportsによってkey_nameが検出されると、Oracle Internet Directoryに格納されている対応鍵を現行のユーザーが所有しているかどうかがチェックされます。そうである場合、Oracle Reportsではその鍵に格納されている文字列を使用してデータ・ソースに接続します。そうでない場合は、key_nameが公開鍵にマップされているかどうかチェックし、マップされていればその鍵を使用します。そうでない場合は、Oracle Reportsにより「キーが存在しません」というエラー・メッセージが表示されます。


関連項目:

Oracle Internet Directoryへのリソースの入力の詳細は、第17.3.3.2項「Oracle Internet Directoryへの入力」を参照してください。

data_source_typeは、接続するデータ・ソースの種類です。これにより、key_nameに関連付けられている文字列の形式が認識されます。data_source_type値は、Oracle Internet Directoryに格納されている有効なリソース・タイプである必要があります。Oracle Reportsには、次のデータソースについてデフォルトのリソース・タイプが用意されています。

  • Oracle database (OracleDB)

  • JDBC PDS (JDBCPDS)

独自のプラガブル・データ・ソースについて、Oracle Internet Directoryに追加リソース・タイプも作成できます。

conn_string_parameterは、Oracle Reportsのシステム・パラメータまたはユーザー・パラメータを示します。このパラメータを使用して、Oracle Reportsに接続文字列を渡します。たとえば、OracleDBデータ・ソースの場合、Oracle ReportsではUSERIDパラメータにより接続文字列を受け取り、これを使用して指定Oracleデータベースに接続します。同様に、JDBCPDSの場合はP_JDBCPDSが使用されます。独自のプラガブル・データ・ソースがある場合、Oracle Reportsに接続文字列を渡すために独自のユーザー・パラメータを定義して、それをSSOCONNconn_string_parameterとして指定する必要があります。

17.3.3.1.1 Oracleデータベースの例

Oracleデータベースの場合、SSOCONNを使用してレポートをコールするURLは次のようになります。

http://myhost.mycompany.com:7779/reports/rwservlet?server=rs_cped
&report=my.rdf&destype=cache&ssoconn=mykey/OracleDB/userid&desformat=html

17.3.3.1.2 JDBCプラガブル・データ・ソースの例

JDBCデータ・ソースの場合、Single Sign-Onの値は次のようになります。

http://myhost.mycompany.com:7779/reports/rwservlet?server=rs_cped
&report=Jdbcthin.rdf&destype=cache&desformat=html&ssoconn=jd1/jdbcpds/p_jdbcpds

この場合、jd1はOracle Internet Directoryのリソース名です。


関連項目:

JDBCデータソースの構成方法の詳細は、第14.1項「JDBC PDSの構成と使用」を参照してください。

使用上の注意

  • SSOCONNをコマンドラインで使用する場合は、次のことが行えません。

    • 同一のコマンドラインでAUTHIDを指定します。

    • セキュアでないReports Serverに対して実行します。

    • rwservlet.propertiesSINGLESIGNONNOに設定します。

    SSOCONNをコマンドラインで使用する場合にこのいずれかを実行すると、エラーが発生します。

17.3.3.2 Oracle Internet Directoryへの入力

Single Sign-Onによりデータ・ソースのセキュリティを機能させるには、各ユーザーのデータ接続情報をOracle Internet Directoryに格納するか、リソースをすべてのユーザーに利用可能なデフォルト・リソースにする必要があります。次のいずれかの方法で、この情報をOracle Internet Directoryに入力できます。

17.3.3.2.1 ユーザー・プロンプト

ユーザーに各自の接続文字列情報を入力させる場合、あらかじめOracle Internet Directoryにデータ・ソース接続情報を入力する必要はありません。

認証サーバーとしてOAMを使用している場合は、レポートの起動時にSSOCONNを使用しても、その鍵に対する接続文字列がOracle Internet Directoryに存在しなければ、Oracle Reportsにより「キーが存在しません」というエラー・メッセージが表示されます。OTN(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)で提供されているサンプルLDIFを使用してリソースを作成する必要があります。OID内にリソースを作成する方法の詳細は、第17.3.3.2.2項「バッチ・ロード」を参照してください。


注意:

この機能により、異なるデータ・ソース接続文字列を使用する多くのユーザーが、同じレポートのURLを使用できるようになります。

17.3.3.2.2 バッチ・ロード

Oracle Reports Servicesのリソースは、次のエントリでOracle Internet Directoryに作成されます。

orclresourcename=resource_name, cn=Resource Access Descriptor, 
orclownerguid=guid, cn=Extended Properties, cn=OracleContext,
dc=us,dc=oracle,dc=comFoot 1 

始める前に リソースのバッチ・ロードを開始する前に、Oracle Internet Directoryの前述のエントリにorclownerguid=guidを作成しておく必要があります。Oracle Delegated Administration Servicesを使用してユーザーを作成した場合は、orclownerguid=guidが自動的に作成されているため、「リソースのバッチ・ロード」の作業を開始できます。

LDIFファイルでOracle Internet Directoryにユーザーを入力した場合は、「リソースのバッチ・ロード」の手順を実行する前に、次の手順を実行する必要があります。

  1. ユーザーのGUIDを取得します。

    Oracle Internet Directoryにユーザーを作成した方法に応じて、GUIDを取得する方法がいくつかあります。Oracle Internet Directory LDAP APIを使用してユーザーのGUIDを取得できます。また、次のようにldapsearchコマンドを使用して取得することもできます。

    D:\Oracle\BIN>ldapsearch -h host_name -p port_num -L -D cn=orcladmin 
    -w orcladmin's_password -b "cn=users,dc=us,dc=oracle,dc=com" -s sub "objectclass=*" dn orclguid 
    
  2. cn=Extended Properties, cn=OracleContext, dc=us, dc=oracle, dc=comで、ユーザー・エントリorclownerguid=guidを作成します。

    1. プレースホルダを実際の値に置き換えて、サンプル・スクリプトOTN\scripts\createuser.ldifを変更します。

    2. ldapaddを使用してcreateuser.ldifをロードします。例:

      D:\Oracle\BIN>ldapadd -D cn=orcladmin -w welcome1 
      -h host_name -p port_num -f createuser.ldif
      

    注意:

    サブステップaに示されているOTNは、Oracle Reportsサンプルhttp://www.oracle.com/technetwork/middleware/reports/downloads/index.htmlにあります。

  3. orclownerguid=guidを作成したら、「リソースのバッチ・ロード」に進みます。


注意:

サンプルLDIFは、OTN(http://www.oracle.com/technetwork/middleware/reports/overview/index.html)のOracle Reportsページで提供されています。

リソースのバッチ・ロード: 次の手順に従って、ユーザーのデータ・ソース・リソースをバッチ・ロードします。

  1. orclownerguid=guid, cn=Extended Properties, cn=OracleContext, dc=us, dc=oracle, dc=comで、ユーザーのリソース・エントリorclresourcename=resource_name, cn=Resource Access Descriptorを作成します。ここで、orclownerguid=guid始める前にで作成したGUIDとなります。

    1. プレースホルダを実際の値に置き換えて、サンプル・スクリプトC:\Samples\scripts\createresource.ldifを変更します。

    2. ldapaddを使用してcreateresource.ldifをロードします。例:

      D:\Oracle\BIN>ldapadd -D cn=orcladmin -w orcladmin's_password -h host_name -p port_num -f createresource.ldif 
      

注意:

サブステップaに示されたサンプルを、OTNの場所http://www.oracle.com/technetwork/middleware/reports/downloads/index.htmlからダウンロードし、ローカルの場所C:\Samplesに置く必要があります。

17.3.4 Oracle Internet Directoryへの接続

第15章「Oracle Reports Servicesの保護」で説明したように、ユーザーの権限を確認して既存のデータソース接続情報を取得するには、Oracle Reports ServicesではOracle Internet Directoryに接続する必要があります。Oracle Internet Directoryに接続する場合、次の点を検討する必要があります。

17.3.4.1 Oracle Internet Directoryの接続エンティティの選択

Oracle Reports Servicesは、アプリケーション・エンティティとしてOracle Internet Directoryに接続します。デフォルトでは、Oracle Reports Servicesのアプリケーション・エンティティは、それぞれOracle Fusion Middlewareのインストールに固有です。同一のOracle Fusion Middlewareインストール先(ORACLE_HOME)から起動されるすべてのReports Serverは、同じアプリケーション・エンティティを使用してOracle Internet Directoryに接続します。この設定によって、Reports Serverでは、それぞれのOracle Fusion Middlewareインスタンスに関連するOracle Internet Directoryの情報にのみアクセスできます。

たとえば、財務グループ用と人事管理グループ用の2つのOracle Fusion Middlewareインスタンスがあるとします。財務グループ用のOracle Fusion MiddlewareインスタンスのReports Serverでは、人事管理グループにのみ関連する情報にアクセスできません。また、その逆についても同じです。このように、Oracle Internet Directoryに格納される情報はデフォルトでよりセキュアになります。

Oracle Reports Servicesの以前のリリースでは、すべてのReports Serverが同一のアプリケーション・エンティティとしてOracle Internet Directoryに接続していました。その結果、Reports ServerからOracle Internet Directory内の情報へのアクセスを制限できませんでした。

制限が少ないセキュリティ・モードに戻す場合、『Oracle Fusion Middlewareリリース・ノート』の「Oracle Reports Services」を参照してください。

17.3.4.2 Oracle Internet Directoryインスタンスの選択

Reports Serverはデフォルトで、Oracle Fusion MiddlewareとともにインストールされるOracle Internet Directoryインスタンスを使用するように構成されます。システムを新しく構築する場合は、この構成が適切です。しかし、既存のOracle Internet DirectoryインスタンスをReports Serverで使用する場合、構成を調整する必要があります。

Oracle Internet Directoryインスタンスの変更は、Oracle Fusion Middlewareの中間層を完全に変更する処理の一部として実行する必要があります。このプロセスの詳細は、Oracle Fusion Middlewareの管理でApplication Serverインスタンスの再構成に関する章を参照してください。



脚注の凡例

脚注 1: dc=us,dc=oracle,dc=comは、このインスタンスでの例にすぎません。通常、これらの項目には環境に応じた値を入力します。