認証は、ユーザーがアプリケーションにアクセスする前に、そのユーザーの本人確認を行うプロセスです。認証では、ユーザーにユーザー名とパスワードの指定を要求するか、またはデジタル証明書や保護キーを使用する可能性があります。
認証スキームを作成する場合、多くの事前構成済の認証スキームから選択するか、既存のアプリケーションから認証スキームをコピーするか、または独自のカスタム認証スキームを作成できます。
この項に含まれる内容は次のとおりです。
アプリケーションがユーザーとどのように対話するかを決定します。すべてのユーザーが同じ権限を持つ場合、そのユーザーはパブリック・ユーザーとみなされます。ただし、アプリケーションが各ユーザーを個別に追跡する必要がある場合は、認証方式を指定する必要があります。
認証は、アプリケーションにアクセスする各ユーザーのアイデンティティの証明を行います。多くの認証プロセスで、ユーザーはなんらかの資格証明(ユーザー名とパスワードなど)を提供する必要があります。これらの資格証明は評価され、合格または不合格のいずれかとなります。資格証明が合格した場合、ユーザーはアプリケーションにアクセスできます。不合格の場合は、アクセスが拒否されます。
ユーザーの本人確認が行われると、Application Expressエンジンが組込み置換文字列APP_USER
の値を設定して、各ユーザーを追跡します。ユーザーがページ間をナビゲートすると、Application ExpressエンジンがAPP_USER
の値を設定して、本人確認を行います。Application Expressエンジンは、各ユーザーのセッション・ステートを追跡するための重要なコンポーネントとしてAPP_USER
を使用します。
プログラミングの観点では、次の構文を使用してAPP_USER
にアクセスできます。
PL/SQLを使用する場合
V('APP_USER')
PL/SQLまたはSQLのいずれかのバインド変数として使用する場合
:APP_USER
APP_USER
を使用すると、独自のセキュリティ・チェックおよび条件付き処理を実行できます。たとえば、次の表を作成したと想定します。
CREATE TABLE my_security_table ( user_id VARCHAR2(30), privilege VARCHAR2(30));
表を作成したら、この表にユーザー権限情報を移入して、ページ、タブ、ナビゲーション・バー、ボタン、リージョン、または、その他のコントロールやコンポーネントの表示の制御に使用できます。
アプリケーションを作成する場合、認証を含めるかどうかを決定する必要があります。次の選択肢があります。
認証不要の選択。Oracle Application Expressはすべてのユーザーの資格証明をチェックしません。アプリケーションのすべてのページには、すべてのユーザーからアクセスできます。
組込み認証スキームの選択。使用可能な事前構成済の認証スキームに基づいて、認証方式を作成します。選択するスキームによっては、Oracle 10giAS、Oracle Internet Directoryまたは他の外部サービスの対応するコンポーネントを構成する必要もあります。詳細は、「事前構成済の認証スキームの使用」および「アプリケーションに関連付けられた認証スキームの変更」を参照してください。
カスタム認証スキームの作成。カスタム認証方式を作成すると、認証インタフェースを完全に制御できます。この方法を実装するには、Application Expressエンジンが各ページ・リクエストを処理する前に実行するPL/SQLファンクションを提供する必要があります。このファンクションのブール戻り値によって、Application Expressエンジンが通常どおりにページを処理するか、または失敗ページを表示するかが決まります。「認可スキームの作成」を参照してください。
認証スキームを作成するには、次のステップを実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページで、「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「セキュリティ」で、「認証スキーム」を選択します。
認証スキーム・ページが表示されます。
新しい認証スキームを作成するには、「作成」をクリックします。
次のいずれかの項目を選択して、スキームの作成方法を指定します。
事前構成済のスキームに基づいて。「既存の認証スキームの管理」を参照してください。
既存の認証スキームのコピーとして
最初から
画面に表示されるステップに従います。
事前構成済の認証スキームを選択すると、Oracle Application Expressによって、標準動作の認証およびセッション管理を行う認証スキームがアプリケーションに作成されます。
この項に含まれる内容は次のとおりです。
公開資格証明を使用すると、ユーザー名を取得する組込みログイン・ページを使用して、自分のアプリケーションがすべてのユーザーからアクセス可能になります。この認証方式は、アプリケーションの開発時に有用です。
公開資格証明を設定するには、次の手順を実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページで、「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「セキュリティ」で、「認証スキーム」を選択します。
認証スキーム・ページで、「作成」をクリックします。
「ギャラリからの事前構成済スキームに基づく」を選択します。
「ギャラリ」で、「ログイン・ページの表示およびOpen Doorアカウント資格証明の使用」を選択します。
ログイン・ページを指定し、「次へ」をクリックします。
名前を入力して、「スキームの作成」をクリックします。
Oracle Application Expressのアカウント資格証明は、Oracle Application Expressのユーザー・リポジトリで作成および管理される内部のユーザー・アカウント(Cookieユーザー・アカウントともいう)です。この方式を使用すると、これらのアカウントに対してアプリケーションが認証されます。
関連項目: 『Oracle Application Express管理ガイド』の「Application Expressユーザーの管理」 |
Application Expressのアカウント資格証明は次のような場合に有効です。
ユーザー・アカウント・リポジトリを制御する場合
ユーザー名およびパスワードに基づいたセキュリティで十分な場合
シングル・サインオン・フレームワークへの統合が不要な場合
この方法は特に、ユーザー・グループを新しいアプリケーションで迅速に起動および実行する必要がある場合に適しています。
Application Expressアカウント資格証明を設定するには、次の手順を実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページで、「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「セキュリティ」で、「認証スキーム」を選択します。
認証スキーム・ページで、「作成」をクリックします。
「ギャラリからの事前構成済スキームに基づく」を選択します。
「ギャラリ」で、「ログイン・ページの表示およびApplication Expressアカウント資格証明の使用」を選択します。
ログイン・ページを指定し、「次へ」をクリックします。
名前を入力して、「スキームの作成」をクリックします。
データベース・アカウント資格証明は、データベース・スキーマ・アカウントを使用します。この認証スキームでは、データベース・ユーザー(スキーマ)はローカル・データベースに存在している必要があります。この方法を使用する場合、ユーザーの認証にデータベース・アカウントのユーザー名およびパスワードが使用されます。
適用可能なアプリケーションの指定したユーザーごとに1つのデータベース・アカウントを持ち、ニーズに対応したデータベース・ツールによるアカウントのメンテナンスを行う場合に、データベース・アカウント資格証明は有効です。
データベース・アカウント資格証明を設定するには、次の手順を実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページで、「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「セキュリティ」で、「認証スキーム」を選択します。
認証スキーム・ページで、「作成」をクリックします。
「ギャラリからの事前構成済スキームに基づく」を選択します。
「ギャラリ」で、「ログイン・ページの表示およびDatabaseアカウント資格証明の使用」を選択します。
ログイン・ページを指定し、「次へ」をクリックします。
名前を入力して、「スキームの作成」をクリックします。
ログイン・ページを使用する認証スキームは、Lightweight Directory Access Protocol(LDAP)を使用して、ログイン・ページで送信されるユーザー名およびパスワードを検証するように構成できます。
アプリケーション・ビルダーには、このオプションの構成方法を示すウィザードと編集ページが含まれています。これらのウィザードでは、この構成のために、ご使用のアプリケーションにアクセス可能なLDAPディレクトリがすでに存在していることと、LDAPディレクトリが資格証明の検証のSIMPLE_BIND_S
コールに応答できることを想定しています。LDAP資格証明の認証スキームを作成する場合、ウィザードによってLDAPホスト名、LDAPポート、DN文字列が要求され保存されます。オプションの事前処理ファンクションを指定して、APIに渡されるユーザー名の書式設定を調整できます。
LDAP資格証明の検証を設定するには、次の手順を実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページで、「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「セキュリティ」で、「認証スキーム」を選択します。
認証スキーム・ページで、「作成」をクリックします。
「ギャラリからの事前構成済スキームに基づく」を選択します。
「ギャラリ」で、「ログイン・ページの表示およびLDAPディレクトリ資格証明の使用」を選択します。
ログイン・ページを指定し、「次へ」をクリックします。
次の情報を指定し、「次へ」をクリックします。
LDAPホスト
LDAPポート
LDAP識別名(DN)文字列
(オプション) LDAPユーザー名編集ファンクション
特定のアイテムのヘルプを表示するには、アイテム・ラベルをクリックします。ヘルプが使用できる場合、アイテム・ラベルの上にカーソルを置くとアイテム・ラベルは赤に変わり、カーソルは矢印と疑問符マークに変わります。「フィールドレベル・ヘルプについて」を参照してください。
名前を入力して、「スキームの作成」をクリックします。
データベース・アクセス記述子(DAD)データベース認証では、Basic認証スキームを使用してユーザーを認証するのに、Oracle Databaseのシステム固有の認証およびユーザー・メカニズムを使用します。この認証スキームでは、DAD構成に格納された値か、アカウント情報がDAD構成に格納されていない場合はBasic認証要求を使用して取得されるユーザー名のいずれかとして、データベース・アクセス記述子(DAD)からユーザー名が取得されます。
DAD資格証明の検証を使用するには、次の条件を満たす必要があります。
各アプリケーション・ユーザーが、Oracle Databaseにユーザー・アカウントを持っている。
Basic認証用のPL/SQL DADを構成している(アカウント情報なし)。
これによって、アプリケーション・ユーザーは、ブラウザ・セッションごとに1回ユーザー名/パスワードを要求されます。その後、ユーザー・アイデンティティ・トークンがAPP_USER
アイテム内で使用可能になります。
DADデータベース認証は、管理可能な数のユーザーに対して最小限の設定のみが必要な認証方式を実装する場合に役立ちます。これらのユーザーがデータベース内に自己管理されたアカウントを持っており、この認証方式を短期間(たとえば、開発のデモンストレーションまたはプロトタイプ段階の間)のみ使用することが理想です。
この方法の主なデメリットは、特にユーザーが自分のパスワードを管理していないか、またはユーザーのデータベース・アカウントがアプリケーションへの認証を容易化するためのみに存在している場合に、アカウントのメンテナンスが負担となることです。
DAD資格証明の検証を設定するには、次の手順を実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページで、「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「セキュリティ」で、「認証スキーム」を選択します。
認証スキーム・ページで、「作成」をクリックします。
「ギャラリからの事前構成済スキームに基づく」を選択します。
「ギャラリ」で、「認証なし(DADを使用)」を選択します。
名前を入力して、「スキームの作成」をクリックします。
Oracle Application Server Single Sign-On資格証明は、Oracle AS Single Sign-On(SSO)Serverに認証を委譲します。この認証スキームを使用するには、サイトは、SSO Serverにパートナ・アプリケーションとして登録されている必要があります。
Oracle Application Expressアプリケーションは、Oracle Application ServerのSingle Sign-On (SSO)インフラストラクチャでパートナ・アプリケーションとして実行できます。実行には、パートナ・アプリケーションとして、アプリケーション(またはApplication Expressエンジン)を登録する必要があります。アプリケーションまたはApplication Expressエンジンをパートナ・アプリケーションとして登録するには、Oracle Application Serverのパートナ・アプリケーションの登録手順に従い、Oracle 9iAS SSO Software Developer Kit(SDK)をインストールします。
この方法を選択する場合、ご使用のアプリケーションでは統合されたログイン・ページが使用されません。かわりに、ユーザーが新しいブラウザ・セッションでアプリケーションにアクセスすると、Application ExpressエンジンによってSingle Sign-Onログイン・ページにリダイレクトされます。ユーザーがSSOによって認証されると、SSOコンポーネントはアプリケーションにリダイレクトし、Application Expressエンジンにユーザー・アイデンティティおよびその他の情報を渡します。その後、ユーザーはログオフするか、ブラウザ・セッションを終了するか、またはその他のセッション終了イベントが発生するまでアプリケーションを使用できます。
Oracle Application Server Single Sign-Onを設定するには、次の手順を実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページで、「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「セキュリティ」で、「認証スキーム」を選択します。
認証スキーム・ページで、「作成」をクリックします。
「ギャラリからの事前構成済スキームに基づく」を選択します。
「ギャラリ」から、次のいずれかの項目を選択します。
Oracle Application Server Single Sign-On(パートナ・アプリケーションとしてのApplication Expressエンジン)は、Oracle AS Single Sign-On (SSO) Serverに認証を委譲します。この認証スキームを使用するには、サイトは、SSO Serverにパートナ・アプリケーションとして登録されている必要があります。
Oracle Application Server Single Sign-On(パートナ・アプリケーションとしてのMy Application)は、SSO Serverに認証を委譲します。SSOには、アプリケーションをパートナ・アプリケーションとして登録する必要があります。
名前を入力して、「スキームの作成」をクリックします。
認証スキームを最初から作成すると、認証インタフェースを完全に制御できます。これは、次のいずれかに該当する場合に最適な方法です。
データベース認証または他の方式が適切でない。
独自のログイン・フォームおよび関連方式を開発する必要がある。
Oracle 10gAS Single Sign-Onなどの外部サービスに対して、ユーザー認証のすべての設定を委譲する必要がある。
セッション管理のセキュリティ面を制御する必要がある。
ユーザー・レベルまたはセッション・レベルでアクティビティを記録または監査する必要がある。
セッションのアクティビティ制限または存続期限を施行する必要がある。
Oracle Application Expressページ・プロセスの前に一方向の条件付きリダイレクト・ロジックをプログラムする必要がある。
一般的なセッション管理フレームワークを使用して、アプリケーションをOracle Application Express以外のアプリケーションと統合する必要がある。
アプリケーションが、シームレス(たとえば、複数のアプリケーションID)に動作する複数のアプリケーションで構成されている。
関連項目: Oracle Application Express APIリファレンスの「APEX_CUSTOM_AUTH」 |
Oracle Application Expressは、カスタム認証を実行する際に、次の2つの不適切な状況が発生しないようにします。
あるユーザーが、他のユーザーに属するセッション・ステートに故意にアクセスしようとすること。ただし、ユーザーは任意のアプリケーション・セッションIDをURLに入力できます。
失効したセッション・ステート(多くの場合、同じユーザーに属する以前のセッション・ステート)が不注意にアクセスされること。これは一般的に、アプリケーション・ページへのブックマークを使用したために発生します。
Oracle Application Expressは、カスタム認証ファンクションによって設定されたユーザーIDトークンが、アプリケーション・セッションが最初に作成された際に記録されたユーザーIDと一致するかどうかを確認します。ユーザーがまだ認証されておらず、ユーザーIDが認識されていない場合、アクセスをしているセッション・ステートは、他のユーザーに属していません。これらの確認によって、リクエスト内のセッションIDが使用可能かどうかが判断されます。セッションIDが使用不可能な場合、Application Expressエンジンは適切なセッションIDを使用して、同じページにリダイレクトします。
Oracle Application Expressでアプリケーションを作成すると、ログイン・ページが作成されます。ページの別名は、LOGIN
です。このページは、認証スキームで無効なセッション・ページとして使用できます。このページは、Oracle Application ExpressのログインAPIをコールするプロセスを使用して、資格証明の検証およびセッションの登録を実行するように構成されています。
事前に構築されたモデル・ページを使用して、すべてのユーザー・インタフェースを調整し、要件に対してロジックを加工して、独自のログイン・ページを構築することもできます。
アプリケーションのログイン・ページを作成するには、次のステップを実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「ページの作成」をクリックします。
「ログイン・ページ」を選択します。
ログイン・ページ属性を指定して、「作成」をクリックします。
認証スキームを作成すると、使用可能な認証スキームが認証スキーム・リポジトリに表示されます。
認証スキーム・リポジトリにナビゲートするには、次のステップを実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページで、「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「セキュリティ」で、「認証スキーム」を選択します。
認証スキーム・ページが表示されます。「ビュー」リストから選択して、ページの外観を変更できます。使用可能なオプションは次のとおりです。
アイコン(デフォルト): 各認証スキームを大きいアイコンとして表示します。認証スキームを編集するには、該当するアイコンをクリックします。
詳細: 各アプリケーション・アイテムをレポートで1行に表示します。
「詳細」ビューでは、次の操作を実行できます。
スキーム名を選択して、認証スキームを編集する。
「表示」アイコンをクリックして、各ページで実行されるステップのリストを表示する。
「カレントにする」リンクをクリックして、認証スキームをアプリケーションに適用する。
アプリケーションのカレント認証スキームを表示するには、次のステップを実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「共有コンポーネント」をクリックします。
「セキュリティ」で、「セキュリティ属性の編集」をクリックします。
「認証」セクションに移動します。カレント認証スキームが「認証スキーム」の横に表示されます。
認証スキーム・ページにリンクして、スキーム名を選択するには、次のステップを実行します。
アプリケーションの認証スキームを変更するには、次のステップを実行します。
「認証スキーム」にナビゲートします。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページで、「共有コンポーネント」をクリックします。
共有コンポーネント・ページが表示されます。
「セキュリティ」で、「認証スキーム」を選択します。
ページの上部の「カレントの変更」タブをクリックします。
新しい認証スキームを選択し、「次へ」をクリックします。
「カレント化」をクリックします。
認証スキーム・レポートには、現行のワークスペースにおけるすべてのアプリケーションについて、認証スキームの使用状況がリストされます。
認証スキーム・レポートを表示するには、次のステップを実行します。
「ワークスペース」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
アプリケーションのホームページが表示されます。
「タスク」リストで「アプリケーション・レポートの表示」をクリックします。
「アプリケーション間レポート」をクリックします。
「認証スキーム」を選択します。
アプリケーションIDをクリックして、該当するアプリケーションのホームページにリンクします。