Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド 11gリリース1(11.1.1) B63030-03 |
|
![]() 前 |
![]() 次 |
この付録は、アップグレードされたシステムとの下位互換性を維持するために含まれている代替セキュリティ管理オプションについて説明するものであり、ベスト・プラクティスではありません。この付録には次の項が含まれます:
下位互換性のため、Oracle Business Intelligenceの複数のレガシー認証オプションが引き続きサポートされます。システムをアップグレードするためのベスト・プラクティスは、デフォルトのセキュリティ・モデルによって提供されるアイデンティティ・ストアおよび認証プロバイダを使用して、認証の実装を開始することです。組み込まれたディレクトリ・サーバーはインストールまたはアップグレード時にデフォルトのアイデンティティ・ストアおよび認証プロバイダとして構成され、すぐに使用できるようになります。デフォルトのセキュリティ・モデルの詳細は、第1章「Oracle Business Intelligenceのセキュリティの紹介」および付録B「デフォルト・セキュリティ構成の理解」を参照してください。
認証とは、ログイン中に提供されたユーザー名およびパスワードによって、システムへのログインに必要な資格証明をユーザーが持っていることを保証するために確認するプロセスのことです。BIサーバーは、受け取った接続リクエストをそれぞれ認証します。このリリースでは、下位互換性を維持するためにBIサーバーによって次のレガシー認証方式がサポートされています。
外部LDAPベースのディレクトリ・サーバー
外部初期化ブロック認証
表ベース
この項には次のトピックが含まれます:
ユーザー資格証明を認証のために外部LDAPサーバーへ渡すようにBIサーバーを設定できます。
レガシーのLDAP認証方式では、Oracle BI管理ツールで変数マネージャを使用して定義するOracle Business Intelligenceセッション変数を使用します。セッション変数の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』のOracle BIリポジトリでの変数の使用に関する項を参照してください。
初期化ブロックを使用してLDAP認証を設定するには:
次のようにLDAPサーバーを作成します。
管理ツールで「管理」を選択してから「アイデンティティ」を選択し、Identity Managerを起動します。
Identity Managerの左ペインで「ディレクトリ・サーバー」を選択します。
Identity Managerの右ペインで右クリックし、新規LDAPサーバーを選択します。「LDAPサーバー」ダイアログが表示されます。
フィールドに値を入力してLDAPサーバーを作成します。
LDAP初期化ブロックを作成し、LDAPサーバーに関連付けます。詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』の初期化ブロックの作成に関する項を参照してください。
USERという名前のシステム変数を定義し、USER変数をLDAP属性に割り当てます(uid、sAMAccountName、cnなど)。
ユーザーがログオンしてセッションを開始するときに、セッション変数に値が入力されます。システム・セッション変数と呼ばれる特定のセッション変数には特別な用途があります。システム・セッション変数USERは認証とともに使用されます。USERシステム・セッション変数の詳細は、「LDAP認証でのUSERセッション変数の定義」を参照してください。システム・セッション変数の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』のシステム・セッション変数に関する項を参照してください。
該当する場合は、リポジトリ・ファイルからユーザーを削除します。
USERシステム変数をLDAP初期化ブロックに関連付けます。詳細は、「LDAP認証でのUSERセッション変数の定義」、および『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』の初期化ブロックへの変数の関連付けに関する項を参照してください。
注意: セキュアLDAPを使用するときは、キー・ファイル名およびパスワードを設定し、管理ツールでLDAPパラメータの設定をテストして、再びキー・ファイル名およびパスワードを変更した場合には、テストの前に管理ツールを再起動する必要があります。 |
認証方式としてADSIを使用するOracle Business Intelligenceのインスタンスについては、Active Directoryインスタンスを設定するときに、次のオプションを使用する必要があります。
ログオン先ですべてのコンピュータを選択します。または一部のコンピュータを一覧表示する場合は、ログオン・ワークステーションとしてActive Directoryサーバーを含めます。
「ユーザーは次回ログオン時にパスワードの変更が必要」が選択されていないことを確認します。
管理ツールでは、LDAPサーバー・セクションでBIND DNに使用されるCNユーザーは、ldap_bindとldap_searchの両方の認可レベルが必要です。
注意: BIサーバーは、LDAP認証にクリアテキストのパスワードを使用します。LDAPサーバーがこれを許可するように設定されていることを確認してください。 |
リポジトリのLDAP認証を設定するには:
オフライン・モードかオンライン・モードで、管理ツールでリポジトリを開きます。
Identity Managerで「アクション」を選択してから「新規作成」を選択し、「LDAPサーバー」を選択します。
「LDAPサーバー」ダイアログの「一般」タブで、必要なフィールドに値を入力します。次に示すオプションと説明のリストに、LDAPサーバーを設定するのに役立つ情報が記載されています。
「名前」。この接続を識別するための名前(My LDAPなど)。
「ホスト名」。LDAPサーバーの名前。
「ポート番号」。デフォルトのLDAPポートは3060です。
「LDAPバージョン」。LDAP 2またはLDAP 3(バージョン)。デフォルトはLDAP 3です。
「ベースDN」。ベース識別名(DN)によって、認証検索の始点が識別されます。たとえば、ディレクトリのo=Oracle.comサブツリーの下にあるエントリをすべて検索する場合、o=Oracle.comがベースDNです。
「バインドDN」と「バインド・パスワード」。LDAPサーバーにバインドするために必要なオプションのDNおよびそれに関連付けられたユーザー・パスワード。
これらの2つのエントリが空白の場合、匿名バインドが想定されます。セキュリティ上の理由から、すべてのLDAPサーバーで匿名バインドが許可されるわけではありません。
これらのフィールドは、LDAP V3ではオプションですが、LDAP V2では匿名バインドはサポートされていないため、LDAP V2では必須です。
「ADSI」オプションを選択すると、これらのフィールドが必須になります。これらのフィールドを空白にしておくと、パスワードを空白にしておくかどうかを確認する警告メッセージが表示されます。「はい」をクリックすると、匿名バインドが使用されます。
「接続のテスト」。LDAPサーバーへの接続をテストしてパラメータを検証するには、このボタンを使用します。
「詳細設定」タブをクリックし、必要な情報を入力します。BIサーバーは、認証キャッシュをメモリーに維持することで、多数のユーザーを認証するためにLDAPを使用する場合にパフォーマンスを向上します。認証キャッシュを無効にすると、数百件のセッションを認証する場合にパフォーマンスが低下することがあります。
次に示すフィールドと説明のリストに、LDAPサーバーを設定するのに役立つ追加情報が記載されています。
「接続タイムアウト」。BIサーバーがユーザー認証のためにLDAPサーバーに接続しようとしたときに、指定した間隔が経過した後に接続がタイムアウトします。
「ドメイン識別子」(オプション)。一般的に、識別子は、LDAPオブジェクトが担当するドメインを一意に識別する1語です。複数のLDAPオブジェクトを使用するときには、これは特に役に立ちます。異なる2人のユーザーが同じユーザーIDを持っていて、それぞれが異なるLDAPサーバーにいる場合、それらを区別するためにドメイン識別子を指定できます。ユーザーは、次のフォーマットを使用して、BIサーバーにログインします。
domain_id/user_name
ユーザーがドメイン識別子を使用せずにユーザー名を入力すると、利用できるすべてのLDAPサーバーに照らし合せて順に認証されます。同じ名前を持つユーザーが複数ある場合、1つのユーザーだけを認証できます。
「ADSI」。(Active Directoryサービス・インタフェース)ディレクトリ・サーバーの一種。「ADSI」オプションを選択するときは、「バインドDN」および「バインド・パスワード」は必須です。
「SSL」。SSLを有効にするには、このオプションを選択します。
「ユーザー名属性タイプ」。このパラメータは、ユーザーを一意に識別します。多くの場合、これはRDNで使用される属性です(相対識別名)。一般的に、デフォルト値を受け入れます。ほとんどのLDAPサーバーでは、ユーザーIDを使用します。ADSIでは、sAMAccountNameを使用します。
初期化ブロックを使用してLDAP認証を設定するには、USERというシステム・セッション変数を定義して、LDAPサーバーに関連付けられているLDAP初期化ブロックにそれを関連付けます。ユーザーがBIサーバーにログインすると、ユーザー名とパスワードが認証のためにLDAPサーバーに渡されます。ユーザーの認証に成功したら、LDAPサーバーによって返される情報からユーザーの他のセッション変数も入力できます。
注意: レガシー方式を使用する外部LDAPサーバーと、Oracle Platform Security Servicesに基づいたLDAPベースのアイデンティティ・ストアの両方にユーザーが存在する場合は、アイデンティティ・ストアのユーザー定義が優先されます。Oracle Platform Security Servicesに対して認証が失敗すると、レガシーLDAP方式のみ試行されます。 |
この項の情報は、LDAP初期化ブロックが定義されているものと想定しています。
LDAPベースのアイデンティティ・ストアに定義されていないユーザーについては、定義されたシステム変数USERの存在によって外部認証が実行されることが決定されます。USERをLDAP初期化ブロックに関連付けることで、ユーザーがLDAPによって認証されることが決定されます。認証の他の形式を提供するには、外部データベースに関連付けられている初期化ブロックにUSER変数を関連付けます。
LDAP認証用のUSERセッション変数を定義するには:
オフライン・モードかオンライン・モードで、管理ツールでリポジトリを開きます。
左ペインのツリーで「セッション」→「初期化ブロック」を選択します。
右ペインで右クリックし、「新規初期化ブロック」を選択します。
「セッション変数 - 初期化」ダイアログ・ボックスの「名前」フィールドにAuthentication
と入力します。
「データ・ソースの編集」をクリックします。
「データ・ソース・タイプ」ドロップダウン・リストから「LDAPサーバー」を選択します。
リストを参照して適切なLDAPサーバーを選択します。
「OK」をクリックします。
「データ・ターゲットの編集」をクリックします。
「新規」をクリックします。
「名前」フィールドにUSER
と入力します。
「OK」をクリックします。
USERセッション変数の特別目的についての警告が表示されたら、「はい」をクリックします。
ユーザーIDを保持するLDAP属性を「マップ済変数」フィールドに入力します。
「OK」をクリックします。
「認証のために必要」チェック・ボックスを選択します。
「OK」をクリックします。
LDAPサーバーによって認証されるユーザーのロギング・レベルを設定するには、システム変数LOGLEVELを使用します。
外部データベース表にユーザーとパスワードのリストを維持し、この表を認証目的に使用することができます。外部データベース表は、ユーザー名とパスワードを含み、Oracle BIプレゼンテーション・サービスユーザーに使用するグループ・メンバーシップや表示名など、他の情報を含めることができます。また、表には、データを問い合せるときに各ユーザーのために使用する特定のデータベース・カタログまたはスキーマの名前を含めることもできます。
注意: ユーザーが複数のグループに属している場合、セミコロンで区切ってグループ名を同じ列に含める必要があります。 |
外部表の認証は、管理ツールで変数マネージャを使用して定義するセッション変数を使用します。変数マネージャの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』のOracle BIリポジトリでの変数の使用に関する項を参照してください。
ユーザーがログオンしてセッションを開始するときに、セッション変数に値が入力されます。システム変数と呼ばれる特定のセッション変数には、特別の用途があります。変数USERは、外部表の認証とともに使用されるシステム変数です。
外部表の認証を設定するには、USERというシステム変数を定義して、外部データベース表に関連付けられている初期化ブロックに関連付けます。ユーザーがログインすると、ユーザーIDとパスワードは、認証のためにこのデータベース表に問い合せるSQLを使用して認証されます。初期化ブロックは、データベースに接続するために物理レイヤーでデータベース接続を使用します。物理レイヤーの接続には、ログイン情報が含まれています。ユーザーの認証に成功したら、このSQL問合せの結果からユーザーの他のセッション変数を入力できます。
定義されたシステム変数USERの存在によって、外部認証が実行されることが決定されます。外部データベース表の初期化ブロックにUSERを関連付けることによって、この表の情報を使用してユーザーが認証されることが決定されます。認証の他の形式を提供するには、LDAPサーバーまたはXMLソースに関連付けられている初期化ブロックに、USERシステム変数を関連付けます。詳細は、「初期化ブロックの使用によるLDAP認証の設定」を参照してください。
外部表の認証を設定するには:
外部表に関する情報を物理レイヤーにインポートします。
管理ツールで「管理」を選択してから「変数」を選択し、変数マネージャを起動します。
左ペインで「初期化ブロック」を選択します。
右ペインで右クリックし、「新規初期化ブロック」を選択します。
「初期化ブロック」ダイアログ・ボックスでは、初期化ブロックの名前を入力します。
「データ・ソース接続」リストで「データベース」を選択します。
「参照」をクリックして、このブロックが使用する接続プールの名前を検索します。
「初期化文字列」領域で、認証時に発行されるSQL文を入力します。
SQL文の列のデータベースによって返される値は、変数に割り当てられます。変数の順序および列の順序によって、どの列がどの変数に割り当てられるかが決定されます。次の例に示すSQLについて検討します。
SELECT username, grp_name, SalesRep, 2 FROM securitylogons WHERE username = ':USER' and pwd = ':PASSWORD'
このSQLには、WHERE
句に2つの絞込み条件が含まれています。
:USER(コロンに注意)は、ログオン時にユーザーが入力した名前と同じです。
:PASSWORD(コロンに注意)は、ユーザーが入力したパスワードと同じです。
ユーザー名とパスワードが、指定された表で見つかった値に一致する場合のみ、問合せによってデータが返されます。
BIサーバー外でSQL文をテストし、:USERおよび:PASSWORDに有効な値を代入して、データの行が返されることを確認する必要があります。
この問合せによってデータが返されると、ユーザーは認証されて、セッション変数にデータが入力されます。この問合せは4つの列を返すため、4つのセッション変数が入力されます。「変数」タブの「新規」をクリックして、これらの変数(USER、GROUP、DISPLAYNAME、およびLOGLEVEL)を作成します。
変数が目的の順序になっていない場合は、並べ替える変数をクリックし、「上へ」ボタンと「下へ」ボタンを使用して移動します。
「OK」をクリックして初期化ブロックを保存します。
Oracle BIスケジューラ Serverは、パスワードにアクセスしたりパスワードを格納しないで、ユーザーのためにデリバー・ジョブを実行します。Oracle BIスケジューラは、偽装と呼ばれるプロセスを使用して、1つのユーザー名とパスワードを使用し、このユーザー名とパスワードには、他のユーザーの代理で操作できるOracle Business Intelligenceの管理権限が付与されています。Oracle BIスケジューラは、Oracle Business Intelligenceの管理者名とパスワードを使用してOracle BIプレゼンテーション・サービスにログオンすることによって、エージェントを起動します。
デリバーを機能させるには、すべてのデータベース認証を1つの接続プールで実行する必要があり、その接続プールは、USERシステム・セッション変数の初期化ブロックで選択できます。一般的に、これを認証初期化ブロックと呼びます。偽装を使用するときは、この初期化ブロックはスキップされます。他のすべての初期化ブロックは、データベース認証を使用しない接続プールを使用する必要があります。
注意: 認証初期化ブロックは、:USERと:PASSWORDが物理データベースに渡される接続プールの使用を受け入れられる唯一の初期化ブロックです。 |
他の初期化ブロックについては、SQL文に:USERと:PASSWORDを使用できます。しかし、Oracle BIスケジューラ・サーバーはユーザー・パスワードを格納しないため、次の例に示すように、WHERE句を構築する必要があります。
SELECT username, groupname, dbname, schemaname FROM users WHERE username=':USER' NQS_PASSWORD_CLAUSE(and pwd=':PASSWORD')NQS_PASSWORD_CLAUSE
偽装を使用する場合、括弧内の情報はすべて実行時にSQL文から抽出されます。
詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』に記述されているOracle BIデリバーの例を参照してください。
BIサーバーは、初期化ブロックに定義されている依存関係ルールで指定された希望する順序で、初期化ブロックを使用してセッション変数に値を入力します。サーバーがセッション変数USERを見つけた場合、USER変数が関連付けられている初期化ブロックの構成に基づいて、LDAPサーバーまたは外部データベース表に照らし合せて認証を実行します。
Oracle WebLogic Server管理コンソールで構成されたアイデンティティ・ストアに対する認証が最初に行われ、それが失敗したら、初期化ブロック認証が行われます。
初期化ブロックを使用して、カスタマイズされた認証モジュールを作成できます。認証システムは、顧客または開発者が記述したダイナミック・リンク・ライブラリ(DLL)、またはUNIXの共有オブジェクトであり、Oracle BI認証システムのAPI仕様に準拠しており、BIサーバーによって使用して、実行時に認証および他のタスクを実行できます。動的にロード可能な認証モジュールは、キャッシュ・レイヤーを持つBIサーバー・モジュールであり、実行時に認証および関連するタスクを実行するために認証システムを使用します。
Oracle Technology Network (OTN)からダウンロードできるBI EEサンプル・アプリケーションにサンプルのカスタム認証コードがあります。
認証オブジェクト(認証システム・プラグイン)を作成し、認証モジュールの1組のパラメータを指定した後(設定ファイル・パス、キャッシュ・エントリの数、キャッシュの有効期限など)、認証オブジェクトを初期化ブロックに関連付ける必要があります。USER変数(必須)および他の変数を初期化ブロックに関連付けることができます。
ユーザーがログインすると、認証に成功したら初期化ブロックで指定したように変数のリストに値が入力されます。
カスタム認証は、カスタムC認証システム・プラグインを示すリポジトリのオブジェクトです。このオブジェクトは認証初期化ブロックとともに使用され、BIサーバー・コンポーネントがカスタム認証システムに照らし合せてユーザーを認証できるようにします。認証で推奨される方式はOracle WebLogic Serverの組込みLDAPサーバーを使用する方式です。しかし、カスタム認証システムを使用し続けることもできます。
カスタム認証システムを追加するには:
管理ツールで「管理」を選択してから「アイデンティティ」を選択します。ナビゲーション・ツリーで「カスタム認証システム」を選択します。次のオプションから選択します。
新しいカスタム認証システムを作成するには: 右ペインで右クリックし、「新規カスタム認証システム」を選択します。
カスタム認証システムを編集する場合: 名前をダブルクリックします。
「カスタム認証システム」ダイアログで、必要なフィールドに値を入力します。
認証システム・プラグイン: このカスタム認証システムのプラグインDLLのパスと名前。
構成パラメータ: 構成のために明示的に公開されたこのカスタム認証システムのパラメータ。
暗号化パラメータ: パスワードなど、暗号化されたこのカスタム認証システムのパラメータ。
キャッシュ永続時間: ログオンしたユーザーの認証キャッシュ・エントリが、このカスタム認証システムに対してリフレッシュされる間隔。
キャッシュ・エントリ数: このカスタム認証システムの認証キャッシュの最大エントリ数(Oracle BIサーバーの起動時に事前割当てされます)。ユーザー数がこの制限を超えると、キャッシュ・エントリはLRUアルゴリズムを使用して置換されます。この値が0の場合は、認証キャッシュは無効になります。
「OK」をクリックします。
システム・セッション変数は、初期化ブロックから値を取得し、LDAPサーバーやデータベース表など、外部ソースに照らし合せてOracle Business Intelligenceユーザーを認証するために使用されます。アクティブなBIサーバーのセッションはすべて、セッション変数を生成し、初期化します。各セッション変数インスタンスは、異なる値へと初期化できます。セッション変数および初期化ブロックがOracle Business Intelligenceによってどのように使用されるかの詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』のOracle BIリポジトリでの変数の使用に関する項を参照してください。
管理ツール・セッション・マネージャは、アクティビティを監視するためにオンライン・モードで使用されます。セッション・マネージャには、セッションにログインしているすべてのユーザー、各ユーザーのすべての現在の問合せリクエスト、および変数および選択されたセッションに対するそれらの値が示されます。さらに、管理ユーザーは任意のユーザーを切断し、セッション・マネージャを使って任意の問合せリクエストを終了できます。
セッション・マネージャのデータがどれくらい頻繁にリフレッシュされるかは、システム上のアクティビティの数によって変わります。任意の時点で表示をリフレッシュするには、「リフレッシュ」をクリックします。
セッション・マネージャには、上部ペインと下部ペインがあります。
上部ペインである「セッション」ペインには、BIサーバーに現在ログインしているユーザーが表示されます。更新速度を制御するには、「更新速度」リストから「標準」、「高」、または「低」を選択します。表示がリフレッシュされないようにするには、「一時停止」を選択します。
下部ペインには、2つのタブがあります。
「リクエスト」タブには、「セッション」ペインで選択したユーザーのアクティブな問合せリクエストが表示されます。
「変数」タブには、変数、および選択したセッションに対するそれらの値が表示されます。列ヘッダーをクリックすると、データをソートできます。
表A-1および表A-2に、「セッション・マネージャ」ダイアログの列を示しています。
列名 | 説明 |
---|---|
クライアント・タイプ |
サーバーに接続されているクライアントのタイプ。 |
最終アクティブ時刻 |
セッションの最後のアクティビティのタイムスタンプ。 |
ログオン時間 |
セッションがBIサーバーに最初に接続した時刻を示すタイムスタンプ。 |
リポジトリ |
セッションが接続されているリポジトリの論理名。 |
セッションID |
セッションが開始されたときに、BIサーバーが各セッションを割り当てる一意の内部識別子。 |
ユーザー |
接続されているユーザーの名前。 |
表A-2 「セッション・マネージャ」ダイアログにある「リクエスト」タブの一部のフィールド
列名 | 説明 |
---|---|
最終アクティブ時刻 |
問合せに対する最後のアクティビティのタイムスタンプ。 |
リクエストID |
問合せが開始されたときに、BIサーバーが各問合せを割り当てる一意の内部識別子。 |
セッションID |
セッションが開始されたときに、BIサーバーが各セッションを割り当てる一意の内部識別子。 |
開始時間 |
個々の問合せリクエストの時間。 |
管理ツールで、オンライン・モードでリポジトリを開き、「管理」を選択してから「セッション」を選択します。
セッションを選択し、「変数」タブをクリックします。
変数の詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』のOracle BIリポジトリでの変数の使用に関する項を参照してください。
ビューをリフレッシュするには、「リフレッシュ」をクリックします。
セッション・マネージャを閉じるには、「閉じる」をクリックします。
管理ツールで、オンライン・モードでリポジトリを開き、「管理」を選択してから「セッション」を選択します。
セッション・マネージャの上部ペインでユーザーを選択します。
「切断」をクリックします。
ユーザー・セッションは、セッションが管理ユーザーによって終了されたことを示すメッセージを受け取ります。現在実行されている問合せはただちに終了され、基礎となるデータベースへの未処理の問合せも取り消されます。
セッション・マネージャを閉じるには、「閉じる」をクリックします。
管理ツールで、オンライン・モードでリポジトリを開き、「管理」を選択してから「セッション」を選択します。
セッション・マネージャの上部ペインで、問合せを開始したユーザー・セッションを選択します。
ユーザーを強調表示すると、そのユーザーのアクティブな問合せリクエストが下部ペインに表示されます。
終了するリクエストを選択します。
「リクエストの強制終了」をクリックして選択したリクエストを終了します。
ユーザーは、問合せが管理ユーザーによって終了されたことを示すメッセージを受け取ります。問合せはただちに終了し、基礎となるデータベースへの未処理の問合せは取り消されます。
他のリクエストを終了するには、このプロセスを繰り返します。
セッション・マネージャを閉じるには、「閉じる」をクリックします。
このリリースでは、下位互換性を維持するために、カタログ・グループを使用してカタログ・オブジェクト権限を管理する機能、および認証が初期化ブロックでも行われる場合に初期化ブロックを使用してユーザーにアプリケーション・ロールのメンバーシップを設定する機能がサポートされています。
注意: 認証がOracle Platform Security Servicesで行われる場合、初期化ブロックを使用してアプリケーション・ロールのメンバーシップを設定することはできません。 |
この項には次のトピックが含まれます:
以前のリリースからアップグレードした場合のベスト・プラクティスは、ポリシー・ストアに維持されているアプリケーション・ロールを使用して、カタログの権限およびカタログ・オブジェクトの管理を開始することです。
Oracle Business Intelligenceは、Oracle Fusion Middlewareセキュリティ・モデルを使用し、そのリソースはロールベースのシステムによって保護されます。次のセキュリティ・モデルの変更は、Oracle BIプレゼンテーション・カタログの権限に影響するため、これはユーザーのアップグレードにおいて重要です。
現在、認可はファイングレインJAAS権限に基づいています。ユーザーは、対応するアプリケーション・ロールのメンバーシップによって権限が付与されます。
ユーザーとグループはアイデンティティ・ストアに維持され、BIサーバーには維持されなくなります。以前のリリースとは違い、BIサーバー・グループのメンバーは、同じ名前を持つカタログ・グループのメンバーに自動的にはなりません。
既存のカタログ・グループはアップグレード時に移行され、使用できるようになります。新しいカタログ・グループの作成を続けることができます。カタログ・グループを作成、編集、または削除する方法の詳細は、第D.2.2項のカタログ・グループの使用に関する項を参照してください。
カタログ・グループに他のカタログ・グループ、ユーザーまたはアプリケーション・ロールを割り当てることにより、これらの権限を付与できます。
注意: アプリケーション・ロールのメンバーになるためにカタログ・グループを割り当てると、複雑なグループ継承とメンテナンス状況が生じるため、ベスト・プラクティスとは考えられません。 |
カタログ・グループを使用して権限を付与するには:
プレゼンテーション・サービスの「ホーム」ページで「管理」を選択します。
「権限の管理」リンクをクリックして「権限の管理」ページを表示します。
「権限の管理」ページで権限のリンクをクリックします。
カタログ・グループに権限を割り当てるには:
「ユーザー/ロールの追加」をクリックします。
リストで「カタログ・グループ」を選択して「検索」をクリックします。
結果リストでカタログ・グループを選択します。
シャトル・コントロールを使用して、カタログ・グループを「選択済メンバー」に移動します。
「OK」をクリックします。
「権限」ダイアログで「権限付与」または「拒否」を選択して、カタログ・グループの権限を設定します。
プレゼンテーション・サービスの権限を明示的に拒否することは、グループまたはアプリケーション・ロール階層の結果として付与または継承されたユーザー・アクセス権より優先されます。
「OK」をクリックします。
必要に応じて権限が付与または拒否されるまで、ステップ3から7を繰り返します。
初期化ブロックを使用してユーザーにアプリケーション・ロールのメンバーシップを設定する場合、次の条件が適用されます。
ROLESまたはGROUPセッション変数を設定する初期化ブロックは、WebLogicセキュリティ・レルムで構成された認証プロバイダによる認証にユーザーが失敗した場合のみ機能します。かわりにユーザーは、初期化ブロックで認証を行います。
初期化ブロックは、ROLESまたはGROUPのいずれかの値を設定するように設定する必要があります。BIサーバーによって両方の変数の値は同じになります。
初期化ブロックを使用してROLESまたはGROUPセッション変数を設定する場合は、Fusion Middleware Controlを使用して構成した1つ以上のアプリケーション・ロール(BIConsumerなど)に名前で一致するように、その変数の値を設定する必要があります。認証時、これらのアプリケーション・ロールと、そのロールに関連付けられている権限がユーザーに割り当てられます。
アプリケーション・ロールと、新規アプリケーション・ロールの追加方法の詳細は、第2.4項「Fusion Middleware Controlの使用によるアプリケーション・ロールおよびアプリケーション・ポリシーの管理」を参照してください。
初期化ブロックを使用してROLESまたはGROUPセッション変数を設定する場合、前述のロジックを使用して、グループをアプリケーション・ロールに割り当てる処理が実行されます。この場合、グループをポリシー・ストアのアプリケーション・ロールに割り当てる処理は使用されません。
アプリケーション・ロールに一致しないROLESまたはGROUP変数の値は、Oracle BIプレゼンテーション・カタログの利用可能なカタログ・グループに対して名前で照合されます。これらのカタログ・グループと、そのグループに関連付けられている権限がユーザーに割り当てられます。
アプリケーション・ロールやカタログ・グループに一致しないROLESまたはGROUPの値は無視されます。
データベース認可用にROLESセッション変数を定義するには:
オフライン・モードかオンライン・モードで、管理ツールでリポジトリを開きます。
左ペインのツリーで「セッション」→「初期化ブロック」を選択します。
右ペインで右クリックし、「新規初期化ブロック」を選択します。
「セッション変数 - 初期化」ダイアログ・ボックスの「名前」フィールドにAuthorization
と入力します。
「データ・ソースの編集」をクリックします。
「データ・ソース・タイプ」ドロップダウン・リストで「データベース」を選択します。
SQLを入力します。
グループのリストまたは単一のグループ(行単位の初期化が使用されない場合)を返す任意のSQLを入力できます。
詳細は、『Oracle Fusion Middleware Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』のOracle BIリポジトリでの変数の使用に関する項を参照してください。
「参照」をクリックして、接続プールを選択します。
「選択」をクリックします。
「OK」をクリックします。
「OK」をクリックします。
「データ・ターゲットの編集」をクリックします。
「新規」をクリックします。
「名前」フィールドにROLES
と入力します。
「OK」をクリックします。
ROLESセッション変数の特別目的についての警告が表示されたら、「はい」をクリックします。
「OK」をクリックします。
「認証のために必要」チェック・ボックスを選択解除します。
「OK」をクリックします。