プライマリ・コンテンツに移動
Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド
リリース18.1
E98591-01
目次へ移動
目次
索引へ移動
索引

前
次

20.5 認可を介したセキュリティの提供

認可スキームを作成することで、アプリケーションのセキュリティを強化します。

認可は、ユーザー権限に基づいてリソースへのアクセスを制御することを示す広義語です。条件は特定のページ・コントロールまたはページ・コンポーネントのレンダリングおよび処理を制御しますが、認可スキームは特定のコントロールまたはコンポーネントへのユーザーのアクセスを制御します。

20.5.1 認可スキームの動作方法

認可スキームがアプリケーションの認証スキームのセキュリティを強化する仕組みについて学習します。

認可スキームは、アプリケーション全体、各ページ、またはリージョン、アイテム、ボタンなどの特定のコントロールに対して指定できます。たとえば、認可スキームを使用して、ユーザーに表示するタブ、リージョンまたはナビゲーション・バーを選択的に決定できます。認可スキームの結果は、成功または失敗のいずれかです。認可スキームの一般的なタイプには、「EXISTS」、「NOT EXISTS SQL問合せ」および「ブールを戻すPL/SQLファンクション」が含まれます。コンポーネントまたはコントロール・レベルの認可スキームに成功すると、そのコンポーネントまたはコントロールがユーザーに表示されます。失敗すると、そのコンポーネントまたはコントロールはユーザーに表示されません。アプリケーション・レベルまたはページ・レベルの認可スキームに失敗すると、Oracle Application Expressは事前定義済のメッセージを表示します。

認可スキームを定義する場合は、一意の名前を指定します。定義した認可スキームは、アプリケーションのコンポーネントまたはコントロールに割り当てることができます。アプリケーションのコンポーネントまたはコントロールに認可スキームを割り当てるには、該当する属性ページにナビゲートして、「認可スキーム」リストから認可スキームを選択するのみです。

20.5.2 認可スキームの作成および編集

認可スキームを作成および編集する方法について学習します。認可スキームは、アプリケーションまたはアプリケーション・コンポーネントまたはコントロールに割り当てる前に作成する必要があります。

20.5.2.1 認可スキーム・タイプについて

認可スキームを作成する場合、認可スキーム・タイプを選択します。認可スキーム・タイプにより、認可スキームの適用方法が決まります。開発者は、新しい認可タイプ・プラグインを作成して、このリストを拡張できます。

表20-1 認可スキーム・タイプ

認可スキーム・タイプ 説明

EXISTS SQL問合せ

認可スキームが1行以上を戻す場合は合格、行を戻さない場合は不合格となる問合せを入力します

NOT EXISTS SQL問合せ

認可スキームが行を戻さない場合は合格、1行以上を戻す場合は不合格となる問合せを入力します

ブールを戻すPL/SQLファンクション

ファンクション本体を入力します。ファンクションがtrueを戻す場合、認可は成功します。

式1のアイテムがNULL

アイテム名を入力します。アイテムがnullの場合、認可は成功します。

式1のアイテムがNOT NULL

アイテム名を入力します。アイテムがnullでない場合、認可は成功します。

式1のアイテムの値 = 式2

アイテム名と値を入力します。アイテムの値が認可値と等しい場合、認可は成功します。

式1のアイテムの値 != 式2

アイテム名と値を入力します。アイテムの値が認可値と等しくない場合、認可は成功します。

式1のプリファレンスの値 != 式2

プリファレンス名と値を入力します。プリファレンスの値が認可値と等しくない場合、認可は成功します。

式1のプリファレンスの値 = 式2

プリファレンス名と値を入力します。プリファレンスの値が認可値と等しい場合、認可は成功します。

グループ内

グループ名を入力します。グループがセッションの動的グループとして有効な場合、認可は成功します。『Oracle Application Express APIリファレンス』のAPEX_AUTHORIZATION.ENABLE_DYNAMIC_GROUPSに関する項を参照してください。

アプリケーションでApplication Expressアカウント認証が使用される場合、このチェックにはユーザーに付与されたワークスペース・グループも含まれます。アプリケーションでデータベース認証が使用される場合、このチェックにはユーザーに付与されたデータベース・ロールも含まれます。

グループ内にない

