サンドボックス ソリューション
サンドボックス ソリューションを使用すれば、ファーム ソリューションとは異なり、サイト コレクション管理者が、高位の管理者の関与を必要とせずに Microsoft SharePoint Foundation にカスタム ソリューションをインストールできます。
最終更新日: 2011年4月19日
適用対象: SharePoint Foundation 2010
サンドボックス ソリューション システムの重要な側面を次に示します。
ファーム ソリューション同様に、サンドボックス ソリューションは、インストールの際、ソリューション パッケージ (.wsp) ファイルとしてパッケージ化されます。
各サイト コレクションにソリューション ギャラリーがあります。このソリューション ギャラリーを使用して、すべてのサンドボックス ソリューションを格納します。
サンドボックス ソリューションは、SharePoint Foundation サーバー オブジェクト モデルのサブセットおよび Microsoft .NET Framework 3.5 アセンブリのサブセットにアクセスできる環境で実行されます。また、サンドボックス ソリューションのコードは、大幅に制限されたコード アクセス セキュリティ (CAS) ポリシーに従って実行されます。
サーバー ファーム管理者は、サーバーを悪意のあるコードまたは非効率的なコードから保護するためにリソース使用量の制限を設定できます。サーバー ファーム管理者向けに、これらのギャラリーにアップロードされたソリューションの監視を支援する機能が用意されています。パフォーマンスを監視するには、CPU 実行時間、メモリ消費量、データベース クエリ時間など、複数の種類の測定値を使用します。
ファーム管理者は、サイト コレクションで新しいサンドボックス ソリューションがアクティブ化されるときに各ソリューションを検証するカスタム ソリューション検証機能を使用して、追加の制限を適用できます。
サンドボックス ソリューションが制限を回避できるようにする方法はいくつかあります。最も重要な 2 つの方法を次に示します。
ファーム管理者は、サンドボックス ソリューションでは直接実行できない操作をサンドボックス ソリューションに提供する完全信頼プロキシを、ファーム ソリューションとしてインストールできます。
サンドボックス ソリューションに展開されたページ、Web パーツ、およびコントロールには、SharePoint Foundation クライアント側オブジェクト モデル (.NET Framework 用、Silverlight 用、または JavaScript 用) の 1 つに対して実行されるコードを含めることができます。クライアント コンピューターで実行されるコードには、コード実行またはリソース使用の制限は適用されません。
サンドボックス ソリューションをローカライズする方法は、ファーム ソリューションをローカライズするときに一般的に使用される方法とは異なります。
ファーム管理者が、サンドボックス ソリューションが安全で、リソースの使用にかかわっていると判断したら、そのサンドボックス ソリューションは、変更したり開発者の手を借りたりせずにファーム ソリューションとして再展開できます。
注意
"サンドボックス" の代わりに、"ユーザー" という表現が使用されることがあります。特に、サンドボックス ソリューション システムのオブジェクト モデルについてはそうです。たとえば、システムの主要な API の名前空間は Microsoft.SharePoint.UserCode であり、サンドボックス ソリューションの実行を管理するサービスは、フロントエンド Web サーバーの Windows [サービス] ダイアログで [SharePoint 2010 ユーザー コード ホスト] と呼ばれます (サーバーの全体管理アプリケーションでは、Microsoft SharePoint Foundation Sandboxed Code Service と呼ばれます)。これは、"サンドボックス ソリューション" と呼ばれるようになる前の名前を反映しています。