ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド
11g リリース1 (11.1.1)
B63029-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

18 マルチテナントの構成

この章では、マルチテナントを実現するためにOracle Business Intelligenceシステムを構成する方法について説明します。Oracle Business Intelligenceを1つの環境に構成して、複数のクライアント組織(テナント)にサービスを提供できます。

この章では、次の項目について説明します。


注意:

Oracle Business Intelligenceの多くの機能をテナントで使用できますが、マルチテナント環境では使用できない機能もあります。詳細は、第18.1.3項「テナント・ユーザーが使用できない機能」を参照してください。


18.1 Oracle Business Intelligenceのマルチテナントの概要

この項では、Oracle Business Intelligenceでのマルチテナントの使用に関する基本的な情報について説明します。含まれる内容は、次のとおりです。

18.1.1 マルチテナントとは

マルチテナントとは、1つのサーバーまたはクラスタ化されたサーバーで単一のソフトウェア・インストールを実行して複数のクライアント組織にサービスを提供するソフトウェア・アーキテクチャの原則の1つです。マルチテナント・アーキテクチャの各クライアント組織は、同じインフラストラクチャを共有する他の組織とは独立して操作を行います。マルチテナントを使用すると、1つのデプロイメントで複数の企業をホストできるようになります。互いの存在を知られることはないため、複数の競合企業をサポートすることも可能です。

18.1.2 必要なアプリケーション・ロールのタイプ

テナントは1人の顧客または人々のグループとして考えることができます。たとえば、BankAおよびBankBというテナントを個別に構成できます。すべてのテナントおよびOracle Business Intelligenceシステム全体を管理する1人以上の全体管理者を設定できます。各テナントには、独自のテナント・コンシューマ、テナント作成者および1人以上のテナント管理者がいます。テナント管理者の実行可能なタスクは、テナント固有の管理タスクに制限されます。

次の各項では、マルチテナント環境で必要なアプリケーション・ロールおよびユーザーのタイプについて概説します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のアプリケーション・ロールに関する項を参照してください。

18.1.2.1 BIグローバル管理者のアプリケーション・ロール

マルチテナント用に構成していない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属性値が必要ですが、この値にテナント接頭辞は指定できません。

18.1.2.2 テナント管理者

BITenantAdministratorアプリケーション・ロールには、ポリシー・ストアの特定の権限はありませんが、テナントを管理するためにOracle BIプレゼンテーション・カタログで付与される権限があります。このロールのユーザーは、1つのテナントのマルチテナント機能に対してセルフサービスの管理タスクを実行できます。この管理者は、プレゼンテーション・サービスの「管理」ページまたは「権限」ページにはアクセスできません。この管理者は、オブジェクトおよびフォルダに対するアクセス権を付与したり、オブジェクトおよびフォルダを作成、削除またはコピーしたりすることによって、カタログ内のテナント・ユーザーのコンテンツを編成します。

18.1.2.3 テナント・エンド・ユーザー

マルチテナント環境のエンド・ユーザーはテナント・ユーザーと呼ばれます。このユーザーは、非マルチテナント環境と同じデフォルトのアプリケーション・ロール、つまりBIAuthorおよびBIConsumerを持ちます。テナント・ユーザーをテナントIDに結び付ける関係はアイデンティティ・ストアで管理されます。エンド・ユーザーの詳細は、第18.3.2項「マルチテナント環境のテナントおよびテナント・ユーザーに必須のアイデンティティ・ストア属性」を参照してください。

18.1.2.4 アプリケーション・ロールの比較

図18-1は、マルチテナントで使用されるアプリケーション・ロールと、非マルチテナント環境で使用されるロールを比較しています。Oracle Business Intelligenceをマルチテナント用に構成する場合、2つのアプリケーション・ロールを作成します。BIGlobalAdministratorロールはBIAdministratorロールのメンバーです。BITenantAdministratorロールは、自身のテナント情報に対してのみセルフサービスの管理タスクを実行するテナント・ユーザー用です。

図18-1 マルチテナントのアプリケーション・ロール

図18-1の説明は次にあります。
「図18-1 マルチテナントのアプリケーション・ロール」の説明

18.1.3 テナント・ユーザーが使用できない機能

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での全文カタログ検索。基本カタログ検索は使用できます。

    • Essbaseコンポーネント(Financial Reporting、Calculation ManagerおよびWorkspaceを含む)。

