認可スキームを作成することで、アプリケーションのセキュリティを強化します。
認可は、ユーザー権限に基づいてリソースへのアクセスを制御することを示す広義語です。条件は特定のページ・コントロールまたはページ・コンポーネントのレンダリングおよび処理を制御しますが、認可スキームは特定のコントロールまたはコンポーネントへのユーザーのアクセスを制御します。
親トピック: アプリケーション・セキュリティの管理
認可スキームがアプリケーションの認証スキームのセキュリティを強化する仕組みについて学習します。
認可スキームは、アプリケーション全体、各ページ、またはリージョン、アイテム、ボタンなどの特定のコントロールに対して指定できます。たとえば、認可スキームを使用して、ユーザーに表示するタブ、リージョンまたはナビゲーション・バーを選択的に決定できます。認可スキームの結果は、成功または失敗のいずれかです。認可スキームの一般的なタイプには、「EXISTS」、「NOT EXISTS SQL問合せ」および「ブールを戻すPL/SQLファンクション」が含まれます。コンポーネントまたはコントロール・レベルの認可スキームに成功すると、そのコンポーネントまたはコントロールがユーザーに表示されます。失敗すると、そのコンポーネントまたはコントロールはユーザーに表示されません。アプリケーション・レベルまたはページ・レベルの認可スキームに失敗すると、Oracle Application Expressは事前定義済のメッセージを表示します。
認可スキームを定義する場合は、一意の名前を指定します。定義した認可スキームは、アプリケーションのコンポーネントまたはコントロールに割り当てることができます。アプリケーションのコンポーネントまたはコントロールに認可スキームを割り当てるには、該当する属性ページにナビゲートして、「認可スキーム」リストから認可スキームを選択するのみです。
親トピック: 認可を介したセキュリティの提供
認可スキームを作成および編集する方法について学習します。認可スキームは、アプリケーションまたはアプリケーション・コンポーネントまたはコントロールに割り当てる前に作成する必要があります。
親トピック: 認可を介したセキュリティの提供
認可スキームを作成する場合、認可スキーム・タイプを選択します。認可スキーム・タイプにより、認可スキームの適用方法が決まります。開発者は、新しい認可タイプ・プラグインを作成して、このリストを拡張できます。
表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アカウント認証が使用される場合、このチェックにはユーザーに付与されたワークスペース・グループも含まれます。アプリケーションでデータベース認証が使用される場合、このチェックにはユーザーに付与されたデータベース・ロールも含まれます。 |
グループ内にない |
グループ名を入力します。グループがセッションの動的グループとして有効でない場合、認可は成功します。 |
親トピック: 認可スキームの作成および編集
共有コンポーネント・ページで認可スキームを作成します。
認可スキームを作成するには、次のステップを実行します。
ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページで、「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「セキュリティ」で、「認可スキーム」を選択します。
「作成」をクリックします。
次のいずれかの項目を選択して、認可スキームの作成方法を指定します。
最初から
既存の認可スキームのコピーとして
認可スキームの作成 - 詳細で、次のステップを実行します。
名前 - この認可スキームを識別する一意の名前を入力します。
スキーム・タイプ - この認可スキームが適用される方法を選択します。認可スキーム・タイプについてを参照してください。
スキームの違反時に表示されるエラー・メッセージの指定 - 認可スキームが失敗した(つまり、カレント・ユーザーがセキュリティ・チェックに失敗した)場合に表示されるエラー・テキストを入力します。
認可スキームの検証 - 認可スキームはセッションの最初の使用時に評価されます。その後の使用で再評価するかどうか、およびメモリーに保存された結果をいつ取得できるかを制御するには、このオプションを使用します。
詳細は、フィールドレベル・ヘルプを参照してください。
「認可スキームの作成」をクリックします。
「評価ポイント」、「認可スキームの検証」属性を使用して、認可スキームを検証するタイミングを制御します。
認可スキームの評価ポイントを変更するには、次のステップを実行します。
ヒント:
デフォルト値の「セッションごとに1回」が最も効率的です。認可チェックが、セッション・ステートの変化やセッション全体で一貫しない他の要因に依存する場合は、別の値を選択する必要があります。
親トピック: 認可スキームの作成および編集
セッションの認可スキーム・ステートをリセットするAPIをコールします。
認可スキームがセッションごとに1回検証される場合、Oracle Application Expressは各ユーザーのセッション・キャッシュ内に検証結果をキャッシュします。セッションの認可スキーム・ステートは、APEX_AUTHORIZATION.RESET_CACHE
APIをコールしてリセットできます。
関連項目:
『Oracle Application Express APIリファレンス』のAPEX_AUTHORIZATION.RESET_CACHE
プロシージャに関する説明
親トピック: 認可スキームの作成および編集
作成した認可スキームは、アプリケーション全体、ページ、コントロールまたはコンポーネントに割り当てることができます。
認可スキームのサブスクリプションおよび認可スキームの使用率レポートを使用すると、アプリケーション内の認可スキームをより効率的に管理できます。
認可スキーム・レポートを表示するには、次のステップを実行します。
親トピック: 認可を介したセキュリティの提供