ホーム > アプリケーション・ビルダーの使用 > アプリケーション属性について > セキュリティ属性の構成
前へ |
次へ |
アプリケーションに対するセキュリティを提供するには、「セキュリティ属性の編集」ページで属性を編集します。選択したセキュリティ属性は、アプリケーション内のすべてのページに適用されます。
トピック:
セキュリティ属性の編集ページにアクセスするには、次のステップを実行します。
「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「セキュリティ」で、「セキュリティ属性の編集」をクリックします。
セキュリティ属性の編集ページが表示されます。
セキュリティ属性の編集ページは、「認証」、「認可」、「データベース・スキーマ」、「セッション・ステート保護」および「仮想プライベート・データベース」の各セクションに分かれています。これらのセクションには、ページをスクロール・ダウンするか、ページ上部のナビゲーション・ボタンをクリックしてアクセスできます。
ページ上部のボタンを選択すると、選択されたセクションが表示され、その他のセクションはすべて一時的に非表示になります。ページのすべてのセクションを表示するには、「すべて表示」をクリックします。
次のセクションでは、セキュリティ属性の編集ページで使用可能な属性について説明します。
トピック:
認証は、ユーザーがアプリケーションにアクセスする前に、そのユーザーのアイデンティティを証明するプロセスです。アプリケーションに対して複数の認証スキームを定義しても、一度に現行スキームに設定できるのは1つだけです。表「認証属性」に、認証で使用可能な属性を示します。
認証属性
属性 | 説明 |
---|---|
URL、またはアプリケーションを実行するときに実行されるプロシージャを指定します。 たとえば、「ホーム・リンク」には、アプリケーションのホームページの位置を特定するために使用される相対URLを含めることができます。たとえば、 この属性を使用してプロシージャに名前を付けることもできます。たとえば、アプリケーション・ホームとして機能するHTMLページをレンダリングする 注意: 認証後に表示されるページを決定するために「ホーム・リンク」属性は使用しないでください。認証後に表示されるページは、アプリケーションの認証スキーム内の他のコンポーネントによって決定されます。 参照: 「HOME_LINK」 |
|
HTMLの 参照: 「LOGIN_URL」および「認証スキームの作成」 |
|
データベース・アクセス記述子を介したデータベースへの接続に使用するOracleスキーマを示します。デフォルト値は、データベース・サーバーのバージョンがOracle Database Express Editionの環境では ユーザーの本人確認が行われると、Application Expressエンジンが組込み置換文字列 注意: 以前のバージョンのOracle Application Expressでは、組込み置換文字列
カレント・アプリケーション・ユーザー( たとえば、ユーザーがパブリック・ユーザーの場合はログイン・ボタンを表示し、ユーザーがパブリック・ユーザーでない場合にはログアウト・リンクを表示するように設定できます。この値を参照するには、 |
|
認証スキームを定義するには、このボタンをクリックします。 参照: 「認証の仕組みの理解」および「認証スキームの作成」 |
認可は、ユーザー権限に基づいて、特定のコントロールまたはコンポーネントへのユーザーのアクセスを制御します。「認可スキーム」リストから選択して、アプリケーションの認可スキームを指定できます。アプリケーション全体に割り当てることができる認可は1つのみです。ただし、認可スキームは、個々のページ、ページ・コントロール(リージョン、ボタン、アイテムなど)または共有コンポーネント(メニュー、リスト、タブなど)に割り当てることができます。
認可スキームを作成するには、「認可スキームの定義」をクリックします。
認可スキームはバイナリ操作で、結果は成功(true)または失敗(false)のいずれかになります。成功するとコンポーネントやコントロールを表示できますが、失敗するとコンポーネントやコントロールの表示または処理のいずれも行うことはできません。認可スキームをページに割り当てることに失敗すると、そのページではなくエラー・メッセージが表示されます。ただし、認可スキームをページ・コントロール(リージョン、ボタン、アイテムなど)に割り当てる場合は、失敗してもエラー・ページは表示されません。かわりに、コントロールが表示されないか、またはその処理や実行が行われません。
カレント・アプリケーションのデータベース・スキーマを指定するには、解析対象スキーマを使用します。定義後は、アプリケーションによって発行されるすべてのSQLおよびPL/SQLコマンドが、定義したデータベース・スキーマの権限で実行されます。
オープンWebブラウザで、取り消されたコンピュータにアプリケーションが公開される時間を短くするには、次の属性を使用します。
最大セッションの長さ: このアプリケーションが使用するセッションが何秒間存在するかを示す正の整数を入力します。値をNULL
のままにすると、セッションが無期限に存在します。このセッション継続時間は、8時間ごとに実行され、24時間より前から存在するセッションを削除するジョブの操作によって破棄されます。
セッション・タイムアウトURL: 「最大セッションの長さ」を超えた場合にリダイレクト先となるオプションのURLを入力します。Oracle Application Expressに実装されている場合は、このURLのターゲット・ページが公開ページになります。このページの一般的な用途は、ユーザーにセッションの有効期間を知らせ、ログイン・リンクや他のオプションを表示することです。URLを指定しない場合、リダイレクト先はアプリケーションのホームページになります。
最大セッション・アイドル時間: このアプリケーションが使用するセッションで、何秒間の停止時間またはアイドル時間を許可するかを示す正の整数を入力します。アイドル時間は、あるページ・リクエストと次のページ・リクエストとの間の時間です。値をNULL
のままにすると、セッションのアイドル時間のチェックは行われません。
アイドル・タイムアウトURL: 「最大セッション・アイドル時間」を超えた場合にリダイレクト先となるオプションのURLを入力します。Oracle Application Expressに実装されている場合は、このURLのターゲット・ページが公開ページになります。このページの一般的な用途は、ユーザーにセッションがアプリケーションのホームページにリダイレクトされることを知らせることです。URLを指定しない場合、リダイレクト先はアプリケーションのホームページになります。
セッション・ステート保護を有効にすると、ハッカーがアプリケーション内のURLを改ざんするのを防ぐことができます。URL改ざんにより、プログラム・ロジック、セッション・ステートの内容および情報プライバシが悪影響を受ける可能性があります。
アプリケーションのセッション・ステート保護を有効または無効にするには、「セッション・ステート保護」リストから選択します。セッション・ステート保護を有効に設定すると、ページおよびアイテム・レベルで定義されたセッション・ステート保護コントロールがオンになります。
セッション・ステート保護を構成するには、「セッション・ステート保護の管理」をクリックします。
この属性を使用して、現在の「ページの表示」または「ページの受入れ」リクエストに関連付けられた現在のデータベース・セッションに対して仮想プライベート・データベース(VPD)のコンテキストを設定するPL/SQLブロックを入力します。ここに入力したブロックは、ページ・リクエスト時の非常に早い段階(APP_USER
値が確立された直後)で実行されます。APP_USER
の値(:APP_USER
またはv('APP_USER')
を使用)をブロック内で使用できます。セッション・ステート内の他のアイテムの値も参照できますが、これらのアイテムは現在のページ・リクエストが開始する前にセッション・ステートに確立されている必要があります。次の例を検討してください。
dbms_session.set_context('CTX_USER_QRY','USERPRIV',my_package.my_function(:APP_USER));
前の例では、CTX_USER_QRY
という名前のコンテキストでUSERPRIV
の値を、my_package
パッケージのmy_function
ファンクションによって戻された値に設定します。ファンクションには、入力引数としてAPP_USER
の現行の値が渡されます。多くの場合、認証済ユーザーに適した条件の生成を有効にするために、(アプリケーションの解析スキーマ内で作成されている)VPDポリシーで名前付きコンテキストが使用されます。
ファイングレイン・アクセス制御(FGAC)とも呼ばれる仮想プライベート・データベースは、開発者がセキュリティ・ポリシーをデータベースの表およびビューに割り当てることができるApplication Program Interface(API)を提供するOracle Databaseの機能です。開発者はPL/SQLを使用して、ストアド・プロシージャを含むセキュリティ・ポリシーを作成し、RDBMSパッケージをコールしてそのプロシージャを表またはビューにバインドできます。このようなポリシーは、データベース内に格納されているアプリケーション・データのコンテンツか、またはOracle Databaseが提供するコンテキスト変数に基づいています。これによって、VPDではアクセス・セキュリティ・メカニズムをアプリケーションから取り除き、特定のスキーマに近い状態にできます。
このセクションに入力したコードをVPD/FGACに関連付ける必要はありません。実際、このコードはセキュリティに関連付けられません。ページ・リクエストの最初の時点で実行する必要があるコードは、すべてここに指定できます。たとえば、各ページ・リクエストに対してデータベース・セッションのタイムゾーンを設定するには、次のように指定します。
BEGIN EXECUTE IMMEDIATE 'alter session set time_zone = ''Australia/Sydney'' '; END;