アプリケーションサンドボックスに割り当てられていないコンテンツは、ランタイムのセキュリティ基準を満たす場合のみ AIR アプリケーションに追加のスクリプト機能を提供できます。 ここでは、非アプリケーションコンテンツでの AIR セキュリティコントラクトについて説明します。
AIR アプリケーションは、Flash Player のブラウザープラグインが信頼されないコンテンツのスクリプトによるアクセスを制限するよりも厳格に、非アプリケーションコンテンツのスクリプトによるアクセスを制限します。 例えば、ブラウザー内の Flash Player では、SWF ファイルで
System.allowDomain()
メソッドを呼び出して、指定したドメインから読み込まれた SWF コンテンツへのスクリプトによるアクセスを許可することができます。このメソッドの呼び出しは、ユーザーのファイルシステム内の非アプリケーションファイルへの不適切なアクセスを許可することになるので、アプリケーションセキュリティサンドボックス内のコンテンツについては許可されていません。
アプリケーションコンテンツと非アプリケーションコンテンツとの間をスクリプト化する AIR アプリケーションではさらに複雑なセキュリティの調整が行われます。 アプリケーションサンドボックス内に含まれていないファイルは、サンドボックスブリッジを使用したアプリケーションサンドボックス内のファイルのプロパティとメソッドへのアクセスのみが許可されます。サンドボックスブリッジはアプリケーションコンテンツと非アプリケーションコンテンツ間のゲートウェイとして機能し、2 つのファイル間の明示的な操作を可能にします。サンドボックスブリッジを正しく使用すると、セキュリティの追加のレイヤーが提供され、非アプリケーションコンテンツが、アプリケーションコンテンツの一部となるオブジェクト参照にアクセスするのを制限します。
サンドボックスブリッジのメリットについて、例を使って説明します。AIR ミュージックストアアプリケーションは、独自の SWF ファイルを作成する必要のある広告主に API を提供し、ストアアプリケーションはこのファイルを使用して通信できます。ストアは、ストアが提供するアーティストと CD を探すためのメソッドを広告主に提供する必要がありますが、セキュリティ上の理由でサードパーティの SWF ファイルからメソッドとプロパティを分離する必要もあります。
サンドボックスブリッジはこの機能を提供できます。デフォルトでは、ランタイムで外部から AIR アプリケーションに読み込まれたコンテンツには、メインアプリケーションのどのメソッドまたはプロパティへのアクセス権もありません。カスタムのサンドボックスブリッジ実装を使用すると、開発者はこれらのメソッドやプロパティを公開せずにリモートコンテンツにサービスを提供できます。サンドボックスブリッジは信頼されるコンテンツと信頼されないコンテンツ間の制限された通路となります。
サンドボックスブリッジの使用に関する完全な詳細については、次を参照してください。