18.2 マルチテナント用に構成されたOracle Business Intelligenceの動作方法

対象読者: BIグローバル管理者

デフォルトでは、Oracle Business Intelligenceはマルチテナント用に構成されていません。マルチテナントをサポートするようにOracle Business Intelligenceを構成する場合、システムでは、単一のOracle BIプレゼンテーション・カタログと、テナント・ユーザーが読取り専用で共有する単一のOracle BIサーバー・リポジトリが使用されます。各テナント・ユーザーにはテナントGUIDがあります。テナント・ユーザーに割り当てられるグローバル一意識別子(GUID)は、ユーザーのアイデンティティがOracle Business Intelligence内で一意であることを保証します。この割当てにより、システムにおける名前の競合や変更に対処できるようになります。ユーザーがサイン・インすると、そのテナントGUIDに基づいてシステムのビューが決定されます。テナント・ユーザーのテナントGUIDには、接続プールやその他の目的に使用するためのセッション変数が割り当てられます。

次のリストは、マルチテナント・システムの機能を説明しています。

18.3 マルチテナント用に構成する際のセキュリティ上の考慮事項

対象読者: BIグローバル管理者

Oracle Business Intelligenceをマルチテナント用に構成する際は、次の各項で説明しているセキュリティ上の考慮事項に注意してください。

18.3.1 Fusion Middlewareセキュリティを使用したテナント・ユーザーの認証および認可

マルチテナント環境におけるテナント・ユーザーの認証および認可は、Oracle Fusion Middlewareセキュリティを介してのみ実行できます。つまり、初期化ブロックを使用してテナント・ユーザーを認証および認可することはできません。

Oracle Business IntelligenceでのOracle Fusion Middlewareセキュリティの使用の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。

18.3.2 マルチテナント環境のテナントおよびテナント・ユーザーに必須のアイデンティティ・ストア属性

通常、非マルチテナントの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項「システム要件と動作保証」を参照してください。

18.3.3 マルチテナント環境のシステム・ユーザー

システム・アカウントおよびOracle Business Intelligenceのテナント全体の管理に使用されるアカウントは、非マルチテナント環境と同様に機能します。具体的には、これらのアカウントはOracleSystemUserおよびBISystemUserになります。これらのユーザーには、表18-2に示すテナント関連の属性の値セットは指定できません。1つの例外として、これらのユーザーがテナント・ユーザーと同じ認証プロバイダによって認証されている場合があります。この場合は、orclMTUID属性に、テナント接頭辞を除いたユーザー名を移入する必要があります。

BISystemUserの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』を参照してください。

18.3.4 SSOのUserIDはorclMTUID属性値に一致する必要がある

マルチテナント環境では、認証プロバイダがorclMTUID属性をユーザー名として使用するように構成されるため(表18-2を参照)、SSOの認定された手法で導出されるUserIDは、アイデンティティ・ストアの有効なorclMTUID値に一致する必要があります。SSO製品から得られるUserIDはユーザーのグローバル一意識別子である必要があり、一般にはtenantname.usernameという形式になります。

18.4 テナントのカタログ・オブジェクトの保護

対象読者: 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

次にカタログの構造について説明します。

テナントに対してカタログ・グループはサポートされていないため、プレゼンテーション・サービスの「管理」ページではテナントからカタログ・グループにアクセスできません。そのようなアクセスは有効にしないでください。テナント・ユーザーの「カタログ」ページでは「管理ビュー」は使用できません。

18.5 システムのマルチテナント用の構成

対象読者: BIグローバル管理者

この項では、Oracle Business Intelligenceシステムをマルチテナント用に構成するためのインストール後のタスクについて説明します。これらのタスクおよびこの章の各項では、ユーザーがOracle Business Intelligenceを初めてインストールしており、デフォルトのアイデンティティ・ストア構成、ポリシー・ストア、およびOracle BIプレゼンテーション・カタログの権限を変更していないことを前提としています。

