方法 : フォルダおよびアセンブリにアクセス許可を付与する (2003 システム)
更新 : 2007 年 11 月
対象 |
---|
このトピックの情報は、指定された Visual Studio Tools for Office プロジェクトおよび Microsoft Office のバージョンにのみ適用されます。 プロジェクトの種類
Microsoft Office のバージョン
詳細については、「アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。 |
Visual Studio Tools for Office ソリューションのアセンブリまたはフォルダに、完全信頼のアクセス許可を付与するための手順を次に示します。アクセス許可は、通常はある特定のアセンブリに対して付与します。しかし、複数のアセンブリを所有していて、そのアセンブリのある場所が安全に保護されている場合には、アセンブリが配置されているフォルダに対して完全な信頼を付与することができます。フォルダに信頼を付与すると、フォルダとそのサブフォルダ内にあるすべてのアセンブリも信頼されることになります。
Office ソリューションのフォルダおよびアセンブリにアクセス許可を付与する方法として、以下の 3 つの方法があります。
Visual Studio のアセンブリの場所の信頼プロパティを使用する方法(開発中のみ有効)
アセンブリの場所の信頼プロパティは、開発時のみ機能します。エンド ユーザーに対しては無効です。このため、この方法は配置には使用できません。詳細については、「Visual Studio Tools for Office プロジェクトのプロパティ」を参照してください。
Microsoft .NET Framework 2.0 構成ツールを使用する方法
このツールには、セキュリティ ポリシーを使用するためのグラフィカル ユーザー インターフェイスが用意されています。このツールは Visual Studio 2008 に含まれていません。このツールは、Microsoft ダウンロード センターから .NET Framework 2.0 SDK の一部としてダウンロードできます。例については、「.NET Framework 2.0 SDK 日本語版 (x86)」を参照してください。
コード アクセス セキュリティ ポリシー ツール (Caspol.exe) を使用する方法
このツールは、セキュリティ ポリシーを使用するためのコマンド ライン インターフェイスです。
メモ : |
---|
ここで説明する手順は、アセンブリの開発およびテストを目的とする、ユーザー独自のセキュリティ ポリシーを設定するための基本的手順です。アセンブリまたはディレクトリの安全性が不明の場合は、これらの手順を実行しないでください。実行すると、信頼が付与されてしまいます。セキュリティ ポリシーの設定の詳細については、「セキュリティ ポリシーの配置」および「.NET Framework 構成ツール (Mscorcfg.msc) を使用したコード グループの構成」を参照してください。 |
アセンブリの場所の信頼プロパティを使用する場合
プロジェクトを作成すると、場所に基づいた完全な信頼が既定で付与されます。[アセンブリの場所の信頼] が変更された場合、既定の設定値を再度適用できます。
開発用コンピュータでプロジェクト アセンブリに完全な信頼を付与するには
Visual Studio のソリューション エクスプローラでプロジェクト ノードを選択します。
[プロパティ] ウィンドウで [アセンブリの場所の信頼] を選択します。
このプロパティを true に設定します。
[ビルド] メニューの [ソリューションのビルド] をクリックします。
.NET Framework 2.0 構成ツールを使用する場合
このツールをインストールするには、Microsoft ダウンロード センターから .NET Framework 2.0 Software Development Kit (SDK) をダウンロードし、インストールする必要があります。
実行する手順は、アセンブリまたはフォルダが位置する場所によって異なります。
ローカル コンピュータの場合
ネットワーク上の他のコンピュータ (または割り当てられたドライブ) の場合
ローカル コンピュータに設定されたアセンブリまたはフォルダに完全な信頼を付与するには
コントロール パネルの [管理ツール] を開きます。
[Microsoft .NET Framework 2.0 構成] を実行します。
メモ : 名前が Microsoft .NET Framework で始まる、類似のツールが複数存在する場合があります。使用する構成ツールがランタイムのバージョンに一致していることを確認してください。
左側のツリー ビューで、[.NET Framework 2.0 Configuration]、[マイ コンピュータ]、[ランタイム セキュリティ ポリシー]、[ユーザー]、[コード グループ]、[All_Code]、[VSTOProjects] の順に展開します。
メモ : Visual Studio Tools for Office プロジェクトをまだコンパイルしていない場合、VSTOProjects フォルダは作成されていません。[All_Code] ルート ノードに新しいコード グループを追加するか、Visual Studio Tools for Office プロジェクトをコンパイルすると、VSTOProjects フォルダが自動的に作成されます。
右側に VSTOProjects コード グループに関する説明が表示されます。ページの下部には [タスク] セクションがあります。
[タスク] セクションの [子コード グループを追加] をクリックします。
新しいコード グループの識別ウィザードが起動します。
[新しいコード グループを作成する] を選択し、プロジェクトの識別に役立つ名前と説明を入力します。[次へ] をクリックします。
[このコード グループの条件の種類を選択します] ボックスの [URL] をクリックします。
[URL] ボックスに「c:\path\ExcelApplication1.dll」のようにアセンブリへの完全パスを入力するか、または「c:\path\ExcelApplication1\bin\*」のようにプロジェクトの bin フォルダへのパスの後ろにアスタリスクを付けて入力します。
[次へ] をクリックします。
メモ : bin フォルダへのパスを入力した場合は、そのフォルダおよびすべてのサブフォルダ内のアセンブリ全部に対して、使用しているコンピュータの完全な信頼が付与されます。完全に信頼されたフォルダには、承認されたユーザー以外はアクセスできないようにする必要があります。そうしないと、悪意のあるアセンブリがフォルダに置かれ、そのアセンブリが完全に信頼されて実行される可能性があります。
注意 : ハード ディスク全体 (C:\* など) またはマイ ドキュメントのような一般フォルダにアクセス許可を付与しないでください。インターネットまたは電子メール メッセージからキャッシュしたアセンブリにアクセス許可を付与してしまう恐れがあります。アクセス許可は、実行しても安全なことがわかっているアセンブリを含む特定のプロジェクト フォルダだけに付与するようにしてください。
[既存のアクセス許可セットを使用] を選択し、次に一覧で [FullTrust] を選択します。
[次へ] をクリックします。
[完了] をクリックします。
ネットワーク コンピュータまたは割り当てられたドライブのアセンブリまたはフォルダに完全な信頼を付与するには
コントロール パネルの [管理ツール] を開きます。
[Microsoft .NET Framework 2.0 構成] を実行します。
メモ : 名前が Microsoft .NET Framework で始まる、類似のツールが複数存在する場合があります。使用する構成ツールがランタイムのバージョンに一致していることを確認してください。
左側のツリー ビューで、[.NET Framework 2.0 Configuration]、[マイ コンピュータ]、[ランタイム セキュリティ ポリシー]、[コンピュータ]、[コード グループ]、[All_Code] の順に展開します。
メモ : ネットワーク コンピュータに設定されたアセンブリまたはフォルダに完全な信頼を付与するには、管理者である必要があります。また、信頼はユーザー (User) レベルではなくコンピュータ (Machine) レベルで付与する必要があります。
[All_Code] の [LocalIntranet_Zone] を右クリックし、次に [新規作成] をクリックします。
ここでは、使用しているサーバーがローカル イントラネット ゾーンに設定されていると仮定します。Internet Explorer の信頼済みサイト ゾーンに追加されている場合は、[Trusted_Zone] を右クリックします。割り当てられたドライブにアセンブリが設定されている場合は、[LocalIntranet_Zone] を使用する必要があります。
プロジェクトの識別に役立つ名前と説明を入力します。[次へ] をクリックします。
[このコード グループの条件の種類を選択します] ボックスの [URL] をクリックします。
[URL] ボックスに「\\ServerName\FolderName\ExcelApplication1.dll」のようにアセンブリへの完全パスを入力するか、または「https://ServerName/FolderName/ExcelApplication1/bin/*」のようにプロジェクトの bin フォルダへのパスの後ろにアスタリスクを付けて入力します。
[次へ] をクリックします。
メモ : bin フォルダへのパスを入力した場合は、そのフォルダおよびすべてのサブフォルダ内のアセンブリ全部に対して、使用しているコンピュータの完全な信頼が付与されます。これらのフォルダの安全性が確実でない場合は、このような幅広いアクセス許可を設定するとセキュリティ上の問題が発生することがあります。
[既存のアクセス許可セットを使用] を選択し、次に一覧で [FullTrust] を選択します。
[次へ] をクリックします。
[完了] をクリックします。
コード アクセス セキュリティ ポリシー ツール (Caspol.exe) を使用する場合
コード アクセス セキュリティ ポリシー ツール (Caspol.exe) を使用して、フォルダに対しコマンド プロンプトから完全な信頼を付与することもできます。Caspol.exe の詳細については、「コード アクセス セキュリティ ポリシー ツール (Caspol.exe)」を参照してください。
通常のユーザーのアクセス許可を持つユーザー (User) レベルで、ローカル コンピュータのフォルダに信頼を付与できます。ネットワーク位置に信頼を付与するには、管理者権限が必要です。また、セキュリティ ポリシーの変更はコンピュータ (Machine) レベルで行う必要があります。コンピュータ (Machine) ポリシー レベルはユーザー (User) ポリシー レベルから独立して動作します。ユーザー (User) ポリシーがイントラネット ゾーンに完全な信頼を付与する場合であっても、コンピュータ (Machine) ポリシー レベルはイントラネット ゾーンに完全な信頼を付与しません。これらのポリシー レベルは一致する必要があります。
ヒント : |
---|
コマンドは手動で入力してください。コマンドをコピーしてコマンド プロンプトに貼り付けると、不明なオプション エラーが発生することがあります。 |
ローカル フォルダに完全な信頼を付与するには
Visual Studio コマンド プロンプトで、次のコマンドを入力します。
caspol -u -ag All_Code -url C:\<FolderName>\<FolderName>\* FullTrust -n "<Name>" -d "<Description>"
ネットワーク フォルダに完全な信頼を付与するには
Visual Studio コマンド プロンプトで、次のコマンドを入力します。
caspol -m -ag LocalIntranet_Zone -url \\<ServerName>\<FolderName>\* FullTrust -n "<Name>" -d "<Description>"
詳細については、「方法 : Caspol.exe を使用してコード グループを追加する」を参照してください。
メモ : |
---|
ポリシーが配置された後は、ポリシー変更による影響を受ける者全員が、ソリューションで使用しているすべての Office アプリケーションを終了して再起動する必要があります。この操作により、ポリシーの変更が強制的に適用されます。Microsoft Office Word がソリューションに組み込まれている場合、ユーザーは Microsoft Office Outlook も終了して再起動する必要があります。また、Internet Explorer で文書またはブックを開いた場合は、そのままプロセスが実行されている可能性があります。Windows タスク マネージャをチェックして、Office アプリケーションのインスタンスが存在しないことを確認します。Office アプリケーションをホストする他のアプリケーションにより、新しいアクセス許可の強制適用が妨げられる場合もあります。セキュリティ ポリシーを変更するときは、Office (ホストされているか、スタンドアロンであるかを問わず) を使用するすべてのアプリケーションを終了してください。 |
参照
処理手順
方法 : フォルダおよびアセンブリからアクセス許可を削除する (2003 システム)
概念
Office ソリューションの実行に必要なセキュリティ条件 (2003 システム)
Office ソリューションのセキュリティに関するベスト プラクティス (2003 システム)
Office ソリューションに固有のセキュリティに関する考慮事項