セキュリティ属性の構成

前へ
前へ
 
次へ
次へ

アプリケーションに対するセキュリティを提供するには、「セキュリティ属性の編集」ページで属性を編集します。選択したセキュリティ属性は、アプリケーション内のすべてのページに適用されます。

トピック:

セキュリティ属性の編集ページへのアクセス

セキュリティ属性の編集ページにアクセスするには、次のステップを実行します。

  1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

  2. アプリケーションを選択します。

  3. 「共有コンポーネント」をクリックします。

    共有コンポーネント・ページが表示されます。

  4. 「セキュリティ」で、「セキュリティ属性の編集」をクリックします。

セキュリティ属性の編集ページが表示されます。

ナビゲーションの選択肢

セキュリティ属性の編集ページは、「認証」、「認可」、「データベース・スキーマ」、「セッション・ステート保護」および「仮想プライベート・データベース」の各セクションに分かれています。これらのセクションには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックしてアクセスできます。

図sec_attribute_tabs.gifの説明が続きます
図sec_attribute_tabs.gifの説明

ページ上部のボタンを選択すると、選択されたセクションが表示され、その他のセクションはすべて一時的に非表示になります。ページのすべてのセクションを表示するには、「すべて表示」をクリックします。

セキュリティ属性ページについて

次のセクションでは、セキュリティ属性の編集ページで使用可能な属性について説明します。

トピック:

認証

認証は、ユーザーがアプリケーションにアクセスする前に、そのユーザーのアイデンティティを証明するプロセスです。アプリケーションに対して複数の認証スキームを定義しても、一度に現行スキームに設定できるのは1つだけです。表「認証属性」に、認証で使用可能な属性を示します。

認証属性

属性 説明

ホーム・リンク

URL、またはアプリケーションを実行するときに実行されるプロシージャを指定します。

たとえば、「ホーム・リンク」には、アプリケーションのホームページの位置を特定するために使用される相対URLを含めることができます。たとえば、f?p=6000:600は、ホームページ番号600を持つアプリケーション6000を指定します。この例では、アプリケーション・テンプレート内の#HOME_LINK#置換文字列は、「ホーム・リンク」に入力した値で置き換えられます。

この属性を使用してプロシージャに名前を付けることもできます。たとえば、アプリケーション・ホームとして機能するHTMLページをレンダリングするpersonal_calendarなどのプロシージャを作成できます。

注意: 認証後に表示されるページを決定するために「ホーム・リンク」属性は使用しないでください。認証後に表示されるページは、アプリケーションの認証スキーム内の他のコンポーネントによって決定されます。

参照: 「HOME_LINK」

ログインURL

HTMLの&LOGIN_URLまたはテンプレート内の#LOGIN_URL#置換文字列と置き換えられます。

参照: 「LOGIN_URL」および「認証スキームの作成」

パブリック・ユーザー

データベース・アクセス記述子を介したデータベースへの接続に使用するOracleスキーマを示します。デフォルト値は、データベース・サーバーのバージョンがOracle Database Express Editionの環境ではANONYMOUS、その他すべてのバージョンのデータベース・サーバー環境ではAPEX_PUBLIC_USERです。

ユーザーの本人確認が行われると、Application Expressエンジンが組込み置換文字列APP_USERの値を設定して、各ユーザーを追跡します。

注意: 以前のバージョンのOracle Application Expressでは、組込み置換文字列HTMLDB_PUBLIC_USERが使用されていました。

APP_USERがこの値と等しいと、Application Expressエンジンはカレント・セッションをパブリック・ユーザー・セッションとみなします。Application Expressエンジンは、次の組込み表示条件をサポートしています。

  • USER_IS_PUBLIC_USER

  • USER_IS_NOT_PUBLIC_USER

カレント・アプリケーション・ユーザー(APP_USER)がこの属性の値と等しい場合、ユーザーはパブリック・ユーザーとしてログインされます。一部のアプリケーションには、パブリック・モード(ログインが不要)およびプライベート・モード(ログインが必要)があります。ユーザーがパブリック・ユーザーかどうかを判断して、条件付きで情報の表示と非表示を切り替えることができます。