システムをマルチテナント用に構成するには:

  1. Oracle Business Intelligenceシステムを停止します。

    詳細は、第4章「Oracle Business Intelligenceの起動と停止」を参照してください。

  2. 第18.5.1項「システムでのマルチテナントの有効化」の説明に従って、マルチテナントを有効にします。


    注意:

    この手順のテナント・プロビジョニング・タスクを完了するまで、システムにテナント・ユーザーとしてログインしないでください。


  3. 次の手順を実行して、アイデンティティ・ストアを構成します。

    1. 第18.3.2項「マルチテナント環境のテナントおよびテナント・ユーザーに必須のアイデンティティ・ストア属性」の説明に従って、マルチテナント属性をスキーマに追加します。

    2. 第18.3.3項「マルチテナント環境のシステム・ユーザー」の説明に従って、システム・ユーザー、管理ユーザーおよびテナント・ユーザー用のユーザーおよびグループをアイデンティティ・ストアに移入します。

  4. 第18.5.2項「アプリケーション・ロールおよびユーザーの構成」の説明に従って、適切なアプリケーション・ロールおよびユーザーを構成します。

  5. 第18.5.3項「テナントのデータソースの構成」の説明に従って、データソースを構成します。

  6. 第18.5.4項「マルチテナント環境で機能を使用不可にする」の説明に従って、マルチテナント環境で使用できないOracle Business Intelligenceの機能を無効にします。

  7. (オプション)第18.3.4項「SSOのUserIDはorclMTUID属性値に一致する必要がある」の説明に従って、シングル・サインオン(SSO)を構成します。

  8. 第18.6.1項「テナントのプロビジョニングおよびプロビジョニング解除」の説明に従って、テナントをプロビジョニングします。

  9. Oracle Business Intelligenceシステムを再起動します。

18.5.1 システムでのマルチテナントの有効化

マルチテナントのオプションを有効にするには、次の手順で説明しているようにシステム・プロパティを追加して、instanceconfig.xmlファイルに適切な要素を含める必要があります。

マルチテナントの使用を有効にするには:

  1. プラットフォームに適した構文を使用して、システム・プロパティ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

  2. 第3.6項「構成ファイルの格納場所」の説明に従って、instanceconfig.xmlファイルを編集するために開きます。

  3. EnableMultiTenancy要素を追加するCatalogセクションを見つけます。

    デフォルトではEnableMultiTenancy要素はinstanceconfig.xmlに含まれていませんが、デフォルトはfalseに設定されます。これをtrueに設定しないと、マルチテナントのオプションは使用できません。

  4. 次の例に示すように、Catalog要素内にEnableMultiTenancy要素を含めます。Catalog要素には他の要素が含まれることもあります。

    <Catalog>
          <EnableMultiTenancy>true</EnableMultiTenancy>
    </Catalog>
    
  5. 変更を保存してファイルを閉じます。

  6. Oracle Business Intelligenceを再起動します。

18.5.2 アプリケーション・ロールおよびユーザーの構成

次の各項の説明に従って、マルチテナント・システムに適したアプリケーション・ロールおよびユーザーを構成する必要があります。

18.5.2.1 BIグローバル管理者の構成

マルチテナント・システムを管理するBIグローバル管理者を構成する必要があります。次の手順をシステム全体の管理者に対して実行します。テナント管理者には実行しません。

BIグローバル管理者を構成するには:

  1. BIGlobalAdministratorというアプリケーション・ロールを作成します。

  2. このアプリケーション・ロールに次の権限を付与して、すべてのテナントの管理を許可します。

    resourceType=oracle.bi.multitenancy.permission,resourceName=oracle.bi.administerTenant
    Action = _all_

    この権限により、BIグローバル管理者は、プレゼンテーション・サービスの「管理」ページへのアクセス、「カタログ」ページの「管理ビュー」へのアクセス、およびマルチテナントのWebサービスの呼出しを実行できるようになります(詳細は、第18.6.1項「テナントのプロビジョニングおよびプロビジョニング解除」および第18.6.3項「テナントのコンテンツのアーカイブ」を参照してください)。

  3. このアプリケーション・ロールをBIAdministratorのメンバーにします。

18.5.2.2 テナント管理者のアプリケーション・ロールの構成

BIグローバル管理者は各テナントの管理者を構成する必要があります。BITenantAdministratorというアプリケーション・ロールを使用してユーザーおよびグループをマップできます。このアプリケーション・ロールには、ポリシー・ストアで付与される権限はありませんが、Oracle BIプレゼンテーション・カタログ用の特定の権限があります。

