セキュリティサンドボックス



クライアントコンピュータは、外部 Web サイトやローカルファイルシステムなどの多数のソースから個々の SWF ファイルを取得できます。 Flash Player では、SWF ファイル、および共有オブジェクト、ビットマップ、サウンド、ビデオ、データファイルなどの他のリソースが Flash Player にロードされると、元の場所に基づいてセキュリティサンドボックスに個別に割り当てられます。 次の節では、Flash Player で適用される、任意のサンドボックス内の SWF ファイルがアクセスできるものを管理する規則について説明します。

Flash Player のセキュリティについて詳しくは、Flash Player デベロッパーセンターの「セキュリティ」トピック(www.adobe.com/go/devnet_security_jp)を参照してください。

リモートサンドボックス

Flash Player では、インターネットのアセット (SWF ファイルを含む) が Web サイトの元のドメインに対応する個別のサンドボックスに分類されます。 デフォルトでは、それらのファイルは、それら自体のサーバーにあるリソースへのアクセスを許可されています。 リモート SWF ファイルは、URL ポリシーファイル、Security.allowDomain() メソッドなどの Web サイトおよび作成者の明示的な許可によって、他のドメインのその他のデータにアクセスできます。詳しくは、Web サイトのコントロール(ポリシーファイル)作成者 (開発者) コントロールを参照してください。

リモート SWF ファイルは、ローカルファイルまたはローカルリソースをロードできません。

Flash Player のセキュリティについて詳しくは、Flash Player デベロッパーセンターの「セキュリティ」トピック(www.adobe.com/go/devnet_security_jp)を参照してください。

ローカルサンドボックス

ローカルファイルとは、file: プロトコルまたは UNC(Universal Naming Convention)パスを使用して参照されるすべてのファイルを表しています。ローカル SWF ファイルは、次の 4 つのローカルサンドボックスのいずれかに配置されます。

  • local-with-filesystem サンドボックス - セキュリティを目的として、Flash Player はデフォルトですべてのローカル SWF ファイルおよびアセットを、local-with-file-system サンドボックスに配置します。このサンドボックスから、SWF ファイルは (例えば、URLLoader クラスを使用して) ローカルファイルを読み取ることができますが、ネットワークとの通信はできません。 その結果、ローカルデータがネットワークに漏れ出したり、不正に共有されたりすることがなくなります。

  • local-with-networking サンドボックス - SWF ファイルをコンパイルする際に、ローカルファイルとして実行される場合、ネットワークアクセスの許可を指定できます(ローカル SWF ファイルのサンドボックスタイプの設定を参照)。これらのファイルは local-with-networking サンドボックスに配置されます。SWF ファイルが local-with-networking サンドボックスに割り当てられると、ローカルファイルへのアクセス権が失われます。 代わりに、SWF ファイルはネットワークのデータにアクセスできるようになります。 しかし、local-with-networking SWF ファイルは、そのための許可を得ない限り、URL ポリシーファイルを使用するか、Security.allowDomain() メソッドの呼び出しを使用してネットワークからのデータを読み取ることはできません。そのような許可を付与するには、<allow-access-from domain="*"/> または Security.allowDomain("*") を使用して、URL ポリシーファイルですべてのドメインに許可を付与する必要があります。詳しくは、Web サイトのコントロール(ポリシーファイル)および作成者 (開発者) コントロールを参照してください。

  • local-trusted サンドボックス — (ユーザーまたはインストーラプログラムによって) 信頼できるファイルとして登録されたローカル SWF ファイルは、local-trusted サンドボックスに配置されます。システム管理者とユーザは、セキュリティ上の配慮に基づき、local-trusted サンドボックス間でローカル SWF ファイルの再割り当て(移動)も実行できます(管理ユーザのコントロールおよびユーザのコントロールを参照)。local-trusted サンドボックスに割り当てられた SWF ファイルは、他の SWF ファイルと自由に通信したり、どこからでも (リモートでもローカルでも) データをロードしたりすることができます。

  • AIR アプリケーションサンドボックス — このサンドボックスには、実行中の AIR アプリケショーンと一緒にインストールされたコンテンツが含まれます。デフォルトでは、AIR アプリケーションサンドボックスのファイルは、任意のドメインのファイルをクロススクリプトできます。ただし、AIR アプリケーションサンドボックス外部にあるファイルからは、AIR ファイルをクロススクリプトできません。デフォルトでは、AIR アプリケーションサンドボックスのファイルは、任意のドメインからコンテンツおよびデータをロードできます。

