Oracle® Fusion Middleware Oracle Business Intelligence Publisher管理者ガイド 12c (12.2.1) E70037-01 |
|
![]() 前 |
![]() 次 |
この章では、SSL構成、プロキシ設定、ローカル・スーパーユーザーの有効化およびゲスト・ユーザーの有効化など、BI Publisherの他のセキュリティに関するトピックについて説明します。
内容は次のとおりです。
BI Publisherでは、管理者であるスーパーユーザーを定義することができます。スーパーユーザーの資格証明を使用して、定義されたセキュリティ・モデル経由でログインすることなく、BI Publisherサーバー管理機能に直接アクセスできます。
構成済のセキュリティ・モデルに障害が発生したときにすべての管理機能にアクセスできるように、スーパーユーザーを設定します。スーパーユーザーの設定を強くお薦めします。
ローカル・スーパーユーザーを有効化する手順は次のとおりです。
「管理」をクリックします。
「セキュリティ・センター」で「セキュリティ構成」を選択します。
図4-1に示すように、「ローカル・スーパーユーザー」でボックスを選択し、スーパーユーザーの資格証明を入力します。
BI Publisherアプリケーションを再起動します。
BI Publisherでは、ゲスト・フォルダを定義することにより、特定のレポートに対するパブリック・アクセスを構成できます。すべてのユーザーは、資格証明を入力することなくこのフォルダのレポートにアクセスできます。
注意: BI Publisherが共有カタログを使用している、またはOracle Business Intelligence Enterprise Editionでインストールされている場合、ゲスト・アクセスはサポートされません。 シングル・サインオンでは、ゲスト・アクセスはサポートされません。 |
ゲスト・ユーザーがアクセス権限を持っているのはゲスト・フォルダに対してのみであるため、レポートの表示に必要なすべてのオブジェクトは、ゲスト・フォルダに含まれている必要があります。したがって、レポートやデータ・モデル、および、該当する場合にはサブ・テンプレートやスタイル・テンプレートも、ゲスト・フォルダに含まれている必要があります。ゲスト・ユーザーには読取りアクセス権のみを付与する必要があります。
ゲスト・ユーザーには、レポート・データソースに対するアクセス権も付与する必要があります。
ゲスト・アクセスを有効にするには:
「共有フォルダ」の下に、パブリック・アクセスを付与するフォルダを作成します。
「管理」をクリックします。
「セキュリティ・センター」で「セキュリティ構成」を選択します。
「ゲスト・アクセス」で、「ゲスト・アクセスを許可」を選択します。
図4-2に示すように、パブリック・アクセス用に作成したフォルダの名前を入力します。
BI Publisherアプリケーションを再起動します。
ゲスト・ユーザーがアクセスできるゲスト・フォルダに、フォルダ、レポート、データ・モデル、サブ・テンプレート、スタイル・テンプレートなどのオブジェクトを追加します。
注意: レポートは、ゲスト・フォルダに格納されているデータ・モデルを参照する必要があります。したがって、レポートとそのデータ・モデルを別の場所からコピーする場合は、必ず、そのレポートを開いてデータ・モデルを選択しなおし、レポートがゲスト・フォルダ内のデータ・モデルを参照するようにします。 |
同様に、サブ・テンプレートやスタイル・テンプレートに対する参照も更新する必要があります。
ゲスト・フォルダのデータ・モデルで使用されるデータソースに対するアクセス権を付与します。データソースに対するゲスト・アクセス権の付与の詳細は、第8章「データソースの設定」を参照してください。
BI Publisherにアクセスすると、ログオン・ページに「ゲスト」ボタンが表示されます。このボタンを選択したユーザーは、資格証明を入力することなく、選択したゲスト・フォルダのレポートを表示できます。
信頼できるユーザー名とパスワードが渡されたときにインターセプトされる可能性があるため、Webサービスをホスティングする中間層でSecure Socket Layer(HTTPS)を有効にすることを強くお薦めします。また、BI PublisherとOracle BI Presentation Servicesとの間の通信に使用されるWebサービスも同様です。
SSLをBI Publisherで有効化するためのタスクは、次のとおりです。
Oracle BI EEでSSLを構成する方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のエンドツーエンドSSLの有効化に関する項を参照してください。
Secure Sockets Layer(SSL)で保護されているWebサービスをコールする場合は、そのWebサービスをホスティングするWebサーバーから証明書をエクスポートしてから、BI Publisherを実行しているコンピュータのJavaキーストアにその証明書をインポートする必要があります。
Webサービスの証明書をインポートする手順は次のとおりです。
WSDLが存在するHTTPSサイトにナビゲートします。
画面上の指示に従って証明書をダウンロードします。表示される指示は、使用しているブラウザによって異なります。
次のように、Java keytoolを使用して証明書をキーストアにインストールします。
keytool -import -file <certfile> -alias <certalias> -keystore <keystore file>
アプリケーション・サーバーを再起動します。
サーバー証明書がVeriSignなどの認証局にリンクしている場合は、この手順は不要です。ただし、Webサービスのサーバーで自己生成証明書を使用している場合(テスト環境内など)は、これらの手順が必要になります。
プロパティ"virtualize"をFusion Middleware Controlの「アイデンティティ・ストア構成」に追加して、BI PublisherでSSLを有効化する必要があります。
virtualizeプロパティを追加する手順は、次のとおりです。
Fusion Middleware Control 12cにログインします。
https://<Host>/<SecureAdminPort>/em
「WebLogicドメイン」、「セキュリティ」、「セキュリティ・プロバイダ構成」の順に選択します。
「セキュリティ・ストア・プロバイダ」セグメントを開きます。
「アイデンティティ・ストア・プロバイダ」セグメントを開きます。
「構成」をクリックします。
「追加」(+)をクリックして、新しいプロパティを追加します。
「新規プロパティの追加」ダイアログに、次のように入力します
プロパティ名: virtualize
値: true
「アイデンティティ・ストア・プロバイダ」ページで、「OK」をクリックします。
次のようにして、jps-config.xml
ファイルに追加されたプロパティを確認します。
次の場所で、jps-config.xml
ファイルを開きます
<DomainHome>/config/fmwconfig/jps-config.xml
ファイルに次のラインが含まれていることを確認します。
<property name="virtualize" value="true"/>
SSLが有効化されている場合、BI PublisherをOracle BI EEにデータソースとして接続するには、デフォルトの接続の文字列を更新する必要があります。第B.4項「Oracle BI ServerへのJDBC接続の設定」のガイドラインの説明に従ってください。
次のようにして、スケジューラJMSの構成を更新し、SSL URLを使用します。
BI Publisherの「管理」ページで、「システム・メンテナンス」の下の「スケジューラ構成」をクリックします。
「WebLogic JNDI URL」を更新し、SSLを使用します。次に例を示します。
cluster:t3s://bi_cluster
「適用」をクリックします。
「スケジューラ診断」タブをクリックします。
接続が診断に渡されたことを確認します。
BI Publisherに組込みのデフォルトの証明書を使用する場合は、これ以上の構成は必要はありません。Verisignなどの信頼できる認証局により署名された証明書をサーバーで使用する場合でも、SSLはデフォルト証明書で動作します。
ユーザーが、SSLを自己署名証明書と使用する場合、証明書情報を「配信構成」ページに入力する必要があります(第10.1項「配信オプションの構成」を参照してください)。自己署名証明書とは、信頼されていない認証局(通常はユーザー)によって署名された証明書です。
cookie-secureフラグは、HTTPS接続を介してのみCookieを送信するようにWebブラウザに伝えます。これにより、Cookieは必ずセキュアなチャネル上でのみ送信されます。アプリケーションによって公開されたURLに対してHTTPSを有効にする必要があります。
cookie-secureフラグを有効化するには、次のようにして、weblogic.xml
をxmlpserver.war
ファイル(xmlpserver.ear
内)で更新します。
xmlpserver.ear
ファイルを、ORACLE_HOME/bifoundation/jee/
の下で特定します
xmlpserver.ear
ファイルを解凍します。
xmlpserver.war
ファイルを解凍します。
WEB-INF/weblogic.xml
ファイルをバックアップします。
WEB-INF/weblogic.xml
ファイルを開きます。
<wls:session-descriptor>
に次の属性を追加します。
<wls:cookie-secure>true</wls:cookie-secure> <wls:url-rewriting-enabled>false</wls:url-rewriting-enabled>
次に例を示します。
<?xml version = '1.0' encoding = 'US-ASCII'?> <wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd"> <wls:session-descriptor> <wls:cookie-path>/xmlpserver</wls:cookie-path> <wls:cookie-secure>true</wls:cookie-secure> <wls:url-rewriting-enabled>false</wls:url-rewriting-enabled> </wls:session-descriptor> <wls:context-root>xmlpserver</wls:context-root> <wls:library-ref> ...
xmlpserver.war
ファイルを再パッケージ化します。
xmlpserver.ear
ファイルを再パッケージします。
WebLogic Serverコンソールへ進み、bipublisherデプロイメントを更新します。
BI Publisherサーバーがファイアウォールの背後に構成されているか、インターネットへのアクセスにプロキシが必要になる場合、外部WebサービスやHTTPデータソースを使用するには、Webサービス・リクエストを許可し、プロキシを認識するように、Oracle WebLogic Serverを構成する必要があります。プロキシ設定を構成する場合は、BI Publisherが(プロキシ経由ではなく)直接接続する必要のあるすべてのホスト(Oracle BI Enterprise Editionホストなど)を認識するようにWebLogic Serverを構成する必要があります。次のパラメータを設定して、WebLogic Serverにプロキシ・ホストと非プロキシ・ホストを定義します。
-Dhttp.proxyHost
- プロキシ・ホストを指定します。次に例を示します。
-Dhttp.proxyHost: www-proxy.example.com
-Dhttp.proxyPort
- プロキシ・ホストのポートを指定します。次に例を示します。
-Dhttp.proxyPort=80
-Dhttp.nonProxyHosts
- プロキシ経由ではなく、直接接続するホストを指定します。ホストのリストを指定する場合は、それぞれを「|」で区切って指定します。また、マッチングにワイルドカード文字(*)を使用することもできます。次に例を示します。
-Dhttp.nonProxyHosts="localhost|*.example1.com|*.example2.com
WebLogic Serverにこれらのプロキシ・パラメータを設定し、Webサービスの構成を行うには、WebLogicのsetDomainEnvスクリプトに次の内容を追加します。
MW_HOME/user_projects/domains/DOMAIN_NAME/bin/ディレクトリ内のsetDomainEnvスクリプト(.shまたは.bat)を開きます。
次のパラメータを入力します。
EXTRA_JAVA_PROPERTIES="-Dhttp.proxyHost=www-proxy.example.com -Dhttp.proxyPort=80 -Dhttp.nonProxyHosts=localhost|*.mycompany.com|*.mycorporation.com|*.otherhost.com ${EXTRA_JAVA_PROPERTIES}" export EXTRA_JAVA_PROPERTIES EXTRA_JAVA_PROPERTIES="-Djavax.xml.soap.MessageFactory=oracle.j2ee.ws.saaj.soap.MessageFactoryImpl -Djavax.xml.soap.SOAPFactory=oracle.j2ee.ws.saaj.SOAPFactoryImpl -Djavax.xml.soap.SOAPConnectionFactory=oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnectionFactory ${EXTRA_JAVA_PROPERTIES}" export EXTRA_JAVA_PROPERTIES
各項目の意味は次のとおりです。
www-proxy.example.com
は、プロキシ・ホストの例です。
80
は、プロキシ・ポートの例です。
localhost|*.mycompany.com|*.mycorporation.com|*.otherhost.com
は、非プロキシ・ホストの例です。