Oracle® Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド 12c (12.2.1.3.0) E90222-01 |
|
前 |
次 |
この項では、Oracle Reports Servicesのセキュリティを維持するために実行する必要のある管理作業を説明します。
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の有効化と無効化」を参照してください。
JAZN-XML認可などのJPSベース・セキュリティを有効にすることができます。第15章「Oracle Reports Servicesの保護」を参照してください。
セキュリティを有効化したり無効化するには、第6.3.1項「セキュリティの有効化および無効化と使用するセキュリティ・メカニズムの変更」を参照してください。
Oracle Fusion Middlewareをインストールする際に、アイデンティティ・ストア、ポリシー・ストアおよび資格証明ストアを選択するように求められます。デフォルトでは、これらはファイル・ベースのストアとなります。インストール後、これらのストアのいずれかをLDAPベースのストア(Oracle Internet Directoryなど)に変更できます。『Oracle Platform Security Servicesによるアプリケーションの保護』のアイデンティティ、ポリシー、資格証明、キー、証明書および監査の理解に関する項を参照してください。
Single Sign-Onによりデータ・ソースのセキュリティを有効にする手順は次のとおりです。
レポートを起動するURLにSSOCONN
を組み込みます。
3つの方法のいずれかを使用して、Oracle Internet Directoryにデータ・ソース接続情報を入力します。
独自のプラガブル・データ・ソースに対してSingle Sign-Onを使用してデータ・ソースのセキュリティを実装する場合には、さらに次の手順を実行する必要があります。
新しいリソース・タイプをOracle Internet Directoryに追加します。
次の各項では、これらの手順を説明します。
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により「キーが存在しません」というエラー・メッセージが表示されます。
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に接続文字列を渡すために独自のユーザー・パラメータを定義して、それをSSOCONN
のconn_string_parameter
として指定する必要があります。
Oracleデータベースの場合、SSOCONN
を使用してレポートをコールするURLは次のようになります。
http://myhost.mycompany.com:7779/reports/rwservlet?server=rs_cped
&report=my.rdf&destype=cache&ssoconn=mykey/OracleDB/userid&desformat=html
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のリソース名です。
使用上の注意
SSOCONN
をコマンドラインで使用する場合は、次のことが行えません。
同一のコマンドラインでAUTHID
を指定します。
セキュアでないReports Serverに対して実行します。
rwservlet.properties
のSINGLESIGNON
をNO
に設定します。
SSOCONN
をコマンドラインで使用する場合にこのいずれかを実行すると、エラーが発生します。
Single Sign-Onによりデータ・ソースのセキュリティを機能させるには、各ユーザーのデータ接続情報をOracle Internet Directoryに格納するか、リソースをすべてのユーザーに利用可能なデフォルト・リソースにする必要があります。次のいずれかの方法で、この情報をOracle Internet Directoryに入力できます。
ユーザーに各自の接続文字列情報を入力させる場合、あらかじめ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を使用できるようになります。 |
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にユーザーを入力した場合は、「リソースのバッチ・ロード」の手順を実行する前に、次の手順を実行する必要があります。
ユーザーの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
cn=Extended Properties, cn=OracleContext, dc=us, dc=oracle, dc=com
で、ユーザー・エントリorclownerguid=
guid
を作成します。
プレースホルダを実際の値に置き換えて、サンプル・スクリプトOTN\scripts\createuser.ldif
を変更します。
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 にあります。 |
orclownerguid=
guid
を作成したら、「リソースのバッチ・ロード」に進みます。
注意: サンプルLDIFは、OTN(http://www.oracle.com/technetwork/middleware/reports/overview/index.html )のOracle Reportsページで提供されています。 |
リソースのバッチ・ロード: 次の手順に従って、ユーザーのデータ・ソース・リソースをバッチ・ロードします。
orclownerguid=
guid
, cn=Extended Properties, cn=OracleContext, dc=us, dc=oracle, dc=com
で、ユーザーのリソース・エントリorclresourcename=
resource_name
, cn=Resource Access Descriptor
を作成します。ここで、orclownerguid=
guid
は始める前にで作成したGUIDとなります。
プレースホルダを実際の値に置き換えて、サンプル・スクリプトC:\Samples
\scripts\createresource.ldif
を変更します。
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に置く必要があります。 |
第15章「Oracle Reports Servicesの保護」で説明したように、ユーザーの権限を確認して既存のデータソース接続情報を取得するには、Oracle Reports ServicesではOracle Internet Directoryに接続する必要があります。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」を参照してください。
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は、このインスタンスでの例にすぎません。通常、これらの項目には環境に応じた値を入力します。