ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド
11g リリース2(11.1.2)
B70751-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

16.3 Single Sign-Onの管理

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

16.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認証ページが表示されます。

構成ファイルを直接変更するのではなく、Oracle Enterprise Managerを使用して構成設定を変更します。OracleAS Single Sign-Onを有効化したり無効化するには、第6.8.6項「Single Sign-Onの有効化と無効化」を参照してください。

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

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

構成ファイルを直接変更するのではなく、Oracle Enterprise Managerを使用して構成設定を変更します。セキュリティを有効化したり無効化するには、第6.8.1項「セキュリティの有効化と無効化」を参照してください。

Oracle Fusion Middlewareをインストールする際に、アイデンティティ・ストア、ポリシー・ストアおよび資格証明ストアを選択するように求められます。デフォルトでは、これらはファイル・ベースのストアとなります。インストール後、これらのストアのいずれかをLDAPベースのストア(Oracle Internet Directoryなど)に変更できます。詳細は、Oracle Fusion Middlewareセキュリティ・ガイドのID、ポリシーおよび資格証明に関する項を参照してください。

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

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

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

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

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

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

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

16.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 Single Sign-On Serverが認証サーバーとして使用されている場合のマッピング

この場合、Oracle Reportsによってkey_nameが検出されると、Oracle Internet Directoryに格納されている対応鍵を現行のユーザーが所有しているかどうかがチェックされます。所有している場合、Oracle Reportsではその鍵に格納されている文字列を使用してデータソースに接続します。所有していない場合は、key_nameが公開鍵にマップされているかどうかチェックし、マップされていればその鍵を使用します。マップされていない場合、Oracle Delegated Administration Servicesにより、新しいリソースを作成するようにユーザーは要求されます。

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

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


関連項目:

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

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

  • Oracleデータベース(OracleDB)

  • JDBC PDS(JDBCPDS)

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


関連項目:

リソース・タイプの追加方法の詳細は、第16.3.3.3項「新しいリソース・タイプの追加」を参照してください。

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

16.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

16.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データソースの構成方法の詳細は、第13.1項「JDBC PDSの構成と使用」を参照してください。

使用上の注意

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

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

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

    • rwservlet.propertiesSINGLESIGNONNOに設定します。

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

16.3.3.2 Oracle Internet Directoryへの入力

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

16.3.3.2.1 Oracle Delegated Administration Services

Oracle Delegated Administration Services(DAS)はOracle Single Sign On Server(OSSO)とともにのみ使用されます。Oracle Access Manager(OAM)サーバーではOID内に新しいリソースを作成するためにDASは使用されません。

OSSO Serverの場合、少数のユーザーの接続情報のみ入力するときは、Oracle Delegated Administration Services(DAS)を使用して、ユーザーごとに接続文字列情報を直接Oracle Internet Directoryに入力できます。


注意:

ユーザーがOracle Delegated Administration Servicesにアクセスする前に、あらかじめ管理者がそのユーザーのユーザーIDをOracle Internet Directoryに入力しておく必要があります。この手順は、他のソースのLDAPディレクトリにすでに入力されている情報をバッチ・ロードすることで実行できます。

バッチ・ロードの詳細は、Oracle Fusion Middleware Oracle Internet Directory管理者ガイドを参照してください。


このDAS URLを使用して、管理を目的としてOracle Delegated Administration Servicesにアクセスします。Oracle Delegated Administration Servicesにアクセスしたら、「プリファレンス」タブの「リソースのアクセス情報」セクションでユーザーの情報を入力します。図16-4を参照してください。この場合、リソースが入力されていないと「プリファレンス」タブが表示されないことに注意してください。

図16-4 Delegated Administration Servicesの「プリファレンス」タブ

図16-4の説明は次にあります。
「図16-4 Delegated Administration Servicesの「プリファレンス」タブ」の説明

多数のユーザーのデータソース情報を入力する場合、ユーザー・プロンプトまたはバッチを使用してOracle Internet Directoryに入力します。

16.3.3.2.2 ユーザー・プロンプト

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

認証サーバーとしてOSSO Serverを使用している場合、レポートの起動時にSSOCONNを使用しても、その鍵に対する接続文字列がOracle Internet Directoryに格納されておらず、その鍵がすべてのユーザーに利用可能な公開鍵でなければ、Oracle Delegated Administration Servicesの「リソースの作成」ページがユーザーに表示されるので、各自のデータソース接続文字列を入力する必要があります。図16-5を参照してください。ユーザーが入力した文字列は今後の使用のために、Oracle Delegated Administration ServicesによってOracle Internet Directoryに格納され、新しく入力された接続文字列をレポートのデータソース接続文字列としてrwservletで使用します。

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


注意:

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

図16-5 Oracle Delegated Administration Servicesの「リソースの作成」

図16-5の説明は次にあります。
「図16-5 Oracle Delegated Administration Servicesの「リソースの作成」」の説明


注意:

「リソースの作成」ダイアログでJDBC接続文字列を入力するには、「データベース」フィールドにhostname:port:sidと入力します。

