Oracle® Fusion Middleware Oracle Business Intelligence Enterprise Editionセキュリティ・ガイド 12c (12.2.1.4.0) E96104-05 |
|
前 |
次 |
この付録は、アップグレードされたシステムとの下位互換性を維持するために含まれているレガシー・セキュリティ管理オプションについて説明するものであり、ベスト・プラクティスではありません。
ノート:
どのユーザーに対しても、認証と認可の両方をOracle Fusion Middlewareのセキュリティ・モデルまたはレガシー・メカニズムを使用して実行する必要があります。2つを混合させることはできません。そのため、Oracle Fusion Middlewareセキュリティを使用して認証を実行し、その後で初期化ブロックを使用して認可を行うことはできません。
セッション変数などのレガシー認証オプションを初期化ブロックで使用して、ユーザーIDおよびグループを取得する場合は、軽量SSOを無効にする必要があります。レガシー認証では、Oracle WebLogicを介してSSOを使用できません。
NQUser
およびNQPassword
問合せパラメータの使用によるSSOまたは軽量SSOへのログインは、サポートされていません(NQUser
およびNQPassword
ログイン・パラメータは、Oracle BIプレゼンテーション・サービスのGo URLのオプション・パラメータとして使用されていました)。
軽量SSOは、Oracle BI EEリリース12.2.1.3.0以降はデフォルトで実装されています。ユーザーが従来のOracle BI EEとVisual Analyzerの間、または従来のホーム・ページと新しいホーム・ページの間を移動するときに、ログインを求めるプロンプトは表示されません。
WLST disableSingleSignOn
コマンドを使用して軽量SSOを無効にするには、WLSTコマンドを使用したSSO認証の有効化および無効化を参照してください。軽量SSOが無効になると、ユーザーはOracle BIセキュリティ・ログインにリダイレクトされます。
他のSSOオプションを現在の環境に実装できます。
下位互換性のため、Oracle Business Intelligenceの複数のレガシー認証オプションが引き続きサポートされます。
システムをアップグレードするためのベスト・プラクティスは、デフォルトのセキュリティ・モデルによって提供されるアイデンティティ・ストアおよび認証プロバイダを使用して、認証の実装を開始することです。組み込まれたディレクトリ・サーバーはインストールまたはアップグレード時にデフォルトのアイデンティティ・ストアおよび認証プロバイダとして構成され、すぐに使用できるようになります。
「Oracle Business Intelligenceのセキュリティの紹介」および「デフォルト・セキュリティ構成の理解」を参照してください。
認証とは、ログイン中に提供されたユーザー名およびパスワードによって、システムへのログインに必要な資格証明をユーザーが持っていることを保証するために確認するプロセスのことです。BIサーバーは、受け取った接続リクエストをそれぞれ認証します。このリリースでは、下位互換性を維持するためにBIサーバーによって次のレガシー認証方法がサポートされています。
外部LDAPベースのディレクトリ・サーバー
外部初期化ブロック認証
表ベース。
この項では、次の項目について説明します。
ユーザー資格証明を認証のために外部LDAPサーバーへ渡すようにOracle BIサーバーを設定できます。
レガシーのLDAP認証方法では、Oracle BI管理ツールで変数マネージャを使用して定義するOracle Business Intelligenceセッション変数を使用します。『Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』のOracle BIリポジトリの変数の使用に関する項を参照してください。
次のようにLDAPサーバーを作成します。
管理ツールで「管理」を選択してから「アイデンティティ」を選択し、Identity Managerを起動します。
Identity Managerの左ペインで「ディレクトリ・サーバー」を選択します。
Identity Managerの右ペインで右クリックし、新規LDAPサーバーを選択します。「LDAPサーバー」ダイアログが表示されます。
フィールドに値を入力してLDAPサーバーを作成します。
LDAP初期化ブロックを作成し、LDAPサーバーに関連付けます。
USERという名前のシステム変数を定義し、USER変数をLDAP属性に割り当てます(uid、sAMAccountName、cnなど)。
ユーザーがログオンしてセッションを開始するときに、セッション変数に値が入力されます。システム・セッション変数と呼ばれる特定のセッション変数には特別な用途があります。システム・セッション変数USERは認証とともに使用されます。
該当する場合は、リポジトリ・ファイルからユーザーを削除します。
USERシステム変数をLDAP初期化ブロックに関連付けます。
ノート:
キー・ファイル名とパスワードを設定し、管理ツールでLDAPパラメータの設定のテストが正常に完了し、その後、キー・ファイル名とパスワードを再び変更した場合、セキュアLDAPを使用するには、テストの前に管理ツールを再起動する必要があります。
認証方法としてActive Directoryサービス・インタフェース(ADSI)を使用するOracle Business Intelligenceのインスタンスについては、Active Directoryインスタンスを設定するときに、次のオプションを使用します。
ログオン先ですべてのコンピュータを選択します。または一部のコンピュータを一覧表示する場合は、ログオン・ワークステーションとしてActive Directoryサーバーを含めます。
「ユーザーは次回ログオン時にパスワードの変更が必要」が選択されていないことを確認します。
管理ツールでは、LDAPサーバー・セクションでBIND DNに使用されるCNユーザーには、ldap_bind
とldap_search
の両方の認可が必要です。
ノート:
BIサーバーは、LDAP認証にクリアテキストのパスワードを使用します。LDAPサーバーがこれを許可するように設定されていることを確認してください。
初期化ブロックを使用して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変数を関連付けます。
Authentication
と入力します。USER
と入力します。外部データベース表にユーザーとパスワードのリストを維持し、この表を認証目的に使用することができます。
外部データベース表は、ユーザー名とパスワードを含み、Oracle BIプレゼンテーション・サービスのユーザーに使用するグループ・メンバーシップや表示名など、他の情報を含めることができます。また、表には、データを問い合せるときに各ユーザーのために使用する特定のデータベース・カタログまたはスキーマの名前を含めることもできます。
ノート:
ユーザーが複数のグループに属している場合、セミコロンで区切ってグループ名を同じ列に含める必要があります。これは、グループまたはロールに対して行単位の変数を使用しない場合のみ適用されます。
外部表の認証は、管理ツールで変数マネージャを使用して定義するセッション変数を使用します。『Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』のOracle BIリポジトリの変数の使用に関する項を参照してください。
ユーザーがログオンしてセッションを開始するときに、セッション変数に値が入力されます。システム変数と呼ばれる特定のセッション変数には、特別の用途があります。変数USERは、外部表の認証とともに使用されるシステム変数です。
外部表の認証を設定するには、USERというシステム変数を定義して、外部データベース表に関連付けられている初期化ブロックに関連付けます。ユーザーがログインすると、ユーザーIDとパスワードは、認証のためにこのデータベース表に問い合せるSQLを使用して認証されます。初期化ブロックは、データベースに接続するために物理レイヤーでデータベース接続を使用します。物理レイヤーの接続には、ログイン情報が含まれています。ユーザーの認証に成功したら、このSQL問合せの結果からユーザーの他のセッション変数を入力できます。
定義されたシステム変数USERの存在によって、外部認証が実行されることが決定されます。外部データベース表の初期化ブロックにUSERを関連付けることによって、この表の情報を使用してユーザーが認証されることが決定されます。認証の他の形式を提供するには、LDAPサーバーまたはXMLソースに関連付けられている初期化ブロックに、USERシステム変数を関連付けます。「初期化ブロックの使用によるLDAP認証の設定」を参照してください。
Oracle BIスケジューラ・サーバーは、パスワードにアクセスしたりパスワードを格納しないで、ユーザーのためにOracle BIデリバー・ジョブを実行します。
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 Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』のOracle BIデリバーに関する項の例を参照してください。
BIサーバーは、初期化ブロックに定義されている依存関係ルールで指定された希望する順序で、初期化ブロックを使用してセッション変数に値を移入します。
サーバーは、セッション変数USERを見つけると、USER変数が関連付けられている初期化ブロックの構成に基づいて、LDAPサーバーまたは外部データベース表に対する認証を実行します。
Oracle WebLogic Server管理コンソールで構成されたアイデンティティ・ストアに対する認証が最初に発生し、それが失敗すると、初期化ブロック認証が使用されます。
初期化ブロックを使用して、カスタマイズされた認証モジュールを作成できます。
オーセンティケータ
は、顧客または開発者が記述したダイナミック・リンク・ライブラリ(DLL)、またはUNIXの共有オブジェクトであり、Oracle BIオーセンティケータのAPI仕様に準拠しています。このオーセンティケータ
をBIサーバーで使用して、実行時に認証およびその他のタスクを実行できます。認証モジュールは、キャッシュ・レイヤーを持つBIサーバー・モジュールであり、実行時にオーセンティケータを使用し、関連するタスクを実行します。
Oracle Technology Network (OTN)からダウンロードできるOracle BI EEサンプル・アプリケーションにサンプルのカスタム・オーセンティケータ・コードがあります。
認証オブジェクト(オーセンティケータ・プラグイン)を作成し、認証モジュールの一連のパラメータ(設定ファイル・パス、キャッシュ・エントリの数、キャッシュの有効期限など)を指定した後、認証オブジェクトを初期化ブロックに関連付ける必要があります。必須のUSER変数および他の変数を初期化ブロックに関連付けることができます。
ユーザーがログインし、認証に成功すると、初期化ブロックでの指定に従って変数のリストに値が移入されます。
カスタム・オーセンティケータは、カスタムC
オーセンティケータ・プラグインを示すリポジトリのオブジェクトです。このオブジェクトは認証init
ブロックとともに使用され、BIサーバー・コンポーネントがカスタム・オーセンティケータに対してユーザーを認証できるようにします。認証で推奨される方式はOracle WebLogic Serverの組込みLDAPサーバーを使用する方式です。カスタム・オーセンティケータを引き続き使用できます。
管理ツールで「管理」を選択してから「アイデンティティ」を選択します。ナビゲーション・ツリーで「カスタム認証システム」を選択します。次のオプションから選択します。
右ペインで右クリックし、新しいカスタム・オーセンティケータを選択して、新しいカスタム・オーセンティケータを作成します。
名前をダブルクリックして、カスタム・オーセンティケータを編集します。
「カスタム認証システム」ダイアログで、必要なフィールドに値を入力します。
認証システム・プラグイン: このカスタム認証システムのプラグインDLLのパスと名前。
構成パラメータ: 構成のために明示的に公開されたこのカスタム認証システムのパラメータ。
暗号化パラメータ: パスワードなど、暗号化されたこのカスタム認証システムのパラメータ。
キャッシュ永続時間: ログオンしたユーザーの認証キャッシュ・エントリが、このカスタム認証システムに対してリフレッシュされる間隔。
キャッシュ・エントリ数: Oracle BIサーバーの起動時に事前割当てされる、このカスタム・オーセンティケータの認証キャッシュの最大エントリ数。ユーザー数がこの限度を超えると、LRUアルゴリズムを使用してキャッシュ・エントリの入替えが行われます。この値に0を指定すると認証キャッシュは無効になります。
「OK」をクリックします。
システム・セッション変数は、初期化ブロックから値を取得し、LDAPサーバーやデータベース表など、外部ソースに対してOracle Business Intelligenceユーザーを認証するために使用されます。
アクティブなBIサーバーのセッションはすべて、セッション変数を生成し、初期化します。各セッション変数インスタンスは、異なる値へと初期化できます。『Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』のOracle BIリポジトリの変数の使用に関する項を参照してください。
管理ツール・セッション・マネージャは、アクティビティを監視するためにオンライン・モードで使用されます。
セッション・マネージャには、セッションにログインしているすべてのユーザー、各ユーザーのすべての現在の問合せリクエスト、および変数および選択されたセッションに対するそれらの値が示されます。さらに、管理ユーザーは任意のユーザーを切断し、セッション・マネージャを使って任意の問合せリクエストを終了できます。
セッション・マネージャのデータがどれくらい頻繁にリフレッシュされるかは、システム上のアクティビティの数によって変わります。任意の時点で表示をリフレッシュするには、「リフレッシュ」をクリックします。
セッション・マネージャには、上部ペインと下部ペインがあります。
上部ペインである「セッション」ペインには、BIサーバーに現在ログインしているユーザーが表示されます。更新速度を制御するには、「更新速度」リストから「標準」、「高」、または「低」を選択します。表示がリフレッシュされないようにするには、「一時停止」を選択します。
下部ペインには、2つのタブがあります。
「リクエスト」タブには、「セッション」ペインで選択したユーザーのアクティブな問合せリクエストが表示されます。
「変数」タブには、変数、および選択したセッションに対するそれらの値が表示されます。列ヘッダーをクリックすると、データをソートできます。
次の表に、「セッション・マネージャ」ダイアログの列を示します。
列名 | 説明 |
---|---|
クライアント・タイプ |
サーバーに接続されているクライアントのタイプ。 |
最終アクティブ時間 |
セッションの最後のアクティビティのタイムスタンプ。 |
ログオン時間 |
セッションがBIサーバーに最初に接続した時刻を示すタイムスタンプ。 |
リポジトリ |
セッションが接続されているリポジトリの論理名。 |
セッションID |
セッションが開始されたときに、BIサーバーが各セッションを割り当てる一意の内部識別子。 |
ユーザー |
接続されているユーザーの名前。 |
列名 | 説明 |
---|---|
最終アクティブ時間 |
問合せに対する最後のアクティビティのタイムスタンプ。 |
リクエストID |
問合せが開始されたときに、BIサーバーが各問合せを割り当てる一意の内部識別子。 |
セッションID |
セッションが開始されたときに、BIサーバーが各セッションを割り当てる一意の内部識別子。 |
開始時間 |
個々の問合せリクエストの時間。 |
『Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』のOracle BIリポジトリの変数の使用に関する項を参照してください。
管理ツールで、オンライン・モードでリポジトリを開き、「管理」を選択してから「セッション」を選択します。
セッションを選択し、「変数」タブをクリックします。
ビューをリフレッシュするには、「リフレッシュ」をクリックします。
セッション・マネージャを閉じるには、「閉じる」をクリックします。
セッションからユーザーを切断するには、次のステップを実行します。
管理ツールで、オンライン・モードでリポジトリを開き、「管理」を選択してから「セッション」を選択します。
セッション・マネージャの上部ペインでユーザーを選択します。
「切断」をクリックします。
ユーザー・セッションは、セッションが管理ユーザーによって終了されたことを示すメッセージを受け取ります。現在実行されている問合せはただちに終了され、基礎となるデータベースへの未処理の問合せも取り消されます。
セッション・マネージャを閉じるには、「閉じる」をクリックします。
アクティブな問合せを終了するには、次のステップを実行します。
このリリースでは、下位互換性を維持するために、認証が初期化ブロックで行われる場合に初期化ブロックを使用してユーザーにアプリケーション・ロールのメンバーシップを設定する機能がサポートされています。
ノート:
認証がOracle Platform Security Servicesで行われる場合、初期化ブロックを使用してアプリケーション・ロールのメンバーシップを設定することはできません。
この項では、次の項目について説明します。
以前のリリースからアップグレードした場合のベスト・プラクティスは、ポリシー・ストアに維持されているアプリケーション・ロールを使用して、カタログの権限およびカタログ・オブジェクトの管理を開始することです。
Oracle Business Intelligenceは、Oracle Fusion Middlewareセキュリティ・モデルを使用し、そのリソースはロールベースのシステムによって保護されます。これがユーザーのアップグレードにおいて重要であるのは、次のセキュリティ・モデルの変更がOracle BIプレゼンテーション・カタログの権限に影響するためです。
現在、認可はファイングレインJAAS権限に基づいています。ユーザーは、対応するアプリケーション・ロールのメンバーシップによって権限が付与されます。
ユーザーとグループはアイデンティティ・ストアに維持され、BIサーバーには維持されなくなります。
権限はOracle BIプレゼンテーション・カタログに格納され続け、ポリシー・ストアの管理に使用する管理インタフェースからはアクセスできません。
Everyoneカタログ・グループは利用できなくなり、AuthenticatedUserアプリケーション・ロールに置き換えられました。カタログ・グループEveryoneのメンバーは、アップグレード後に自動的にAuthenticatedUserロールのメンバーになります。
これらのステップを使用して、初期化ブロックを使用してユーザーにアプリケーション・ロールのメンバーシップを設定します。
ROLESまたはGROUPセッション変数を設定する初期化ブロックは、WebLogicセキュリティ・レルムで構成されたオーセンティケータによる認証にユーザーが失敗した場合のみ機能します。かわりに、ユーザーは、初期化ブロックを介して認証します。
ROLESまたはGROUPの値を設定するように初期化ブロックを設定して、BIサーバーが両方の変数の値を同じにできるようにする必要があります。
初期化ブロックを使用してROLESまたはGROUPセッション変数を設定する場合は、Fusion Middleware Controlを使用して構成した1つ以上のアプリケーション・ロール(BIConsumerなど)に名前で一致するように、その変数の値を設定します。認証時、これらのアプリケーション・ロールと、そのロールに関連付けられている権限がユーザーに割り当てられます。
「Fusion Middleware Controlを使用したアプリケーション・ロールおよびアプリケーション・ポリシーの管理」を参照してください。
初期化ブロックを使用してROLESまたはGROUPセッション変数を設定する場合、前述のロジックを使用して、グループをアプリケーション・ロールに割り当てる処理が実行されます。この場合、グループをポリシー・ストアのアプリケーション・ロールに割り当てる処理は使用されません。
『Oracle Business Intelligence Enterprise Editionメタデータ・リポジトリ作成者ガイド』のOracle BIリポジトリの変数の使用に関する項を参照してください。