local-with-networking サンドボックスと local-with-filesystem サンドボックスの間の通信は、local-with-filesystem サンドボックスとリモートサンドボックスの間の通信と同様に、厳しく禁じられています。 そのような通信を可能にする許可を、Flash Player で実行中のアプリケーションまたはユーザーや管理者が付与することはできません。

ローカル HTML ファイルとローカル SWF ファイル間の一方向のみのスクリプト — 例えば、ExternalInterface クラスを使用するには、HTML と SWF の両ファイルを local-trusted サンドボックスに配置する必要があります。その理由は、ブラウザのローカルセキュリティモデルが Flash Player のローカルセキュリティモデルと異なるからです。

local-with-networking サンドボックス内の SWF ファイルは、local-with-filesystem サンドボックス内の SWF ファイルをロードできません。 local-with-filesystem サンドボックス内の SWF ファイルは、local-with-networking サンドボックス内の SWF ファイルをロードできません。

ローカル SWF ファイルのサンドボックスタイプの設定

local-with-filesystem サンドボックスまたは local-with-networking サンドボックス用の SWF ファイルを構成できます。そのためには、オーサリングツールでドキュメントのパブリッシュ設定を設定します。

コンピュータのエンドユーザーまたは管理者は、ローカル SWF ファイルが信頼できることを指定し、ローカルおよびネットワークの他のドメインからデータをロードできるようにすることができます。 これは、Global Flash Player Trust ディレクトリおよび User Flash Player Trust ディレクトリで指定します。 詳しくは、管理ユーザのコントロールおよびユーザのコントロールを参照してください。

ローカルサンドボックスについて詳しくは、ローカルサンドボックスを参照してください。

Security.sandboxType プロパティ

SWF ファイルの作成者は、読み取り専用の静的プロパティ Security.sandboxType を使用して、Flash Player によって SWF ファイルが割り当てられたサンドボックスのタイプを特定できます。Security クラスは、Security.sandboxType プロパティに指定できる値を表す次のような定数を含んでいます。

  • Security.REMOTE - SWF ファイルはインターネット URL からダウンロードされ、ドメインベースのサンドボックスルールに従って機能します。

  • Security.LOCAL_WITH_FILE - SWF ファイルはローカルファイルですが、ユーザの信頼性はなく、ネットワークを指定してパブリッシュされているわけではありません。この SWF ファイルはローカルデータソースからの読み取りはできますが、インターネットとの通信はできません。

  • Security.LOCAL_WITH_NETWORK - SWF ファイルはローカルファイルであり、ユーザの信頼性はありませんが、ネットワークを指定してパブリッシュされています。この SWF ファイルはインターネットとのやり取りはできますが、ローカルデータソースからの読み取りはできません。

  • Security.LOCAL_TRUSTED - SWF ファイルはローカルファイルであり、ユーザの信頼性があり、設定マネージャまたは Flash Player トラスト構成ファイルを使用します。ローカルのデータソースから読み取ることも、インターネットでやり取りすることもできます。

  • Security.APPLICATION - このファイルは AIR アプリケーションで実行され、そのアプリケーションのパッケージ(AIR ファイル)と共にインストールされます。デフォルトでは、AIR アプリケーションサンドボックスのファイルは、任意のドメインのファイルをクロススクリプトできます。ただし、AIR アプリケーションサンドボックス外部にあるファイルからは、AIR ファイルをクロススクリプトできません。デフォルトでは、AIR アプリケーションサンドボックスのファイルは、任意のドメインからコンテンツおよびデータをロードできます。