テナント管理者のアプリケーション・ロールを構成するには:

  1. BITenantAdministratorというアプリケーション・ロールを作成します。

  2. 次の項目を必ず実行してください。

    • BITenantAdministratorロールに権限が付与されていないことを確認します。

    • BIAdministratorおよびBIGlobalAdministratorロールにテナント・ユーザーが割り当てられていないことを確認します。

  3. (オプション)ポシリー・ストアでBITenantAdministratorロールをBIAuthorアプリケーション・ロールのメンバーにします。これによりテナント管理者は、フォルダを作成して、関連タスクを実行できるようになります。

  4. 新しいテナントをプロビジョニングして、そのテナントの新しいユーザーをアイデンティティ・ストアに追加するたびに、特定のユーザーまたはグループをこのアプリケーション・ロールにマップして、それぞれのテナントの管理権限を特定のテナント・ユーザーにプロビジョニングします。

18.5.2.3 テナント・ユーザーの構成

テナント・コンシューマおよびテナント作成者(コンテンツの作成者)を構成できます。これらのユーザーを作成する際は、次の点に注意してください。

  • すべての認証済ユーザーには、アイデンティティ・ストアのアクティブなエントリが必要です。

  • テナント・コンシューマおよびテナント作成者には、表18-2に示す属性の値が必要です。

  • テナント・コンシューマには、Oracle Business Intelligenceのコンテンツを表示するために、BIConsumerアプリケーション・ロールにマップされたアイデンティティ・ストア・グループが必要です。

  • テナント作成者には、コンテンツを作成および変更するために、BIAuthorアプリケーション・ロールにマップされたアイデンティティ・グループが必要です。

18.5.3 テナントのデータソースの構成

マルチテナント環境では、テナントごとにBIサーバーのデータ・アクセスおよびキャッシュを分離する必要があります。さらにデータベース・リソースも制御する必要があります。この項の内容は次のとおりです。

18.5.3.1 データベース・リソースの制御

各テナント・ユーザーが自身のデータのみにアクセスするようにデータベース・リソースを制御する必要があります。テナント全体で単一のOracle BIリポジトリが共有されていますが、セッション変数を使用すればユーザーの属するテナントを識別できます。マルチテナント環境では、テナント・ユーザーがOracle Business Intelligenceにログインするたびにこのセッション変数に値が移入されます。このセッション変数はTENANTGUIDと呼ばれ、第18.3項「マルチテナント用に構成する際のセキュリティ上の考慮事項」で説明しているように、対象となるテナント・ユーザーのorclMTTenantGUID属性の値が自動的に移入されます。この値はテナントの一意識別子になります。リポジトリでは、このセッション変数を接続プール構成のセキュリティ・フィルタに使用したり、テナント別のBIサーバー・キャッシュの分離に使用したりできます。

18.5.3.2 テナント固有のデータ・セキュリティの適用

マルチテナント環境では、単一のOracle BIリポジトリがすべてのテナント・ユーザーに読取り専用で共有されます。データソースのリポジトリおよび接続プールを変更できるのはBIグローバル管理者のみです。単一のリポジトリを使用しているため、すべてのテナントのアクセス・データは1つの接続プールを経由します。次のいずれかの手法を使用することで、データソースを基準として、テナント・ユーザーが自身のテナント・データのみにアクセスするようにできます。

18.5.3.2.1 手法1: Oracle DatabaseおよびSQL Serverに対してテナントごとに1つのスキーマを使用することでデータを分離する

この手法では、テナント・ユーザーが問合せを実行した場合に、TENANTGUID変数を直接的または間接的に使用することで、その問合せが参照するスキーマを決定します。結果として、テナント・ユーザーには自身のスキーマのデータのみが表示されます。

この手法はデータソースのタイプがOracle Databaseの場合に使用します。この手法のバリエーションはSQL Serverに対しても有効です。その際は、パラメータ化した接続文字列をSQL Serverに対して使用します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』の「一般」タブの共通接続プール・パラメータに関する項でデータソース名の説明を参照してください。

  1. 各テナントには独自のデータベース・スキーマがあり、各スキーマの型は同じです(データは同じではありません)。

  2. スキーマ名を表すパラメータとしてセッション変数を使用して、単一の接続プールが構成されます。

  3. 各スキーマのパスワードはすべてのスキーマで同じであり、接続プール構成に使用されます。

  4. 各スキーマのユーザー名は、各テナントのTENANTGUID値と同じであるか、1つ以上のセッション変数がスキーマ名(およびオプションでパスワード以外の接続情報)を導出するためにTENANTGUID値に基づいて構成されます。

