分離のタイプ

分離ストレージへのアクセスは、常にその分離ストレージを作成したユーザーに制限されます。 この種の分離を実装するために、共通言語ランタイムは、オペレーティング システムによって認識されるユーザー ID と同じユーザー ID、つまり、ストアを開いたときにコードを実行しているプロセスに関連付けられている ID を使用します。 この ID は認証されたユーザー ID ですが、現在のユーザーの ID は偽装によって動的に変更される場合もあります。

ユーザー別の分離に加えて、分離ストレージに対するアクセスは、アプリケーションのドメインおよびアセンブリに関連付けられた ID、またはアセンブリだけに関連付けられた ID に基づいて制限されます。 ランタイムは、これらの ID を次の方法で取得します。

  • ドメイン ID は、アプリケーションの証拠を表します。Web アプリケーションの場合、ドメイン ID は、完全な URL です。 シェルによってホストされるコードの場合は、ドメイン ID は、アプリケーションのディレクトリ パスが基になります。 たとえば、実行可能ファイルをパス C:\Office\MyApp.exe から実行する場合、ドメイン ID は C:\Office\MyApp.exe です。

  • アセンブリ ID は、アセンブリの証拠です。 アセンブリ ID は、アセンブリの暗号化デジタル署名から取得できます。アセンブリ ID は、厳密な名前、アセンブリのソフトウェア発行元、またはアセンブリの URL ID のいずれかです。 アセンブリが厳密な名前とソフトウェア発行元 ID の両方を持つ場合は、ソフトウェア発行元 ID が使用されます。 インターネットからダウンロードされ、署名されていないアセンブリの場合は、URL ID が使用されます。 アセンブリと厳密な名前の詳細については、「アセンブリを使用したプログラミング」を参照してください。

  • ローミング ストアは、ローミング ユーザー プロファイルを持つユーザーと共に移動します。 ファイルはネットワーク ディレクトリに書き込まれ、ユーザーがログインする任意のコンピューターにダウンロードにされます。 ローミング ユーザー プロファイルの詳細については、「IsolatedStorageScope 列挙体」を参照してください。

ユーザー ID、ドメイン ID、およびアセンブリ ID の概念を組み合わせることにより、分離ストレージは、次の 2 とおりの方法でデータを分離できます。それぞれの分離方法には、そのアクセス権限について使用法の例があります。

どちらかの分離にも、ローミング ユーザー プロファイルを組み合わせることができます。 詳細については、「分離ストレージとローミング」を参照してください。

ストアを分離する方法をさまざまなスコープで示す図を次に示します。

分離ストレージのタイプ

ユーザーとアセンブリ別の分離

ローミング ストアの場合を除き、分離ストレージは、暗黙に、常にコンピューター別に分離されます。これは、分離ストレージが、所定のコンピューターに固有のストレージ機能を使用するためです。

参照

参照

IsolatedStorageScope 列挙体

概念

分離ストレージ

ユーザーおよびアセンブリ別の分離

ユーザー、ドメイン、およびアセンブリ別の分離

分離ストレージとローミング

分離ストレージのクォータ

分離ストレージの保護

許可されるアクセス権限とセキュリティのリスク