グループ名を入力します。グループがセッションの動的グループとして有効でない場合、認可は成功します。

20.5.2.2 認可スキームの作成

共有コンポーネント・ページで認可スキームを作成します。

認可スキームを作成するには、次のステップを実行します。

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

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

  3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

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

  4. 「セキュリティ」で、「認可スキーム」を選択します。

  5. 「作成」をクリックします。

  6. 次のいずれかの項目を選択して、認可スキームの作成方法を指定します。

    • 最初から

    • 既存の認可スキームのコピーとして

  7. 認可スキームの作成 - 詳細で、次のステップを実行します。

    1. 名前 - この認可スキームを識別する一意の名前を入力します。

    2. スキーム・タイプ - この認可スキームが適用される方法を選択します。認可スキーム・タイプについてを参照してください。

    3. スキームの違反時に表示されるエラー・メッセージの指定 - 認可スキームが失敗した(つまり、カレント・ユーザーがセキュリティ・チェックに失敗した)場合に表示されるエラー・テキストを入力します。

    4. 認可スキームの検証 - 認可スキームはセッションの最初の使用時に評価されます。その後の使用で再評価するかどうか、およびメモリーに保存された結果をいつ取得できるかを制御するには、このオプションを使用します。

    詳細は、フィールドレベル・ヘルプを参照してください。

  8. 「認可スキームの作成」をクリックします。

20.5.2.3 既存の認可スキーム属性の編集

既存の認可スキーム属性を編集します。

既存の認可スキームの属性を編集するには、次のステップを実行します。

  1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
  2. アプリケーションを選択します。
  3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

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

  4. 「セキュリティ」で、「認可スキーム」を選択します。

    認可スキーム・ページが表示されます。デフォルトでは、各スキームがアイコンとして表示されます。ページ上部の検索バーを使用してページの概観をカスタマイズできます。

  5. 認可スキームを選択します。
  6. 対象となる属性を編集します。

    詳細は、フィールドレベル・ヘルプを参照してください。

  7. 変更を保存するには、「変更の適用」をクリックします。

20.5.2.4 評価ポイント属性の変更

「評価ポイント」、「認可スキームの検証」属性を使用して、認可スキームを検証するタイミングを制御します。

認可スキームの評価ポイントを変更するには、次のステップを実行します。

  1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
  2. アプリケーションを選択します。
  3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

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

  4. 「セキュリティ」で、「認可スキーム」を選択します。

    認可スキーム・ページが表示されます。

    デフォルトでは、各スキームがアイコンとして表示されます。ページ上部の検索バーを使用してページの概観をカスタマイズできます。

  5. 認可スキームを選択します。
  6. 「評価ポイント」までスクロールして、「認可スキームの検証」属性を編集します。オプションは次のとおりです。
    • セッションごとに1回 - 1回のみ評価し、その後は常にメモリーに保存された結果を使用します。

    • ページ・ビューごとに1回 - 処理されるリクエストごとに1回評価します。認可スキームがページ上の複数のコンポーネントで参照される場合は、メモリーに保存された結果を使用します。

    • コンポーネントごとに1回 - 認可スキームを参照するコンポーネントごとに1回評価しますが、結果をセッションに保存します。スキームのレンダリングまたは処理に対する以降のリクエストでは、コンポーネントについて記憶された結果を使用します。

    • 常時(キャッシュなし) - 認可スキームは常に評価されます。

    詳細は、フィールドレベル・ヘルプを参照してください。

  7. 変更を保存するには、「変更の適用」をクリックします。

ヒント:

デフォルト値の「セッションごとに1回」が最も効率的です。認可チェックが、セッション・ステートの変化やセッション全体で一貫しない他の要因に依存する場合は、別の値を選択する必要があります。

20.5.2.5 認可スキーム・ステートのリセット

セッションの認可スキーム・ステートをリセットするAPIをコールします。

認可スキームがセッションごとに1回検証される場合、Oracle Application Expressは各ユーザーのセッション・キャッシュ内に検証結果をキャッシュします。セッションの認可スキーム・ステートは、APEX_AUTHORIZATION.RESET_CACHE APIをコールしてリセットできます。

関連項目:

『Oracle Application Express APIリファレンス』APEX_AUTHORIZATION.RESET_CACHEプロシージャに関する説明