18.5.3.2.2 手法2: リレーショナル・データソースに対してTENANTGUID変数とともにBIサーバーのデータ・フィルタを使用する

この手法は、各ソース表にTENANTGUID列を追加可能なリレーショナル・データソースに対してのみ使用します。

  1. テナント・データはすべて同じスキーマ内にありますが、各表には各データ行のTENANTGUID値を格納する列が含まれます。

  2. 各論理問合せでは、Oracle Business Intelligenceのセキュリティ・フィルタを適用して、TENANTGUID列の値がTENANTGUIDセッション変数と一致する行に基づいてデータが制約されるようにする必要があります。

    1. すべてのテナント・ユーザーは、BIConsumerなど、単一のアプリケーション・ロールのメンバーである必要があります。

    2. 次に示すように、BIサーバーのデータ・フィルタをこのアプリケーション・ロールに適用する必要があります。

      <TENANTGUID値を含む列> = 'valueof(NQ_SESSION.TENANTGUID)'

18.5.3.2.3 手法3: データソースにVPDを使用してOracle DatabaseおよびOracle Essbaseに対してデータ・セキュリティを適用する

Oracle DatabaseまたはEssbaseに対してVPDタイプのデータ・セキュリティを適用するようにOracle Business Intelligenceを構成できます。

  1. データ・セキュリティを適用するようにデータソースを構成して、テナント・ユーザーに自身のテナントのデータのみが表示されるようにします。

    この手順は、次のデータソースのタイプに固有のものです。

    • Oracle Databaseでは、Oracle Databaseの接続プールにカスタムの接続時スクリプトを追加する必要があります。このカスタム・スクリプトによってVPD接続を設定します。

    • Essbaseについては、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』の「一般」タブのマルチディメンショナル接続プールのプロパティに関する項を参照してください。

18.5.3.3 テナント固有の問合せ制限の設定

OBIS_DB_MAXROWSおよびOBIS_DB_MAXEXECTIMEの2つのセッション変数を使用すると、Oracle BIリポジトリに定義されたすべてのデータベース・オブジェクトに対してテナント固有の問合せ制限を簡単に適用できます。これらの変数はオプションですが、設定すると、リポジトリ内のアプリケーション・ロールまたはユーザーに割り当てられた権限に基づいてBIサーバーで取得された、最大行数および最大実行時間の値がオーバーライドされます。

これらの変数は、Oracle Business Intelligenceの他のセッション変数と同様に設定します。たとえば、TENANTGUID値に基づいてデータベース表の値を検索する初期化ブロックを使用してそれらを設定できます。セッション変数の設定方法の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』を参照してください。

18.5.4 マルチテナント環境で機能を使用不可にする

第18.1.3項「テナント・ユーザーが使用できない機能」には、ユーザーがマルチテナント環境で使用できない機能が記載されています。次の手順に従って、テナント・ユーザーがこれらの機能にアクセスできないことを手動で確認する必要があります。

マルチテナント環境で機能を使用不可にするには:

  1. BIGlobalAdministratorロールのメンバーとしてプレゼンテーション・サービスにログインします。

  2. 『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド』のプレゼンテーション・サービスの権限の管理に関する項の説明に従って、テナント作成者およびテナント・コンシューマの次の権限を取り消します。

    Manage Catalog Groups
    Access to BI Composer 
    Access to Mobile
    Access to Segments
    Access to Segment Trees
    Access to List Formats
    Access to Oracle BI for Microsoft Office
    Access to Oracle BI Client Installer
    Access to KPI Builder
    Access to Scorecard
    Manage Marketing Jobs
    User Population - Can List Groups
    Perform Extended Search
    Access Advanced Tab
    Assign Default Customizations
    Create/Edit Scorecards
    View Scorecards
    Create/Edit Objectives
    Create/Edit Initiatives
    Scorecard - Create Views
    Create/Edit Causes And Effects Linkages
    Create/Edit Perspectives
    Add Annotations
    Override Status
    Create/Edit KPIs
    Write Back to Database for KPI
    Add Scorecard Views To Dashboards
    All List Format Columns
    Enable Local Content
    All Segmentation privileges
    All SOAP privileges
    
  3. テナント管理者に次の権限を付与します。

    Deliver Agents to Specific or Dynamically Determined Users
    Modify Current Subscriptions for Agents
    
  4. すべてのSOAP権限をBIグローバル管理者に付与して、Webサービス・タスクを実行できるようにします。このタスクには、テナントのプロビジョニングとプロビジョニング解除、およびコンテンツのアーカイブなどが含まれます。

  5. ポリシー・ストアで、BIConsumerおよびBIAuthorロールにデフォルトで付与される権限がテナント・ユーザーに付与されていないことを確認します。

  6. これらの権限を変更している場合は、他の管理者によって設定が変更されていないことを確認します。