16.3.3.2.3 バッチ・ロード

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. プレースホルダを実際の値に置き換えて、サンプル・スクリプトORACLE_HOME\reports\samples\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
      
  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. プレースホルダを実際の値に置き換えて、サンプル・スクリプトORACLE_HOME\reports\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 
      

16.3.3.2.4 すべてのユーザーへのリソースの公開

すべてのユーザーがリソースを使用できるようにする手順は次のとおりです。

  1. Oracle Delegated Administration Servicesを起動して、「ホーム」タブに移動します。

  2. 管理者(orcladmin)としてログインします。

  3. 構成」タブをクリックします。

  4. プリファレンス」サブ・タブをクリックすると、図16-6のようなページが表示されます。

図16-6 Oracle Internet Directoryの「構成」タブの「プリファレンス」ページ

図16-6の説明は次にあります。
「図16-6 Oracle Internet Directoryの「構成」タブの「プリファレンス」ページ」の説明

  1. 「デフォルトのリソース・アクセス情報」の「作成」をクリックします。

  2. 「リソースの作成」ページで、リソース名を入力し、ドロップダウン・リストからリソース・タイプを選択します。たとえば、「JDBCPDS」を選択します。

  3. 次へ」をクリックします。

  4. 接続情報を入力します。たとえば、scott/tiger@mydbと入力します。

  5. 実行」をクリックします。

  6. OK」をクリックします。

    「デフォルトのリソース・アクセス情報」にそのリソースが表示され、すべてのユーザーが使用できるようになります。

16.3.3.3 新しいリソース・タイプの追加

新しいリソース・タイプを追加して独自のプラガブル・データソースをサポートするには、次の手順を実行する必要があります。

  1. Oracle Delegated Administration Servicesを起動して、「ホーム」タブに移動します。

  2. 管理者(orcladmin)としてログインします。

  3. 構成」タブをクリックします。

  4. プリファレンス」サブ・タブをクリックすると、図16-6のようなページが表示されます。

  5. 「リソース・タイプ情報の構成」で「作成」をクリックすると、図16-7のようなページが表示されます。

    図16-7 「リソース・タイプの作成」ページ

    図16-7の説明は次にあります。
    「図16-7 「リソース・タイプの作成」ページ」の説明

  6. フィールドにデータを入力します。少なくとも必須フィールドにはデータを入力してください。表16-3では、これらのフィールドについて説明します。

    表16-3 「リソース・タイプの作成」プロパティ

    プロパティ 説明

    リソース・タイプ名

    新しいリソース・タイプの名前です。この名前は、SSOCONN文字列のdata_source_type部分などでリソース・タイプを参照する場合に使用されます。

    表示名

    ユーザー・インタフェースに表示されるリソース・タイプの名前です。

    説明

    リソース・タイプの説明や、そのリソース・タイプに関連するその他のテキスト情報です。

    認証クラス

    必須フィールドですが、Oracle Reports Servicesには使用されません。このフィールド値にはダミーのテキストを入力しておきます。

    接続文字列フォーマット

    そのリソースに関してOracle Internet Directoryに格納されている値を使用して、Oracle Reports Servicesで接続文字列がどのように構成されるかを定義します。例:

    OracleデータベースまたはJDBCデータソースの場合、接続文字列は次のような形式になります。

    orclUserIDAttribute/orclPasswordAttribute @orclFlexAttribute1

    この文字列は、ユーザー名の後にスラッシュ、パスワード、アット・マーク(@)および追加属性1(データベースのTNS名など)が続くことを示します。この形式に従うと、接続文字列は次のようになります。

    scott/tiger@db1

    ユーザー名/IDフィールド名

    orclUserIDAttributeの値が格納されるユーザー名フィールドの表示名です。この表示名は、「リソースの作成」ページ(図16-5)のorclUserIDAttributeに対応するフィールドの横に表示されます。通常、この表示名には「ユーザー名」のような値を入力します。

    パスワード・フィールド名

    orclPasswordAttributeの値が格納されるパスワード・フィールドの表示名です。この表示名は、「リソースの作成」ページ(図16-5)のorclPasswordAttributeに対応するフィールドの横に表示されます。通常、この表示名には「パスワード」のような値を入力します。

    追加フィールド1から3

    orclFlexAttribute1orclFlexAttribute2およびorclFlexAttribute3の値が格納される追加フィールドの表示名です。これらのフィールドには、ユーザー名やパスワード以外で接続文字列に必要な値を指定します。たとえば、これらのフィールドの1つを使用して、サーバー名やドメイン名を格納できます。この表示名は、「リソースの作成」ページ(図16-5)のorclFlexAttribute1orclFlexAttribute2またはorclFlexAttribute3に対応するフィールドの横に表示されます。通常、この表示名には、「サーバー」や「ドメイン」のような、フィールドの内容を説明する値を入力します。


  7. 実行」をクリックします。リソース・タイプが作成され、SSOCONN値のdata_source_type部分で参照できるようになります。

16.3.4 Oracle Internet Directoryへの接続

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

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

16.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は、このインスタンスでの例にすぎません。通常、これらの項目には環境に応じた値を入力します。