Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド 11g リリース1 (11.1.1) B63029-06 |
|
![]() 前 |
![]() 次 |
この章では、マルチテナントを実現するためにOracle Business Intelligenceシステムを構成する方法について説明します。Oracle Business Intelligenceを1つの環境に構成して、複数のクライアント組織(テナント)にサービスを提供できます。
この章では、次の項目について説明します。
注意: Oracle Business Intelligenceの多くの機能をテナントで使用できますが、マルチテナント環境では使用できない機能もあります。詳細は、第18.1.3.1項「テナント・ユーザーが使用できない機能」を参照してください。 |
この項では、Oracle Business Intelligenceでのマルチテナントの使用に関する基本的な情報について説明します。含まれる内容は、次のとおりです。
マルチテナントとは、1つのサーバーまたはクラスタ化されたサーバーで単一のソフトウェア・インストールを実行して複数のクライアント組織にサービスを提供するソフトウェア・アーキテクチャの原則の1つです。マルチテナント・アーキテクチャの各クライアント組織は、同じインフラストラクチャを共有する他の組織とは独立して操作を行います。マルチテナントを使用すると、1つのデプロイメントで複数の企業をホストできるようになります。互いの存在を知られることはないため、複数の競合企業をサポートすることも可能です。
テナントは1人の顧客または人々のグループとして考えることができます。たとえば、BankAおよびBankBというテナントを個別に構成できます。すべてのテナントおよびOracle Business Intelligenceシステム全体を管理する1人以上の全体管理者を設定できます。各テナントには、独自のテナント・コンシューマ、テナント作成者および1人以上のテナント管理者がいます。テナント管理者の実行可能なタスクは、テナント固有の管理タスクに制限されます。
次の各項では、マルチテナント環境で必要なアプリケーション・ロールおよびユーザーのタイプについて概説します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のアプリケーション・ロールに関する項を参照してください。
マルチテナント用に構成していないOracle Business Intelligenceのデフォルト・インストールには、BIAdministratorアプリケーション・ロールが含まれています。Oracle Business Intelligenceをマルチテナント用に構成する場合、2つの管理アプリケーション・ロールを使用します。1つは全体のグローバル管理者(BIグローバル管理者)用、もう1つはテナント管理者用です。
BIGlobalAdministratorアプリケーション・ロールは、元のBIAdministratorロールのメンバーであり、BIAdministratorのすべての権限、およびグローバルなマルチテナント管理タスクに特化して追加されたあらゆる権限を継承します。このロールのメンバーは、このガイドの他の章および『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』で説明しているように、Oracle Business Intelligenceシステムを保守できます。この管理者は、すべてのテナントの権限を制御し、プレゼンテーション・サービスの「管理」ページ、Oracle BI管理ツール、ジョブ・マネージャ、カタログ・マネージャおよびすべてのコンテンツにアクセスできます。この管理者は特定のテナントには関連付けられていません。
重要: この特権ロールを特定のテナント内のユーザーまたはグループにマップしないてください。 |
元のBIAdministratorアプリケーション・ロールが割り当てられ、BIGlobalAdministratorロールが割り当てられていないユーザーは、システムにはアクセスできますが、マルチテナント機能を管理する権限がありません。
BIグローバル管理者には、表18-2に示すorclMTTenantGUID属性およびorclMTTenantUName属性の値セットを指定できません。この管理者には一意のorclMTUID属性値が必要ですが、この値にテナント接頭辞は指定できません。
BITenantAdministratorアプリケーション・ロールには、ポリシー・ストアの特定の権限はありませんが、テナントを管理するためにOracle BIプレゼンテーション・カタログで付与される権限があります。このロールのユーザーは、1つのテナントのマルチテナント機能に対してセルフサービスの管理タスクを実行できます。この管理者は、プレゼンテーション・サービスの「管理」ページまたは「権限」ページにはアクセスできません。この管理者は、オブジェクトおよびフォルダに対するアクセス権を付与したり、オブジェクトおよびフォルダを作成、削除またはコピーしたりすることによって、カタログ内のテナント・ユーザーのコンテンツを編成します。
マルチテナント環境のエンド・ユーザーはテナント・ユーザーと呼ばれます。このユーザーは、非マルチテナント環境と同じデフォルトのアプリケーション・ロール、つまりBIAuthorおよびBIConsumerを持ちます。テナント・ユーザーをテナントIDに結び付ける関係はアイデンティティ・ストアで管理されます。エンド・ユーザーの詳細は、第18.3.2項「マルチテナント環境のテナントおよびテナント・ユーザーに必須のアイデンティティ・ストア属性」を参照してください。
図18-1は、マルチテナントで使用されるアプリケーション・ロールと、非マルチテナント環境で使用されるロールを比較しています。Oracle Business Intelligenceをマルチテナント用に構成する場合、2つのアプリケーション・ロールを作成します。BIGlobalAdministratorロールはBIAdministratorロールのメンバーです。BITenantAdministratorロールは、自身のテナント情報に対してのみセルフサービスの管理タスクを実行するテナント・ユーザー用です。
Oracle Business Intelligenceをマルチテナント用に構成しても、その多くの機能は同様に動作します。使用できないか、働きが異なる機能もあります。
次に、これらの機能の違いについて説明します。
次のリストは、テナント・ユーザーが使用できないOracle Business Intelligenceの機能について説明しています。
テナント管理者が使用できない機能は次のとおりです。BIグローバル管理者はこれらの機能を使用できます。
Fusion Middleware Control(つまり、診断、メトリック、システムの可用性および容量を確認できません)。
Essbaseコンポーネント(Essbase、Essbase StudioおよびEssbase Administration Servicesを含む)。
適切なセキュリティを適用することで、Essbaseをマルチテナント環境のデータソースとして使用できます。テナント管理者には、Essbaseの管理ツール、およびOracle Business Intelligenceの一部としてインストールされている関連ツールにアクセスする権限がありません。
Oracle BI管理ツール、カタログ・マネージャおよびジョブ・マネージャ。
使用状況トラッキングおよびMapViewer。
テナント作成者およびテナント・コンシューマが使用できない機能は次のとおりです。
カタログ・グループ、KPI、スコアカード、BI Mobile、BIコンポーザ、Oracle BI for Microsoft Office、Act As(プロキシ)機能、および直接データベース・リクエスト。
Oracle RTD、BI PublisherおよびMarketing Segmentation。
Oracle SESおよびOracle Endeca Serverでの全文カタログ検索。基本カタログ検索は使用できます。
Oracle Essbaseコンポーネント(Financial Reporting、Calculation ManagerおよびWorkspaceを含む)。
Oracle Essbase Suiteをインストールし、Oracle Business Intelligenceをマルチテナント用に構成する場合、ログ・ファイルにはOracle Essbase Suiteに関するエラーが含まれます。マルチテナント構成用のログ・ファイルでは、このようなエラーを無視してかまいません。
構成プロセスの一環としてテナント用の機能を制御する方法の詳細は、第18.5.4項「マルチテナント環境で機能を使用不可にする」を参照してください。
次のリストは、テナント・ユーザーで働きが異なるOracle Business Intelligenceの機能について説明しています。
非マルチテナント環境の場合、オブジェクト(分析やダッシュボードなど)を次のフォルダに保存すると、他のユーザーがオブジェクトを使用できます。
/Shared Folders
マルチテナント環境の場合、オブジェクト(分析やダッシュボードなど)を/Shared Foldersフォルダではなく次のフォルダに保存すると、他のテナント・ユーザーがオブジェクトを使用できます。
/Shared Folders/My Company Shared
たとえば、他のテナント・ユーザーが使用可能なforecasted_ salesという名前の分析を作成する場合、/Shared Folders/My Company Sharedに保存します。
非マルチテナント環境の場合、ダッシュボードを次の場所に保存すると、ダッシュボードがグローバル・ヘッダーの「ダッシュボード」メニューに表示されます。
/Shared Folders/first level subfolder/Dashboards
マルチテナント環境の場合、ダッシュボードを次の場所に保存すると、ダッシュボードが「ダッシュボード」メニューに表示されます。
/Shared Folders/My Company Shared/first level subfolder/Dashboards
ダッシュボードが保存されていない/Shared Folders/first level subfolderフォルダを選択すると、新規Dashboardsフォルダが自動的に作成されます。
たとえば、ダッシュボードが保存されていない/Shared Folders/My Company Shared/Salesという名前のフォルダを選択すると、新規Dashboardsフォルダが自動的に作成され、場所のエントリが/Shared Folders/My Company Shared/Sales/Dashboardsに変わります。(他のレベルのフォルダを選択すると、新規Dashboardsフォルダは自動的に作成されません。)
対象読者: BIグローバル管理者
デフォルトでは、Oracle Business Intelligenceはマルチテナント用に構成されていません。マルチテナントをサポートするようにOracle Business Intelligenceを構成する場合、システムでは、単一のOracle BIプレゼンテーション・カタログと、テナント・ユーザーが読取り専用で共有する単一のOracle BIサーバー・リポジトリが使用されます。各テナント・ユーザーにはテナントGUIDがあります。テナント・ユーザーに割り当てられるグローバル一意識別子(GUID)は、ユーザーのアイデンティティがOracle Business Intelligence内で一意であることを保証します。この割当てにより、システムにおける名前の競合や変更に対処できるようになります。ユーザーがサイン・インすると、そのテナントGUIDに基づいてシステムのビューが決定されます。テナント・ユーザーのテナントGUIDには、接続プールやその他の目的に使用するためのセッション変数が割り当てられます。
次のリストは、マルチテナント・システムの機能を説明しています。
ユーザーは、マルチテナント・システムの一部としてアプリケーション・ロールを使用します。テナント・ユーザーは、アイデンティティ・ストアのグループを介してアプリケーション・ロールにマップされます。
アプリケーション・ロールはテナント間で共有されるため、テナント固有のアプリケーション・ロールを作成することはできません。BIグローバル管理者は、アプリケーション・ロールを作成して、そのアプリケーション・ロールに(テナント固有のグループなどの)グループを割り当てることができます。このアプリケーション・ロールの名前は、そのロールに割り当てられたグループのメンバーであるかどうかにかかわらず、すべてのテナントの特定のダイアログに表示されることに注意してください。テナント管理者がアプリケーション・ロールを作成することはできません。
構成(instanceconfig.xmlファイルなど)に対するすべての変更はシステム全体に適用され、テナント固有にはなりません。これらには、カタログの権限、スキン、およびフロントエンドのカスタマイズに対する変更が含まれます。
マルチテナント環境でダッシュボードおよび分析を使用する場合、ユーザーは自身のテナントに固有のコンテンツを操作します。たとえば、ダッシュボード・コンシューマは、テナント固有のブリーフィング・ブック、ブックマークおよびプロンプト・リンクを作成します。分析および列のデフォルトのプロパティはテナント固有です。
エージェントはテナントに対してサポートされます。エージェントの範囲は、そのテナントの範囲内に制限されます。エージェントを作成して受信者をリストから追加する場合、選択できるユーザーおよびアプリケーション・ロールは次のようになります。
このリストには、ユーザーのテナント内に存在する受信ユーザーのみが表示されます。
このリストには、すべてのテナントで共有されるアプリケーション・ロールが表示されます。アプリケーション・ロールに配信を行うエージェントは、そのエージェントの作成者と同じテナントを共有するロールのメンバーに対してのみ配信を行います。
対象読者: BIグローバル管理者
Oracle Business Intelligenceをマルチテナント用に構成する際は、次の各項で説明しているセキュリティ上の考慮事項に注意してください。
マルチテナント環境におけるテナント・ユーザーの認証および認可は、Oracle Fusion Middlewareセキュリティを介してのみ実行できます。つまり、初期化ブロックを使用してテナント・ユーザーを認証および認可することはできません。
Oracle Business IntelligenceでのOracle Fusion Middlewareセキュリティの使用の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。
通常、非マルチテナントのOracle Business Intelligenceのデプロイでは、ユーザーはアイデンティティ・ストアに格納されます。表18-1は、各ユーザーに必須のアイデンティティ・ストア属性を示しています。
表18-1 非テナント・ユーザーの属性
一般に使用される属性(構成可能) | 属性の説明 | Oracle Business Intelligenceに必須かどうか |
---|---|---|
cn |
ユーザー名 |
はい |
orclGUID |
GUID |
はい |
マルチテナントのOracle Business Intelligenceのデプロイにおける各テナント・ユーザーは、さらに表18-2に示す属性に値を移入してアイデンティティ・ストアで使用可能にする必要があります。Oracle Business Intelligenceには、これらの属性をアイデンティティ・ストアに追加するツールがありません。目的のデプロイのアイデンティティ・ストアに適した手法でこれらの属性を追加する方法については、アイデンティティ・ストアの管理者に問い合せてください。
表18-2 テナント・ユーザーの属性
属性名 | 説明 | テナント・ユーザーに必須かどうか |
---|---|---|
orclMTUID |
ユーザーのグローバル一意識別子。この属性はテナント名を接頭辞に指定したユーザー名(tenantname.usernameなど)を保持します。各識別子は一意である必要があります。 |
はい |
orclMTTenantGUID |
テナントのグローバル一意識別子。 |
はい |
orclMTTenantUName |
テナントの名前。 |
いいえ |
マルチテナント環境で認証プロバイダを構成する場合、ユーザーおよびグループのベースDNはすべてのテナント間で同じにする必要があります。さらに、orclMTUID属性をユーザー名属性として使用する必要があります。認証プロバイダの構成の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。
Oracle Business Intelligenceの動作保証マトリックスにある同じ認証プロバイダがサポートされますが、それぞれのケースで、さらにユーザー属性を使用可能にするか追加する必要があります。オラクルでは、LDAPスキーマをWebLogicサーバーの組込みLDAPに拡張する機能は提供していません。そのため、Oracle Business Intelligenceをマルチテナント用に構成するプロセスの一部として、代替のアイデンティティ・ストアを構成する必要があります。動作保証マトリックスの詳細は、第1.8項「システム要件と動作保証」を参照してください。
システム・アカウントおよびOracle Business Intelligenceのテナント全体の管理に使用されるアカウントは、非マルチテナント環境と同様に機能します。具体的には、これらのアカウントはOracleSystemUserおよびBISystemUserになります。これらのユーザーには、表18-2に示すテナント関連の属性の値セットは指定できません。1つの例外として、これらのユーザーがテナント・ユーザーと同じ認証プロバイダによって認証されている場合があります。この場合は、orclMTUID属性に、テナント接頭辞を除いたユーザー名を移入する必要があります。
BISystemUserの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。
マルチテナント環境では、認証プロバイダがorclMTUID属性をユーザー名として使用するように構成されるため(表18-2を参照)、SSOの認定された手法で導出されるUserIDは、アイデンティティ・ストアの有効なorclMTUID値に一致する必要があります。SSO製品から得られるUserIDはユーザーのグローバル一意識別子である必要があり、一般にはtenantname.usernameという形式になります。
SSOの構成の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。
対象読者: BIグローバル管理者
テナント・ユーザーの操作対象は、それぞれのテナントの一部として作成されたカタログ・オブジェクトに限定されます。自身のテナント・フォルダに加えて、通常は共有領域に対する読取り専用のアクセス権を持ちます。たとえば、標準のレポート・セットを使用可能にする場合、これを共有領域で実行できます。または、標準のレポートを各テナント・フォルダにコピーできます。
Oracle BIプレゼンテーション・カタログのコンテンツはテナント間で共有されます。カタログはテナントごとにストライプ化されるため、テナント・ユーザーには、それぞれのカタログ・コンテンツの独自の仮想化ビューが表示されます。あるテナントのユーザーが、他のテナントのユーザーの所有するコンテンツにアクセスすることはできません。アプリケーション・ロールはテナントごとにストライプ化されません。
最上位レベルのテナント・フォルダは、テナントIDに基づいてストライプ化されます。カタログをテナントID別に分割することで、テナント全体にセキュリティを効果的に適用できます。テナント・ユーザーは、ログイン時に割り当てられたテナントIDを使用して、各自のカタログ・フォルダに振り分けられます。このプロセスには、テナント固有の権限のプロビジョニングは必要ありません。
マルチテナント環境では、カタログにtenantsフォルダが含まれ、そこにすべてのテナント固有のフォルダが格納されます。次の例に示すように、tenantsフォルダはshared、usersおよびsystemフォルダと同じレベルにあります。
/root /shared /system /users /tenants /acme /users /acme.user1 /acme_reports /company_shared /devices /subjectarea /system
次にカタログの構造について説明します。
/root/shared: すべてのテナント・ユーザーが読取り専用のアクセス権を持ちます。BIグローバル管理者はフル・アクセス権を持ちます。
/root/users: このフォルダにはBIグローバル管理者(つまり、テナントIDを持たないユーザー)が作成されます。
/tenants/../../system: このフォルダには、書式設定やデバイスに使用されるような、テナント固有のシステム・ファイルが含まれます。
/tenants/../../company_shared: このフォルダには企業固有の共有ファイルが含まれます。これは/root/sharedフォルダのファイルとは異なります。適切なテナントに属するすべてのユーザーは、この共有フォルダにアクセスできます。他のテナントに属するユーザーは、他のテナントのcompany_sharedフォルダを表示することも、フォルダにアクセスすることもできません。共有領域はテナントごとに仮想化されます。
/tenants/users: このフォルダにはテナントのすべてのユーザーが含まれ、「カタログ」ページに「マイ・フォルダ」として表示されます。テナント・ユーザーが/root/usersフォルダにアクセスすることはできません。
テナントに対してカタログ・グループはサポートされていないため、プレゼンテーション・サービスの「管理」ページではテナントからカタログ・グループにアクセスできません。そのようなアクセスは有効にしないでください。テナント・ユーザーの「カタログ」ページでは「管理ビュー」は使用できません。
対象読者: BIグローバル管理者
この項では、Oracle Business Intelligenceシステムをマルチテナント用に構成するためのインストール後のタスクについて説明します。これらのタスクおよびこの章の各項では、ユーザーがOracle Business Intelligenceを初めてインストールしており、デフォルトのアイデンティティ・ストア構成、ポリシー・ストア、およびOracle BIプレゼンテーション・カタログの権限を変更していないことを前提としています。
システムをマルチテナント用に構成するには:
Oracle Business Intelligenceシステムを停止します。
詳細は、第4章「Oracle Business Intelligenceの起動と停止」を参照してください。
第18.5.1項「システムでのマルチテナントの有効化」の説明に従って、マルチテナントを有効にします。
注意: この手順のテナント・プロビジョニング・タスクを完了するまで、システムにテナント・ユーザーとしてログインしないでください。 |
次の手順を実行して、アイデンティティ・ストアを構成します。
第18.3.2項「マルチテナント環境のテナントおよびテナント・ユーザーに必須のアイデンティティ・ストア属性」の説明に従って、マルチテナント属性をスキーマに追加します。
第18.3.3項「マルチテナント環境のシステム・ユーザー」の説明に従って、システム・ユーザー、管理ユーザーおよびテナント・ユーザー用のユーザーおよびグループをアイデンティティ・ストアに移入します。
注意: 詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』の代替認証プロバイダの構成に関する項を参照してください。 |
第18.5.2項「アプリケーション・ロールおよびユーザーの構成」の説明に従って、適切なアプリケーション・ロールおよびユーザーを構成します。
第18.5.3項「テナントのデータソースの構成」の説明に従って、データソースを構成します。
第18.5.4項「マルチテナント環境で機能を使用不可にする」の説明に従って、マルチテナント環境で使用できないOracle Business Intelligenceの機能を無効にします。
(オプション)第18.3.4項「SSOのUserIDはorclMTUID属性値に一致する必要がある」の説明に従って、シングル・サインオン(SSO)を構成します。
Oracle Fusion Middleware Oracle Business Intelligenceアップグレード・ガイドのOracle BIリポジトリおよびカタログのアップグレードに関する項の説明に従って、カタログをアップグレードします。
第18.6.1項「テナントのプロビジョニングおよびプロビジョニング解除」の説明に従って、テナントをプロビジョニングします。
Oracle Business Intelligenceシステムを再起動します。
プレゼンテーション・サービスに次のユーザーとしてログインします。
BIGlobalAdministrator、BIAuthorおよびBIConsumer。第18.1.3.1項「テナント・ユーザーが使用できない機能」の説明に従って、各ユーザーが適切な機能にアクセスできることを確認します。
プレゼンテーション・サービスにログインし、カタログで、BITenantAdministratorフル・アクセスをcompany_sharedフォルダに付与します。
BITenantAdministratorとしてプレゼンテーション・サービスにログインし、company_sharedディレクトリ下にディレクトリを作成します。
次に示すテナント・ユーザー用のディレクトリが、次のディレクトリ下に存在することを確認します。
ORACLE_HOME/instances/instance1/bifoundation/OracleBIPresentationServicesComponent/coreapplication_obips1/catalog/SampleAppLite/root/tenants
ORACLE_HOME/instances/instance1/bifoundation/OracleBIPresentationServicesComponent /coreapplication_obips1/catalog/SampleAppLite/root/tenants /tenant1/users /tenant2/users
テナント数に基づいて適切な数のディレクトリが存在することを確認します。
マルチテナントのオプションを有効にするには、次の手順で説明しているように、システム・プロパティを追加して適切な属性または要素を含める必要があります。
マルチテナントの使用を有効にするには:
プラットフォームに適した構文を使用して、システム・プロパティoracle.multitenant.enabled=trueをMW_HOME/user_projects/domains/bifoundation_domain/bin/setDomainEnv.sh(UNIX)または.cmd(Windows)に手動で追加します。これは、次のWindowsプラットフォームの例に示すように、EXTRA_JAVA_PROPERTIES行の後ろに入力します。
set JAVA_PROPERTIES=%JAVA_PROPERTIES% %EXTRA_JAVA_PROPERTIES%
set JAVA_PROPERTIES=%JAVA_PROPERTIES% -Doracle.multitenant.enabled=true
Oracle Business Intelligence 11g (リリース11.1.1.7.1以降)を使用する場合、属性にはFusion Middleware Control MBeanブラウザを使用します。このブラウザで、MultipleTenantsEnabled属性をbiee.admin MBeanについてtrueに設定します。
第3.5項「構成設定を更新するためのFusion Middleware Control MBeanブラウザの使用」を参照してください。
Oracle Business Intelligence 11g (リリース11.1.1.7.0)を使用する場合、次の手順を実行してマルチテナント用の要素を含めます。
第3.6項「構成ファイルの格納場所」の説明に従って、instanceconfig.xmlファイルを編集するために開きます。
EnableMultiTenancy要素を手動で追加する必要があるCatalogセクションを見つけます。
デフォルトではEnableMultiTenancy要素はinstanceconfig.xmlに含まれていませんが、デフォルトはfalseに設定されます。これを含めてtrueに設定しないと、マルチテナントのオプションは使用できません。
次の例に示すように、Catalog要素内にEnableMultiTenancy要素を含めます。Catalog要素には他の要素が含まれることもあります。
<Catalog> <EnableMultiTenancy>true</EnableMultiTenancy> </Catalog>
変更を保存してファイルを閉じます。
Oracle Business Intelligenceを再起動します。
注意: この時点で、必ずOracle Business Intelligenceを再起動します。Oracle Business Intelligenceを再起動して、マルチテナントを有効にするために加えた変更を有効にし、テナント・ユーザーのディレクトリが正しい場所に作成されるようにする必要があります。 |
次の各項の説明に従って、マルチテナント・システムに適したアプリケーション・ロールおよびユーザーを構成する必要があります。
マルチテナント・システムを管理するBIグローバル管理者を構成する必要があります。次の手順をシステム全体の管理者に対して実行します。テナント管理者には実行しません。
BIグローバル管理者を構成するには:
BIGlobalAdministratorというアプリケーション・ロールを作成します。
このアプリケーション・ロールに次の権限を付与して、すべてのテナントの管理を許可します。
resourceType=oracle.bi.multitenancy.permission,resourceName=oracle.bi.administerTenant
Action = _all_
この権限により、BIグローバル管理者は、プレゼンテーション・サービスの「管理」ページへのアクセス、「カタログ」ページの「管理ビュー」へのアクセス、およびマルチテナントのWebサービスの呼出しを実行できるようになります(詳細は、第18.6.1項「テナントのプロビジョニングおよびプロビジョニング解除」および第18.6.3項「テナントのコンテンツのアーカイブ」を参照してください)。
このアプリケーション・ロールをBIAdministratorのメンバーにします。
OPMNおよびOracle BIプレゼンテーション・サービスを再起動します。
詳細は、『Oracle Fusion Middleware管理者ガイド』のOracle Fusion Middlewareの起動と停止に関する項を参照してください。
BIグローバル管理者は各テナントの管理者を構成する必要があります。BITenantAdministratorというアプリケーション・ロールを使用してユーザーおよびグループをマップできます。このアプリケーション・ロールには、ポリシー・ストアで付与される権限はありませんが、Oracle BIプレゼンテーション・カタログ用の特定の権限があります。
テナント管理者のアプリケーション・ロールを構成するには:
BITenantAdministratorというアプリケーション・ロールを作成します。
次の項目を必ず実行してください。
BITenantAdministratorロールに権限が付与されていないことを確認します。
BIAdministratorおよびBIGlobalAdministratorロールにテナント・ユーザーが割り当てられていないことを確認します。
(オプション)ポシリー・ストアでBITenantAdministratorロールをBIAuthorアプリケーション・ロールのメンバーにします。これによりテナント管理者は、フォルダを作成して、関連タスクを実行できるようになります。
新しいテナントをプロビジョニングして、そのテナントの新しいユーザーをアイデンティティ・ストアに追加するたびに、特定のユーザーまたはグループをこのアプリケーション・ロールにマップして、それぞれのテナントの管理権限を特定のテナント・ユーザーにプロビジョニングします。
テナント・コンシューマおよびテナント作成者(コンテンツの作成者)を構成できます。これらのユーザーを作成する際は、次の点に注意してください。
すべての認証済ユーザーには、アイデンティティ・ストアのアクティブなエントリが必要です。
テナント・コンシューマおよびテナント作成者には、表18-2に示す属性の値が必要です。
テナント・コンシューマには、Oracle Business Intelligenceのコンテンツを表示するために、BIConsumerアプリケーション・ロールにマップされたアイデンティティ・ストア・グループが必要です。
テナント作成者には、コンテンツを作成および変更するために、BIAuthorアプリケーション・ロールにマップされたアイデンティティ・グループが必要です。
マルチテナント環境では、テナントごとにBIサーバーのデータ・アクセスおよびキャッシュを分離する必要があります。さらにデータベース・リソースも制御する必要があります。この項の内容は次のとおりです。
各テナント・ユーザーが自身のデータのみにアクセスするようにデータベース・リソースを制御する必要があります。テナント全体で単一のOracle BIリポジトリが共有されていますが、セッション変数を使用すればユーザーの属するテナントを識別できます。マルチテナント環境では、テナント・ユーザーがOracle Business Intelligenceにログインするたびにこのセッション変数に値が移入されます。このセッション変数はTENANTGUIDと呼ばれ、第18.3項「マルチテナント用に構成する際のセキュリティ上の考慮事項」で説明しているように、対象となるテナント・ユーザーのorclMTTenantGUID属性の値が自動的に移入されます。この値はテナントの一意識別子になります。リポジトリでは、このセッション変数を接続プール構成のセキュリティ・フィルタに使用したり、テナント別のBIサーバー・キャッシュの分離に使用したりできます。
マルチテナント環境では、単一のOracle BIリポジトリがすべてのテナント・ユーザーに読取り専用で共有されます。データソースのリポジトリおよび接続プールを変更できるのはBIグローバル管理者のみです。単一のリポジトリを使用しているため、すべてのテナントのアクセス・データは1つの接続プールを経由します。次のいずれかの手法を使用することで、データソースを基準として、テナント・ユーザーが自身のテナント・データのみにアクセスするようにできます。
第18.5.3.2.1項「手法1: Oracle DatabaseおよびSQL Serverに対してテナントごとに1つのスキーマを使用することでデータを分離する」
第18.5.3.2.2項「リレーショナル・データソースに対してTENANTGUID変数とともにBIサーバーのデータ・フィルタを使用する」
第18.5.3.2.3項「手法3: データソースにVPDを使用してOracle DatabaseおよびOracle Essbaseに対してデータ・セキュリティを適用する」
この手法では、テナント・ユーザーが問合せを実行した場合に、TENANTGUID変数を直接的または間接的に使用することで、その問合せが参照するスキーマを決定します。結果として、テナント・ユーザーには自身のスキーマのデータのみが表示されます。
この手法はデータソースのタイプがOracle Databaseの場合に使用します。この手法のバリエーションはSQL Serverに対しても有効です。その際は、パラメータ化した接続文字列をSQL Serverに対して使用します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』の「一般」タブの共通接続プール・パラメータに関する項でデータソース名の説明を参照してください。
各テナントには独自のデータベース・スキーマがあり、各スキーマの型は同じです(データは同じではありません)。
スキーマ名を表すパラメータとしてセッション変数を使用して、単一の接続プールが構成されます。
各スキーマのパスワードはすべてのスキーマで同じであり、接続プール構成に使用されます。
各スキーマのユーザー名は、各テナントのTENANTGUID値と同じであるか、1つ以上のセッション変数がスキーマ名(およびオプションでパスワード以外の接続情報)を導出するためにTENANTGUID値に基づいて構成されます。
この手法は、各ソース表にTENANTGUID列を追加可能なリレーショナル・データソースに対してのみ使用します。
テナント・データはすべて同じスキーマ内にありますが、各表には各データ行のTENANTGUID値を格納する列が含まれます。
各論理問合せでは、Oracle Business Intelligenceのセキュリティ・フィルタを適用して、TENANTGUID列の値がTENANTGUIDセッション変数と一致する行に基づいてデータが制約されるようにする必要があります。
すべてのテナント・ユーザーは、BIConsumerなど、単一のアプリケーション・ロールのメンバーである必要があります。
次に示すように、BIサーバーのデータ・フィルタをこのアプリケーション・ロールに適用する必要があります。
<TENANTGUID値を含む列> = 'valueof(NQ_SESSION.TENANTGUID)'
Oracle DatabaseまたはEssbaseに対してVPDタイプのデータ・セキュリティを適用するようにOracle Business Intelligenceを構成できます。
データ・セキュリティを適用するようにデータソースを構成して、テナント・ユーザーに自身のテナントのデータのみが表示されるようにします。
この手順は、次のデータソースのタイプに固有のものです。
Oracle Databaseでは、Oracle Databaseの接続プールにカスタムの接続時スクリプトを追加する必要があります。このカスタム・スクリプトによってVPD接続を設定します。
Essbaseについては、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』の「一般」タブのマルチディメンショナル接続プールのプロパティに関する項を参照してください。
OBIS_DB_MAXROWSおよびOBIS_DB_MAXEXECTIMEの2つのセッション変数を使用すると、Oracle BIリポジトリに定義されたすべてのデータベース・オブジェクトに対してテナント固有の問合せ制限を簡単に適用できます。これらの変数はオプションですが、設定すると、リポジトリ内のアプリケーション・ロールまたはユーザーに割り当てられた権限に基づいてBIサーバーで取得された、最大行数および最大実行時間の値がオーバーライドされます。
これらの変数は、Oracle Business Intelligenceの他のセッション変数と同様に設定します。たとえば、TENANTGUID値に基づいてデータベース表の値を検索する初期化ブロックを使用してそれらを設定できます。セッション変数の設定方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』を参照してください。
第18.1.3.1項「テナント・ユーザーが使用できない機能」には、マルチテナント環境で使用できない機能が記載されています。次の手順に従って、テナント・ユーザーがこれらの機能にアクセスできないことを手動で確認する必要があります。
マルチテナント環境で機能を使用不可にするには:
BIGlobalAdministratorロールのメンバーとしてプレゼンテーション・サービスにログインします。
『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のプレゼンテーション・サービスの権限の管理に関する項の説明に従って、次の権限を除いてテナント作成者のすべての権限を取り消します。
Access to Answers Access to Delivers Access to Metadata Dictionary Create Invoke Actions Change Permissions Manage Dashboards Add To or Edit a Briefing Book See Hidden Items Create Folders Perform Global Search Create Conditions Create Views Create Prompts Edit Column Formulas Enter XML and Logical SQL Create Advanced Filters and Set Operations Save Filters Create Agents Publish Agents for Subscription Chain Agents Subject Area Access as appropriate Add/Edit Column SelectorView Add/Edit Compound LayoutView Add/Edit GraphView Add/Edit FunnelView Add/Edit GaugeView Add/Edit Micro Chart View Add/Edit FiltersView Add/Edit Dashboard PromptView Add/Edit Performance TileView Add/Edit Static TextView Add/Edit LegendView Add/Edit NarrativeView Add/Edit No ResultsView Add/Edit Pivot TableView Add/Edit Report PromptView Add/Edit Selection StepsView Add/Edit TableView Add/Edit TickerView Add/Edit TitleView Add/Edit TrellisView Add/Edit View SelectorView
エージェントの作成および受信者の追加を実行するために、次の権限をテナント作成者に付与します。
User Population - Can List Application Roles
この権限を付与しないと、エージェントを使用した作業で「受信者」タブをクリックしたときに、エラー・メッセージが表示されます。
次の権限を除いてテナント・コンシューマのすべての権限を取り消します。
Access to Dashboards Access to Briefing Books Catalog Preview Pane UI Access to Export Create Navigate Actions See SQL issued in errors User Population - Can List Users User Population - Can List Application Roles Access to Permissions Dialog Download Briefing Book Add to snapshot briefing book Personal Storage (My Folders and My Dashboard) Save Customizations Create Bookmark Links Create Prompted Links Export Entire Dashboard To Excel Export Single Dashboard Page To Excel Access Home Page Access Catalog UI Access Catalog Search UI Simple Search Field Advanced Search Link Open Menu New Menu Help Menu Dashboards Menu Favorites Menu My Account Link Custom Links Access to My Account Change Preferences Change Delivery Options Access to RSS Feeds
テナント管理者に次の権限を付与します。
Deliver Agents to Specific or Dynamically Determined Users Modify Current Subscriptions for Agents
すべてのSOAP権限をBIグローバル管理者に付与して、Webサービス・タスクを実行できるようにします。このタスクには、テナントのプロビジョニングとプロビジョニング解除、およびコンテンツのアーカイブなどが含まれます。
ポリシー・ストアで、BIConsumerおよびBIAuthorロールにデフォルトで付与される権限がテナント・ユーザーに付与されていないことを確認します。
これらの権限を変更している場合は、他の管理者によって設定が変更されていないことを確認します。
対象読者: BIグローバル管理者
テナントを管理するには、次のタスクを実行します。
この項では、テナントのプロビジョニングに関する次の情報について説明します。
新規テナントのプロビジョニングおよび既存テナントのプロビジョニング解除はいつでも実行できます。テナントをプロビジョニングする場合は、そのテナント用にカタログを構成します。共有フォルダやテナント固有のフォルダをカタログ内に作成します。テナントをプロビジョニング解除すると、そのフォルダがカタログから削除されます。テナントのプロビジョニングおよびプロビジョニング解除によって、アイデンティティ・ストアやポリシー・ストアの構成が変更されることはありません。
たとえば、自身の組織と契約を結ぶ特定の企業に対してプロビジョニングを実行できます。ここではテナントAをプロビジョニングすると仮定します。テナントAのユーザーのホーム・フォルダは/tenants/TenantA/usersフォルダに含まれます。これらの包含はテナントAのユーザーに対して完全に透過的です。表示権限のあるテナントには/sharedフォルダが表示されますが、表示されるのは自身のテナントIDに固有のテナント・フォルダのみです。
次の各項では、テナントをプロビジョニングおよびプロビジョニング解除するためのツールについて説明します。
カタログをオフライン・モードで開いている場合は、カタログ・マネージャのメニュー・オプションを使用してテナントをプロビジョニングおよびプロビジョニング解除できます。カタログ・マネージャの「ツール」メニューから「マルチテナント」を選択し、「テナントのプロビジョニング」または「テナントのプロビジョニング解除」を選択します。
テナントが適切にプロビジョニングされていることを確認するには、カタログのルート・ディレクトリにtenants
というサブディレクトリがあることを確認します。次の例では、SampleAppLiteアプリケーションのルート・フォルダ下にあるtenants
サブディレクトリを示しています。
ORACLE_HOME/instances/instance1/bifoundation/OracleBIPresentationServicesComponent /coreapplication_obips1/catalog/SampleAppLite/root/tenants
カタログをオンライン・モードで開いている場合は、第18.5.2項「アプリケーション・ロールおよびユーザーの構成」で説明しているように、BIGlobalAdministratorロールが割り当てられている場合のみWebサービスを使用してテナントをプロビジョニングおよびプロビジョニング解除できます。
このロールでは、適切なWebサービス・クライアントを使用して、BIセッションIDをオンライン・モードで取得できます。マルチテナント・システムにおけるOracle BIプレゼンテーション・サービスのカタログおよびアーティファクトのオブジェクトは、MultiTenancyManagementServiceというセッションベースのSOAP Webサービスを使用して管理します。次の場所でWebサービスのwsdlにアクセスできます。
http://managed-server-host-name:port-number/analytics/saw.dll/wsdl/v8
次のメソッドを使用してテナントをプロビジョニングおよびプロビジョニング解除します。
MultiTenancyManagementService.provisionTenant(ListOFTenantGUIDs, sessionID)
MultiTenancyManagementService.unprovisionTenant(ListOFTenantGUIDs, sessionID)
Oracle Business IntelligenceでのWebサービスの使用の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionインテグレーターズ・ガイド』を参照してください。
マルチテナント・システムのテナントが不要になった場合は、次の手順を実行して、テナントとそのコンテンツを削除できます。この手順では、テナント・ユーザーのユーザー・フォルダを削除します。
テナントを削除するには:
カタログ・マネージャでテナントをプロビジョニング解除することによりテナントのフォルダを削除します。詳細は、第18.6.1項「テナントのプロビジョニングおよびプロビジョニング解除」を参照してください。
アイデンティティ・ストアでテナントのアイデンティティを削除します。
テナントのデータソースを削除します。
テナントに属するオブジェクトおよびフォルダをアーカイブおよびアンアーカイブできます。ユーザーが次の権限を持っているとします。
oracle.bi.multitenancy.permission,resourceName=oracle.bi.administerTenant
この場合、適切なWebサービス・クライアントを使用してBIセッションIDを取得し、次に示すMultiTenancyManagementService Webサービスのメソッドを呼び出すことができます。
MultiTenancyManagementService.archiveTenant(ListOFTenantGUIDs, sessionID)
MultiTenancyManagementService.unarchiveTenant(ListOFTenantGUIDs, sessionID)
対象読者: BIグローバル管理者およびテナント管理者
テナントを追加する際に「パスが見つかりません」というエラーが表示される場合は、Oracle BIプレゼンテーション・カタログが最新バージョンにアップグレードされていることを確認してください。