たとえば、ユーザーがパブリック・ユーザーの場合はログイン・ボタンを表示し、ユーザーがパブリック・ユーザーでない場合にはログアウト・リンクを表示するように設定できます。この値を参照するには、APEX_APPLICATION.G_PUBLIC_USERを使用します。また、Application Expressエンジンには、組込み条件タイプUSER_IS_PUBLIC_USERおよびUSER_IS_NOT_PUBLICもあります。

参照: 「HOME_LINK」および「条件付きのレンダリングおよびプロセスの理解」

「認証スキーム」の定義

新しい認証スキームを定義するには、このボタンをクリックします。

参照: 「認証の仕組みの理解」および「認証スキームの作成」


認可

認可は、ユーザー権限に基づいて、特定のコントロールまたはコンポーネントへのユーザーのアクセスを制御します。「認可スキーム」リストから選択して、アプリケーションの認可スキームを指定できます。アプリケーション全体に割り当てることができる認可は1つのみです。ただし、認可スキームは、個々のページ、ページ・コントロール(リージョン、ボタン、アイテムなど)または共有コンポーネント(メニュー、リスト、タブなど)に割り当てることができます。

新しい認可スキームを作成するには、「認可スキームの定義」をクリックします。

認可スキームはバイナリ操作で、結果は成功(true)または失敗(false)のいずれかになります。成功するとコンポーネントやコントロールを表示できますが、失敗するとコンポーネントやコントロールの表示または処理のいずれも行うことはできません。認可スキームをページに割り当てることに失敗すると、そのページではなくエラー・メッセージが表示されます。ただし、認可スキームをページ・コントロール(リージョン、ボタン、アイテムなど)に割り当てる場合は、失敗してもエラー・ページは表示されません。かわりに、コントロールが表示されないか、またはその処理や実行が行われません。

データベース・スキーマ

カレント・アプリケーションのデータベース・スキーマを指定するには、解析対象スキーマを使用します。定義後は、アプリケーションによって発行されるすべてのSQLおよびPL/SQLコマンドが、定義したデータベース・スキーマの権限で実行されます。

セッション・ステート保護

セッション・ステート保護を有効にすると、ハッカーがアプリケーション内のURLを改ざんするのを防ぐことができます。URL改ざんにより、プログラム・ロジック、セッション・ステートの内容および情報プライバシが悪影響を受ける可能性があります。

アプリケーションのセッション・ステート保護を有効または無効にするには、「セッション・ステート保護」リストから選択します。セッション・ステート保護を有効に設定すると、ページおよびアイテム・レベルで定義されたセッション・ステート保護コントロールがオンになります。

セッション・ステート保護を構成するには、「セッション・ステート保護の管理」をクリックします。

仮想プライベート・データベース(VPD)

仮想プライベート・データベース(VPD)は、開発者がセキュリティ・ポリシーをデータベースの表およびビューに割り当てることができるApplication Program Interface(API)を提供します。開発者はPL/SQLを使用して、ストアド・プロシージャを含むセキュリティ・ポリシーを作成し、RDBMSパッケージをコールしてそのプロシージャを表またはビューにバインドできます。このようなポリシーは、データベース内に格納されているアプリケーション・データのコンテンツか、またはOracleデータベースが提供するコンテキスト変数に基づいています。これによって、VPDではアクセス・セキュリティ・メカニズムをアプリケーションから取り除き、集約できます。

このフィールドで入力したPL/SQLは、ユーザーの認証直後に実行されます。V('USER')は、このファンクションからアクセス可能です。カレント・コールのセッション・ステートは、このコールが実行される時点ではまだ初期化されません。アプリケーションがVPDを使用して、同じデータベースで複数の顧客をサポートする必要がない場合は、この属性をNULLのままにしてください。