20.5.3 アプリケーション、ページまたはコンポーネントへの認可スキームの割当て

作成した認可スキームは、アプリケーション全体、ページ、コントロールまたはコンポーネントに割り当てることができます。

20.5.3.1 アプリケーションへの認可スキームの割当て

認可スキームをアプリケーションに割り当てるには、次のステップを実行します。

  1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
  2. アプリケーションを選択します。
  3. 「共有コンポーネント」アイコンをクリックします。

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

  4. 「セキュリティ」で、「セキュリティ属性」をクリックします。
  5. 「認可」までスクロールして、「認可スキーム」リストから認可スキームを選択します。
  6. パブリック・ページで実行で、(つまり、認可を必要としないページ)で、アプリケーション・レベルの認可スキームをチェックするかどうかを指定するには、「はい」または「いいえ」を選択します。詳細は、認可を参照してください。
  7. 新しい認可スキームを定義するには、「認可スキームの定義」をクリックします。

20.5.3.2 ページへの認可スキームの割当て

認可スキームをページに割り当てるには、次のステップを実行します。

  1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
  2. アプリケーションを選択します。
  3. ページを選択します。
    ページ・デザイナが表示されます。
  4. 左側にある「レンダリング」タブ内で、ツリーの上部のページ・タイトルをクリックします。
  5. プロパティ・エディタで、「セキュリティ」を見つけて、「認可スキーム」属性から選択します。

    ヒント:

    グループまたは属性を検索するには、次のステップを実行します。

    • グループまたは属性の検索: 「フィルタ・プロパティ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。デフォルトの表示に戻すには、キーワードを削除します。

    • 「グループに移動」の使用: 「グループに移動」をクリックして、グループを選択します。デフォルトの表示に戻すには、「グループに移動」を再度クリックして、「すべて開く」を選択します。

  6. 「保存」をクリックします。

20.5.3.3 コントロールまたはコンポーネントへの認可スキームの割当て

認可スキームをページ・コンポーネントまたはコントロールに割り当てるには、次のステップを実行します。

  1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
  2. アプリケーションを選択します。
  3. ページを選択します。
    ページ・デザイナが表示されます。
  4. 認可スキームを適用するコンポーネントまたはコントロールを選択します。
  5. プロパティ・エディタで、「セキュリティ」を見つけて、「認可スキーム」属性から選択します。

    ヒント:

    グループまたは属性を検索するには、次のステップを実行します。

    • グループまたは属性の検索: 「フィルタ・プロパティ」フィールドにキーワードを入力します。プロパティ・エディタにグループまたは属性が表示されます。デフォルトの表示に戻すには、キーワードを削除します。

    • 「グループに移動」の使用: 「グループに移動」をクリックして、グループを選択します。デフォルトの表示に戻すには、「グループに移動」を再度クリックして、「すべて開く」を選択します。

  6. 「保存」をクリックします。

20.5.4 認可レポートの表示

認可スキームのサブスクリプションおよび認可スキームの使用率レポートを使用すると、アプリケーション内の認可スキームをより効率的に管理できます。

認可スキーム・レポートを表示するには、次のステップを実行します。

  1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
  2. アプリケーションを選択します。
  3. アプリケーションのホームページで、「共有コンポーネント」をクリックします。

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

  4. 「セキュリティ」で、「認可スキーム」を選択します。
  5. ページ上部の該当するタブをクリックします。
    • サブスクリプション: 認可スキームのサブスクリプション・レポートを使用して、認可スキームのサブスクリプションの詳細を表示します。

    • コンポーネント別: コンポーネント別レポートを使用して、認可スキームに関連するこのアプリケーション内のすべてのコンポーネントを表示します。レンダリングするコンポーネントには、コンポーネント・レベル、ページ・レベルおよびアプリケーション・レベルにある認可スキームを渡す必要があります。

    • 使用率: 認可スキームの使用率レポートを使用して、認可スキームの使用率の詳細を表示します。

      ページの認可スキームの有無を示す詳細レポートを表示するには、「タスク」リストから次のいずれかを選択します。

      • 認可スキームが指定されているレポート・ページ

      • 認可スキームが指定されていないレポート・ページ

    • 履歴: 認可スキームの履歴レポートを使用して、このアプリケーションの認可スキームに最近行われた変更を表示します。