Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionジョブ・スケジューリング・ガイド 12c (12.2.1) E70056-01 |
|
前 |
この付録では、ユーザー情報をデータベースから取得し、ユーザー・プロファイル情報を移入するようにSAシステム・サブジェクト・エリアを設定する方法について説明します。Oracle BI Presentation Servicesは、アラートをOracle BI Deliversから指定された電子メール・アドレスや電話番号などに配信します。これらの配信先は、ユーザーごとのOracle Business Intelligenceプロファイルに格納されます。場合によっては、自動的に電話番号や電子メール・アドレスをユーザー・プロファイルに移入することもできます。
ユーザー・プロファイルへの電子メール・アドレスの移入のみを自動化する必要がある場合は、LDAPサーバー、または可能であれば他の認証プロバイダのユーザーの電子メール・アドレス・フィールドにアドレスを入力してください。これらの値を使用して、電子メール・アドレスをOracle Business Intelligenceユーザー・プロファイルに移入します。これによって、ユーザーはOracle Business Intelligenceにサイン・インしなくてもコンテンツをDeliversから受信できます。この機能は、そのユーザーのメール属性があるLDAPサーバーで機能します。
ただし、場合によって、電子メール・アドレスに加えて自動的にユーザー・プロファイルの追加オプションを移入することがあります。たとえば、電子メール・ゲートウェイを使用して、携帯電話に適したフォーマット(テキストなど)でDeliversにより配信する場合、自動的に携帯電話の電話番号をユーザー・プロファイル情報の一部として移入することが必要なことがあります。
この状況では、SAシステムと呼ばれるリポジトリで特別なサブジェクト・エリアを構成し、ユーザー情報をデータベースから取得し、ユーザー・プロファイル情報を移入できます。この付録では、SAシステム・サブジェクト・エリアを構成して使用することで、このタスクを実現する方法について説明します。
SAシステム・サブジェクト・エリアを使用するように選択する場合、配信プロファイルをユーザーが個々に構成しないようにする必要があります。デフォルトでは、配信プロファイルで指定した値が、SAシステム・サブジェクト・エリアに示される値よりも優先されます。
この付録のトピックは次のとおりです。
以前のリリースのOracle Business Intelligenceでは、SAシステムは、グループ・メンバーシップをDeliversに公開して、電子メール・アドレスなどの連絡先情報をデータベースから取得して配信デバイスとしてDeliversで使用できるようにするサブジェクト・エリアでした。SAシステム・サブジェクト・エリア機能では自動的にユーザーの配信デバイスとプロファイルの移入が行われ、ユーザーがDeliversで「マイ・アカウント」画面を更新する必要はありませんでした。SAシステム・サブジェクト・エリアにより、各グループに関連付けられているユーザーと外部電子メール・アドレスがDeliversに提供されていました。
このリリースのOracle Business Intelligenceでは、適切にアラートを配信できるように、Deliversではグループとロールのメンバーシップを決める必要があります。ただし一般的に、LDAPアイデンティティ・ストアはグループとロールのメンバーシップのソースになります。SAシステムが定義され有効な場合、アプリケーション・ロールおよびカタログ・グループのメンバーシップは、DeliversのSAシステム・サブジェクト・エリアから導出されます。SAシステム・サブジェクト・エリアでのグループのメンバーシップの判別には、エージェントで選択されたアプリケーション・ロールおよびカタログ・グループの名前が使用されます。
LDAPサーバーを使用する場合はSAシステムは不要で、ユーザー・プロファイルの電子メール・アドレスのみを移入する必要があります。電子メール・アドレスをユーザー・プロファイルに移入する推奨ベスト・プラクティスは、LDAPサーバーでメール属性を使用することです。大半の携帯デバイスでは電子メールを直接読み込むことができるので、特定のテキストやSMSの形式はエージェントの配信では必要でないことが多く、通常は電子メール・アドレスをLDAPから移入することで十分です。
また、「エージェント条件に使用されている分析から受信者を取得します」機能を使用するためにSAシステムを使用する必要はありません。この機能は、問合せ結果から受信者を判別でき、配信データがそれらのユーザーに固有な場合に使用されます。
SAシステムの表をユーザー移入のソースとして使用して、初期化ブロックをベースにしたユーザー認証を構成できます。SAシステムのデータをこの方法で使用することは、SAシステムを使用して配信プロファイルを移入することとは別になります。むしろこれらは、同じユーザー・ソース・データに基づく独立機能です。
このリリースのOracle Business Intelligenceでは、アプリケーション・ロールを使用して、グループではなくセキュリティ・ポリシーを定義します。エージェントを作成すると、ユーザー、アプリケーション・ロールまたはカタログ・グループのどれに配信するかを選択できます。
ただし、以前のリリースとの下位互換性を維持するために、SAシステムではSAシステムのソース表のGroup Name列を使用して、エージェント用に指定されているアプリケーション・ロールとカタログ・グループの電子メール・アドレスを特定します。このため、Oracle Business Intelligenceのセキュリティ・モデルは現在のリリースで大幅に変更されていますが、SAシステム・サブジェクト・エリアは以前のリリースと同様に機能します。
SAシステムのグループ・メンバーシップを使用して、アプリケーション・ロールやカタログ・グループのメンバーシップではなく、受信者のリストを特定するので、ユーザーはメンバーをカタログ・グループに追加しないでください。かわりに、管理者が、メンバーシップ更新時にアプリケーション・ロールとカタログ・グループのメンバーシップをSAシステムと同期できます。
外部データ・ソースで、様々な配信オプションに対応する列のある表をSA_SYSTEM_USERSの名前で作成します。さらに、すべてのユーザーとグループがデータに存在することを確認する必要があります。
表A-1に、SA_SYSTEM_USERS表で必要な列を示します。一覧にある列を記載順序で作成する必要があります。この表に情報が記載されている外部スキーマは、SAシステム・サブジェクト・エリアにマップできます。
表A-1 SA_SYSTEM_USERS表の列
列 | データ型 | 説明 |
---|---|---|
LOGON |
VARCHAR (50) |
システムにログオンするユーザーの一意のユーザーID。 これはNULLにできません。 |
DISPLAY_NAME |
VARCHAR2(100) |
ユーザーの完全名。 これはNULLにできます。 |
GROUP_NAME |
VARCHAR2 (20) |
このユーザーが所属するグループの名前。ユーザーが複数のグループに属している場合、SAシステム表のグループごとに行が1行必要です。 データ・アクセス・セキュリティがグループのメンバーシップに基づく場合、これはNULLにしないでください。 |
TIMEZONE |
VARCHAR2 (100) |
この列は現在使用されません。将来用です。 これはNULLにする必要があります。 |
LANGUAGE |
VARCHAR2 (20) |
この列は現在使用されません。将来用です。 これはNULLにする必要があります。 |
LOCALE |
VARCHAR2 (20) |
この列は現在使用されません。将来用です。 これはNULLにする必要があります。 |
|
VARCHAR2 (100) |
ユーザーのプライマリ電子メール・アドレス。これは、joe.perez@example.comなどの完全なSMTPアドレスです。 これはNULLにできます。 |
EMAIL_PRIORITY |
VARCHAR2(10) |
これによって、アラートがこのデバイスに配信されるタイミングが決まります。値は、3種類のエージェントの優先度(Hは高い優先度、Nは通常の優先度、Lは低い優先度)の任意の組合せにできます。たとえば、高い優先度、通常の優先度および低い優先度のアラートをこのデバイスに配信する場合、フィールドはHNLにします。高い優先度と通常の優先度のアラートのみを配信する場合、フィールドはHNにします。 Email列が指定されている場合、このフィールドはNULLにしないでください。EmailがNULLの場合、これはNULLにできます。 |
EMAIL_TYPE |
VARCHAR2 (50) |
このフィールドは、2つのテキスト文字列、'html'または'text'のいずれかにできます。大半のプライマリ電子メール・クライアントはリッチMIMEコンテンツ(埋込みイメージのあるHTML)を読み込めるので、値'html'が一般的に最適な選択肢です。プレーン・テキスト電子メールのみを読み出すことができるレガシー電子メール・クライアントをサポートするには、値'text'を選択します。Email列が指定されている場合、このフィールドはNULLにしないでください。 EmailがNULLの場合、これはNULLにできます。 |
CELL_PHONE |
VARCHAR2 (40) |
このフィールドは、テキスト・メッセージのアラートを受信する携帯電話デバイスの完全なSMTPアドレスです。たとえば、1015551234@cellphoneprovider.comなどです。テキスト・メッセージのみがこのデバイスに送信されます。 これはNULLにできます。 |
CELL_PHONE_PRIORITY |
VARCHAR2 (20) |
これによって、アラートがこのデバイスに配信されるタイミングが決まります。値は、3種類の優先度(Hは高い優先度、Nは通常の優先度、Lは低い優先度)の任意の組合せにできます。Cell Phone列が指定されている場合、このフィールドはNULLにしないでください。 Cell PhoneがNULLの場合、これはNULLにできます。 |
PAGER |
VARCHAR2 (20) |
このフィールドは、テキスト・メッセージのアラートを受信するページャ・デバイスの完全なSMTPアドレスです。たとえば、1015555678@pagerprovider.comなどです。テキスト・メッセージのみがこのデバイスに送信されます。 これはNULLにできます。 |
PAGER_PRIORITY |
VARCHAR2 (30) |
これによって、アラートがこのデバイスに配信されるタイミングが決まります。値は、3種類の優先度(Hは高い優先度、Nは通常の優先度、Lは低い優先度)の任意の組合せにできます。 Pager列が指定されている場合、このフィールドはNULLにしないでください。PagerがNULLの場合、これはNULLにできます。 |
HANDHELD |
VARCHAR2 (20) |
このフィールドは、テキスト・メッセージのアラートを受信するハンドヘルド・デバイスの完全なSMTPアドレスです。たとえば、joe.perez@handheldprovider.comなどです。テキスト・メッセージのみがこのデバイスに送信されます。 これはNULLにできます。 |
HAND_HELD_PRIORITY |
VARCHAR2 (30) |
これによって、アラートがこのデバイスに配信されるタイミングが決まります。値は、3種類の優先度(Hは高い優先度、Nは通常の優先度、Lは低い優先度)の任意の組合せにできます。 Handheld列が指定されている場合、このフィールドはNULLにしないでください。HandheldがNULLの場合、これはNULLにできます。 |
次のサンプルのSQL文を使用して、表A-1で説明するSA_SYSTEM_USERS表を作成します。
CREATE TABLE SA_SYSTEM_USERS ( LOGON VARCHAR2(50) NOT NULL, DISPLAY_NAME VARCHAR2(100), EMAIL VARCHAR2(100), EMAIL_PRIORITY VARCHAR2(10) DEFAULT 'HNL', EMAIL_TYPE VARCHAR2(50) DEFAULT 'html', CELL_PHONE VARCHAR2(40), CELL_PHONE_PRIORITY VARCHAR2(20), PAGER VARCHAR2(20), PAGER_PRIORITY VARCHAR2(30), HANDHELD VARCHAR2(20), HANDHELD_PRIORITY VARCHAR2(30), TIMEZONE VARCHAR2(100), GROUP_NAME VARCHAR2(20), LOCALE VARCHAR2(20) DEFAULT 'en', LANGUAGE VARCHAR2(20) DEFAULT 'en', PRIMARY KEY (LOGON));
外部データ・ソースを構成した後、Oracle BIリポジトリでサブジェクト・エリアを作成してビルドする必要があります。これを行うには、最初にSA_SYSTEM_USERS表をデータ・ソースから物理レイヤーにインポートします。そして、物理レイヤーからビジネス・モデルとマッピング・レイヤーにSA_SYSTEM_USERS表と列をマップします。最後に、ビジネス・モデルとマッピング・レイヤーからプレゼンテーション・レイヤーにSA_SYSTEM_USERS表と列をマップします。サブジェクト・エリアの名前はSA Systemにする必要があります。
データをリポジトリにインポートし、情報をビジネス・モデルおよびマッピング・レイヤーとプレゼンテーション・レイヤーでモデリングする方法の詳細は、Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイドを参照してください。
図A-1に、リポジトリのプレゼンテーション・レイヤーにおける表と列を示します。
特定の要素をOracle BIプレゼンテーション・サーバーのバージョンのinstanceconfig.xmlファイルに含めることで、SAシステム・サブジェクト・エリアで構成された配信オプションとユーザー定義の配信オプションの可用性を制御できます。SAシステム・サブジェクト・エリアが使用されている場合のみ、これらの要素は有効になります。
この手順を開始する前に、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』で、テキスト・エディタを使用したOracle Business Intelligence構成設定の更新に関する項に記載されている情報を十分に理解してください。
SAシステム・サブジェクト・エリアの構成オプションを変更するには:
Oracle BIプレゼンテーション・サーバーのバージョンのinstanceconfig.xmlファイルを開いて、編集します。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionシステム管理者ガイド』の構成ファイルの場所に関する項を参照してください。
次の要素を追加する必要があるセクションを探します。
SystemSubjectArea: SAシステム・サブジェクト・エリアで構成された配信デバイスと配信プロファイルを認識するかどうかを指定します。
true: SAシステム・サブジェクト・エリアで構成された配信デバイスと配信プロファイルを認識して、「マイ・アカウント」ページに表示します(デフォルト)。
false: SAシステム・サブジェクト・エリアで構成された配信デバイスと配信プロファイルを無視し、「マイ・アカウント」ページには表示しません。
この要素をSubjectAreaMetadata要素内部に含めます。これ自体はServerInstance要素に含まれます。trueおよびfalseの値は、大文字/小文字が区別されます。
IgnoreWebcatDeliveryProfiles: ユーザー定義の配信デバイスと配信プロファイルを無視するかどうかを指定します。
true: ユーザー定義の配信デバイスと配信プロファイルを無視し、「マイ・アカウント」ページには表示しません(つまり、ユーザーは新しい配信デバイスと配信プロファイルを作成できません)。
false: ユーザー定義の配信デバイスと配信プロファイルを認識して、「マイ・アカウント」ページに表示します(デフォルト)。
この要素をAlerts要素内部に含めます。これ自体はServerInstance要素に含まれます。trueおよびfalseの値は、大文字/小文字が区別されます。
UpperCaseRecipientNames: ユーザー名が大文字であるユーザーのみが、配信対象エージェントを持つことができることを指定します。
たとえば、user_lowercaseとUSER_UPPERCASEの名前のユーザーが存在すると仮定します。UpperCaseRecipientNames要素をtrueに設定すると、エージェントはUSER_UPPERCASEにのみ送信されます。
この要素をAlerts要素内部に含めます。これ自体はServerInstance要素に含まれます。
次の例に示すように、必要な要素とその祖先要素を追加します。
<ServerInstance>
<SubjectAreaMetadata> <SystemSubjectArea>true</SystemSubjectArea> </SubjectAreaMetadata> <Alerts><IgnoreWebcatDeliveryProfiles>false</IgnoreWebcatDeliveryProfiles>
<UpperCaseRecipientNames>true</UpperCaseRecipientNames> </Alerts></ServerInstance>
変更内容を保存し、ファイルを閉じます。
Oracle Business Intelligenceを再起動します。
SAシステム・サブジェクト・エリアが使用されている場合、ログイン名がSAシステム・サブジェクト・エリアのLOGON列と比較されます。デフォルトで、この比較は大文字/小文字が区別され、ブランクは無視されます。つまり、たとえば、LDAPユーザー名"Fred"は、LOGONが"fred"であるSAシステム・サブジェクト・エリア・エントリと一致します。ただし、UpperCaseRecipientNames要素をinstanceconfig.xmlファイルで'true'に設定し、名前が大文字のユーザーにのみ配信されるようにする場合は、例外です。必要な場合、Upper()関数内で設定することでSA_SYSTEM_USERS表のLOGON値を大文字に設定します。