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