プライマリ・コンテンツに移動

Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド リリース5.1 E83810-03 |
| 目次 | 索引

前 | 次 |

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

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

トピック:

- 認可スキームの動作方法
- 認可スキームの作成および編集
- アプリケーション、ページまたはコンポーネントへの認可スキームの割当て
- 認可レポートの表示

## 19.5.1 認可スキームの動作方法

認可スキームは、アプリケーションの認証スキームのセキュリティを強化します。認可スキームは、アプリケーション全体、各ページ、またはリージョン、アイテム、ボタンなどの特定のコントロールに対して指定できます。たとえば、認可スキームを使用して、ユーザーに表示するタブ、リージョンまたはナビゲーション・バーを選択的に決定できます。

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

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

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

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

トピック:

- 認可スキーム・タイプについて
- 認可スキームの作成
- 既存の認可スキーム属性の編集
- 評価ポイント属性の変更
- 認可スキーム・ステートのリセット

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

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

表19-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アカウント認証が使用される場合、このチェックにはユーザーに付与されたワークスペース・グループも含まれます。アプリケーションでデータベース認証が使用される場合、このチェックにはユーザーに付与されたデータベース・ロールも含まれます。
グループ内にない | グループ名を入力します。グループがセッションの動的グループとして有効でない場合、認可は成功します。

### 19.5.2.2 認可スキームの作成

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

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

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

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

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

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

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

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

   - 最初から

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

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

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

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

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

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

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

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

関連項目:

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

- 「評価ポイント属性の変更」

- 「認可スキーム・ステートのリセットについて」

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

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

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

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

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

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

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

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

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

### 19.5.2.4 評価ポイント属性の変更

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

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

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

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

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

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

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

5. 認可スキームを選択します。
6. 「評価ポイント」までスクロールして、「認可スキームの検証」属性を編集します。オプションは次のとおりです。

   - セッションごとに1回 - 1回のみ評価し、その後は常にメモリーに保存された結果を使用します。

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

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

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

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

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

ヒント:

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

### 19.5.2.5 認可スキーム・ステートのリセットについて

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

関連項目:

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

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

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

トピック:

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

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

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

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

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

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

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

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

1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
2. アプリケーションを選択します。
3. ページを選択します。
4. 編集ページにアクセスするには、次の操作を実行します。

   - ツリー・ビュー: 「ページ・レンダリング」で、ツリーの上部のページ・タイトルをダブルクリックします。

   - コンポーネント・ビュー: 「ページ」で、ページ名をクリックします。

5. 「セキュリティ」までスクロールして、「認可スキーム」リストから認可スキームを選択します。

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

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

1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
2. アプリケーションを選択します。
3. ページを選択します。
4. 認可スキームを適用するコンポーネントまたはコントロールの名前をクリックします。
5. 「セキュリティ」までスクロールして、「認可スキーム」リストから認可スキームを選択します。

## 19.5.4 認可レポートの表示

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

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

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

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

4. 「セキュリティ」で、「認可スキーム」を選択します。
5. ページ上部の該当するタブをクリックします。

   - サブスクリプション: 認可スキームのサブスクリプション・レポートを使用して、認可スキームのサブスクリプションの詳細を表示します。

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

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

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

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

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

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