18.6 テナントの管理

対象読者: BIグローバル管理者

テナントを管理するには、次のタスクを実行します。

18.6.1 テナントのプロビジョニングおよびプロビジョニング解除

この項では、テナントのプロビジョニングに関する次の情報について説明します。

18.6.1.1 テナントのプロビジョニングおよびプロビジョニング解除について

新規テナントのプロビジョニングおよび既存テナントのプロビジョニング解除はいつでも実行できます。テナントをプロビジョニングする場合は、そのテナント用にカタログを構成します。共有フォルダやテナント固有のフォルダをカタログ内に作成します。テナントをプロビジョニング解除すると、そのフォルダがカタログから削除されます。テナントのプロビジョニングおよびプロビジョニング解除によって、アイデンティティ・ストアやポリシー・ストアの構成が変更されることはありません。

たとえば、自身の組織と契約を結ぶ特定の企業に対してプロビジョニングを実行できます。ここではテナントAをプロビジョニングすると仮定します。テナントAのユーザーのホーム・フォルダは/tenants/TenantA/usersフォルダに含まれます。これらの包含はテナントAのユーザーに対して完全に透過的です。表示権限のあるテナントには/sharedフォルダが表示されますが、表示されるのは自身のテナントIDに固有のテナント・フォルダのみです。

18.6.1.2 テナントをプロビジョニングおよびプロビジョニング解除するためのツール

次の各項では、テナントをプロビジョニングおよびプロビジョニング解除するためのツールについて説明します。

18.6.1.2.1 カタログ・マネージャのメニュー・オプションの使用

カタログをオフライン・モードで開いている場合は、カタログ・マネージャのメニュー・オプションを使用してテナントをプロビジョニングおよびプロビジョニング解除できます。カタログ・マネージャの「ツール」メニューから「マルチテナント」を選択し、「テナントのプロビジョニング」または「テナントのプロビジョニング解除」を選択します。

18.6.1.2.2 Webサービスのメソッドの使用

カタログをオンライン・モードで開いている場合は、第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.2 テナントの削除

マルチテナント・システムのテナントが不要になった場合は、次の手順を実行して、テナントとそのコンテンツを削除できます。この手順では、テナント・ユーザーのユーザー・フォルダを削除します。

テナントを削除するには:

  1. カタログ・マネージャでテナントをプロビジョニング解除することによりテナントのフォルダを削除します。詳細は、第18.6.1項「テナントのプロビジョニングおよびプロビジョニング解除」を参照してください。

  2. アイデンティティ・ストアでテナントのアイデンティティを削除します。

  3. テナントのデータソースを削除します。

18.6.3 テナントのコンテンツのアーカイブ

テナントに属するオブジェクトおよびフォルダをアーカイブおよびアンアーカイブできます。ユーザーが次の権限を持っているとします。

oracle.bi.multitenancy.permission,resourceName=oracle.bi.administerTenant

この場合、適切なWebサービス・クライアントを使用してBIセッションIDを取得し、次に示すMultiTenancyManagementService Webサービスのメソッドを呼び出すことができます。

MultiTenancyManagementService.archiveTenant(ListOFTenantGUIDs, sessionID)

MultiTenancyManagementService.unarchiveTenant(ListOFTenantGUIDs, sessionID)

18.7 マルチテナント環境のトラブルシューティング

対象読者: BIグローバル管理者およびテナント管理者

テナントを追加する際に「パスが見つかりません」というエラーが表示される場合は、Oracle BIプレゼンテーション・カタログが最新バージョンにアップグレードされていることを確認してください。