セキュリティ

Oracle Application Expressには、アプリケーション開発と実行時セキュリティを強化する多数のセキュリティ機能があります。管理者は、Application Expressインスタンスと関連アプリケーションの両方をSecure Sockets Layer (SSL)を利用するHTTPSプロトコルを必要とするよう構成できます。また、パスワードの複雑性ルールを定義し、ポリシーを再利用することもできます。

アプリケーション開発者は、URL内にチェックサムを組み込むセッション・ステート保護によって不正な変更および認可されないアクセスを回避できます。また、必要なデータのみをセッション・ステートに保存し、情報に機密性がある場合(例: SSN)は常に、値を暗号化してアプリケーションの外から読めないようにできます。

認証は、ユーザーにアプリケーションへのアクセスを許可するかどうかを決定するのに使用されます。アプリケーションが認証が不要なパブリックでない場合は、エンド・ユーザーはユーザー名とパスワードを指定してアクセスする必要があります。Oracle Application Expressでは、次のような多数の組込み認証スキームが提供されます:

  • Oracle Application Express管理対象ユーザー
  • シングル・サインオン
  • データベース・アカウント資格証明
  • カスタム・スキーム

カスタム・スキームは、Microsoft Active DirectoryやOracle Applicationsなどの大部分の認証サービスとのインタフェースにも使用できます。

Application Express内の認可スキームは、ユーザーの権限に基づきコンポーネントのレンダリングと処理の制御に使用されます。認可をアプリケーション全体、または選択してページ、またはタブ、リージョン、ボタン、アイテム、検証、プロセスなどのページ・コンポーネントに適用します。認可スキームは成功または失敗します。関連する認可スキームが成功した場合のみ、ユーザーはコンポーネントを表示または使用できるようになります。

Application Expressアカウント

 トップ

ワークスペース管理者は、新しいユーザー・アカウントの作成、既存のユーザー・アカウントの管理、およびユーザー・パスワードの変更ができます。ユーザー・アカウントは、ワークスペース管理者、ワークスペース開発者またはエンド・ユーザーです。開発権限は、Oracle Application Expressユーザー・アカウントを使用して定義されますが、Oracle Application Expressアプリケーションは、外部認証方式を使用して実行できます。Oracle Application Expressユーザー・アカウントはロックでき、パスワードの有効期限やパスワードの複雑性、および他のルールをサポートします。

セッション・タイムアウト

 トップ

インスタンス管理者は、Application Expressの開発者に対して最大セッションの長さおよび最大アイドル時間を定義できます。同様に、開発者は、エンド・ユーザーによるアクセスを抑制するよう、各アプリケーションに最大セッションの長さおよびアイドル時間を定義できます。

ランタイムのみインストール

 トップ

テストおよび本番インスタンスでは、Oracle Application Expressはランタイム・バージョンのみをインストールする機能をサポートします。これにより、インストールされるフットプリントおよび権限が最小限で済みます。また、ランタイム・インスタンスで開発者がアプリケーション・ソースを誤って更新できないのでアプリケーションの一貫性が向上します。

セキュアなコーディング

 トップ
クロス・サイト・スクリプティング

クロス・サイト・スクリプティング(XSSとも呼ばれる)は、動的に生成されたWebページを利用するセキュリティ侵害です。XSSアタックで、Webアプリケーションに、ユーザーのブラウザで読み取られたときにアクティブになるスクリプトが送信されます。アクティブ化すると、このスクリプトはデータ(セッション資格証明でも)を盗み、攻撃者に情報を戻します。悪質なコードがOracle Application Expressアプリケーションに入ると、通常のページ・レンダリング中にアプリケーション内のHTMLリージョンおよび他の場所にレンダリングされる場合があります。潜在的な脆弱性と、そのリスクを最小限にするためのセキュアなコーディングの詳細は、オンライン・ヘルプを参照してください。

SQLインジェクション

SQLインジェクションは、アプリケーションからの入力をSQL文に挿入することで、事実上SQL文を改変します。SQLインジェクションからSQL文を確実に保護する最も効率的な方法は、バインド変数を使用することです。Oracle Application Expressでは、すべてのSQLおよびPL/SQL文でバインド変数の使用がサポートされています。セキュアなアプリケーションを作成するには、すべての動的SQLで、エンド・ユーザーの入力が絶対にSQL文に挿入されないようにする必要があります。

セッション・ステートの保護

セッション・ステート保護は、ハッカーによってアプリケーション内のURLが不正に変更されるのを防ぐ組込み機能です。URLの不正な変更は、プログラム・ロジック、セッション・ステート・コンテンツおよび情報のプライバシに悪影響を与える可能性があります。セッション・ステート保護の有効化は、2ステップのプロセスです。最初に機能を有効にします。次に、ページとアイテム・セキュリティ属性を設定します。