このトピックでは、信頼されたアプリケーション配置テクノロジを使用して、昇格されたアクセス許可を持つ ClickOnce アプリケーションを配置する方法の概要について説明します。
ClickOnce 配置テクノロジの一部である信頼されたアプリケーション配置を使用すると、任意のサイズの組織が、ユーザーのプロンプトを表示することなく、より安全で安全な方法でマネージド アプリケーションに追加のアクセス許可を付与しやすくなります。 信頼されたアプリケーションの展開では、組織は、信頼された発行元の一覧を持つクライアント コンピューターを構成するだけで、Authenticode 証明書を使用して識別できます。 その後、これらの信頼された発行元のいずれかによって署名された ClickOnce アプリケーションは、より高いレベルの信頼を受け取ります。
注
信頼されたアプリケーションの展開には、ユーザーのコンピューターの 1 回限りの構成が必要です。 マネージド デスクトップ環境では、グローバル ポリシーを使用してこの構成を実行できます。 これがアプリケーションに必要でない場合は、代わりにアクセス許可の昇格を使用します。 詳細については、「 ClickOnce アプリケーションのセキュリティ保護」を参照してください。
信頼されたアプリケーションの展開の基本
次の表に、信頼されたアプリケーションの展開に関連するオブジェクトとロールを示します。
| オブジェクトまたはロール | Description |
|---|---|
| 管理者 | クライアント コンピューターの更新と保守を担当する組織エンティティ |
| 信頼マネージャー | クライアント アプリケーションのセキュリティを適用する共通言語ランタイム (CLR) 内のサブシステム。 |
| パブリッシャ | アプリケーションの書き込みと保守を行うエンティティ。 |
| 配置元 | アプリケーションをパッケージし、ユーザーに配布するエンティティ。 |
| 証明書 | 公開キーと秘密キーで構成される暗号化署名。一般に証明機関 (CA) によって発行され、その信頼性を保証できます。 |
| Authenticode 証明書 | 特に、証明書を使用できる用途を記述するメタデータが埋め込まれた証明書。 |
| 証明機関 | 発行元の ID を検証し、パブリッシャーのメタデータに埋め込まれた証明書を発行する組織。 |
| ルート認証局 | 他の証明機関が証明書を発行することを承認する証明機関。 |
| キーコンテナ | 証明書を格納するための Microsoft Windows の論理ストレージ領域。 |
| 信頼できる発行元 | クライアント コンピューター上の証明書信頼リスト (CTL) に Authenticode 証明書が追加された発行元。 |
大規模な組織では、パブリッシャーと展開者は、多くの場合、2 つの異なるエンティティです。
発行元は、ClickOnce アプリケーションを作成するグループです。
配置者は、ClickOnce アプリケーションを企業のエンタープライズ デスクトップ コンピューターに配布するグループ (通常は情報テクノロジ (IT) 部門です。
信頼されたアプリケーションの展開を利用するには、次の手順に従う必要があります。
発行元の証明書を取得します。
すべてのクライアントの信頼できる発行元ストアに発行元を追加します。
ClickOnce アプリケーションを作成します。
発行元の証明書を使用して配置マニフェストに署名します。
クライアントのコンピューターにアプリケーションを配布します。
発行元の証明書を取得する
デジタル証明書は、Microsoft Authenticode 認証およびセキュリティ システムの中核となるコンポーネントです。 Authenticode は、Windows オペレーティング システムの標準的な部分です。 信頼されたアプリケーション配置に参加しているかどうかに関係なく、すべての ClickOnce アプリケーションにデジタル証明書で署名する必要があります。 Authenticode と ClickOnce の動作の詳細については、「 ClickOnce と Authenticode」を参照してください。
信頼できる発行元ストアに発行元を追加する
ClickOnce アプリケーションが高いレベルの信頼を受け取るようにするには、アプリケーションを実行する各クライアント コンピューターに信頼できる発行元として証明書を追加する必要があります。 このタスクの実行は、1 回限りの構成です。 完了すると、発行者の証明書で署名された ClickOnce アプリケーションを必要なだけ展開でき、それらはすべて高い信頼で実行されます。
マネージド デスクトップ環境にアプリケーションをデプロイする場合。たとえば、Windows オペレーティング システムを実行している企業イントラネット。信頼された発行元をクライアントのストアに追加するには、グループ ポリシーを使用して新しい証明書信頼リスト (CTL) を作成します。 詳細については、「 グループ ポリシー オブジェクトの証明書信頼リストを作成する」を参照してください。
マネージド デスクトップ環境にアプリケーションをデプロイしない場合は、信頼された発行元ストアに証明書を追加するための次のオプションがあります。
CertMgr.exe。Windows SDK と共にインストールされます。 詳細については、「 Certmgr.exe (証明書マネージャー ツール)」を参照してください。
ClickOnce アプリケーションを作成する
ClickOnce アプリケーションは、アプリケーションを記述し、インストール パラメーターを指定するマニフェスト ファイルと組み合わせた .NET Framework クライアント アプリケーションです。 Visual Studio の [発行 ] コマンドを使用して、プログラムを ClickOnce アプリケーションに変換できます。 または、Windows ソフトウェア開発キット (SDK) に含まれているツールを使用して、ClickOnce 配置に必要なすべてのファイルを生成することもできます。 ClickOnce 配置の詳細な手順については、「 チュートリアル: ClickOnce アプリケーションを手動で配置する」を参照してください。
信頼されたアプリケーション配置は ClickOnce に固有であり、ClickOnce アプリケーションでのみ使用できます。
デプロイに署名する
証明書を取得したら、それを使用してデプロイに署名する必要があります。 Visual Studio 発行ウィザードを使用してアプリケーションを展開する場合、証明書を自分で指定していない場合、ウィザードによってテスト証明書が自動的に生成されます。 ただし、Visual Studio プロジェクト デザイナー ウィンドウを使用して、CA によって提供される証明書を指定することもできます。 「 方法: 発行ウィザードを使用して ClickOnce アプリケーションを発行する」も参照してください。
注意事項
テスト証明書を使用してアプリケーションをデプロイすることはお勧めしません。
Mage.exeまたはMageUI.exe SDK ツールを使用してアプリケーションに署名することもできます。 詳細については、「 チュートリアル: ClickOnce アプリケーションを手動で配置する」を参照してください。 配置署名に関連するコマンドライン オプションの完全な一覧については、「 Mage.exe (マニフェスト生成および編集ツール)」を参照してください。
アプリケーションを発行する
ClickOnce マニフェストに署名するとすぐに、アプリケーションはインストール先に公開する準備が整います。 インストール場所には、Web サーバー、ファイル共有、またはローカル ディスクを指定できます。 クライアントが初めて配置マニフェストにアクセスする場合、信頼マネージャーは、ClickOnce アプリケーションがインストールされた信頼できる発行元によってより高い信頼レベルで実行する権限を付与されているかどうかを判断する必要があります。 信頼マネージャーは、展開の署名に使用される証明書と、クライアントの信頼された発行元ストアに格納されている証明書を比較することで、この選択を行います。 信頼マネージャーが一致するものを見つけた場合、アプリケーションは高信頼で実行されます。
信頼されたアプリケーションの展開と権限の昇格
現在の発行元が信頼できる発行元でない場合、信頼マネージャーはアクセス許可の昇格を使用して、アプリケーションに昇格されたアクセス許可を付与するかどうかについてユーザーにクエリを実行します。 ただし、管理者がアクセス許可の昇格を無効にした場合、アプリケーションは実行するアクセス許可を取得できません。 アプリケーションは実行されず、ユーザーに通知は表示されません。 アクセス許可の昇格の詳細については、「 ClickOnce アプリケーションのセキュリティ保護」を参照してください。
信頼されたアプリケーションの展開の制限事項
信頼されたアプリケーション配置を使用すると、Web またはエンタープライズ ファイル共有を介して配置された ClickOnce アプリケーションに管理者特権での信頼を付与できます。 既定では、これらのアプリケーションには完全な信頼が付与されるため、CD に配布される ClickOnce アプリケーションに対して信頼されたアプリケーション配置を使用する必要はありません。