BITS リモート管理を備えた BITS コンパクト サーバーは、リモート ファイル転送のセキュリティ保護に役立ちます。BITS リモート管理では、BITS Windows Management Instrumentation (WMI) プロバイダーを使用して、システム管理者またはコントローラー アプリケーションがリモートで BITS ジョブをクライアントに作成し、BITS コンパクト サーバーでホストするファイルを発行できるようにします。BITS WMI プロバイダーは、BITS クライアントを BITS コンパクト サーバーと合わせて使用することにより、リモートで、1 台のリモート コンピューターから別のリモート コンピューターにファイルを転送できます。この機能はもともと、Microsoft System Center Virtual Machine Manager (VMM) をコントローラー アプリケーションとして扱って操作する目的で設計されました。しかし、BITS WMI プロバイダーを使用できるすべてのアプリケーションは、コントローラー アプリケーションとしても動作します。
重要 | |
すべてのリモート管理アクティビティは、Administrators グループに含まれるアカウントで実行される必要があります。Administrators グループにないアカウントからのアクセスの要求は拒否されます。 |
アーキテクチャの概要
次の図は、リモート コンピューター上のコントローラー アプリケーションが、クライアントおよび BITS コンパクト サーバーでファイル転送を安全に管理するしくみを示しています。この例では、コントローラー アプリケーションは WS-Management を使用してサーバーとクライアントにジョブを展開します。WS-Management は Microsoft が実装する Web Services-Management プロトコルです。リモート呼び出しは、サーバー コンピューターとクライアント コンピューターで WS-Management (WSMAN) サービスによって受信されます。これらの呼び出しは WMI サービスに渡され、次に、要求を処理するために BITS WMI プロバイダーが呼び出されます。
コントローラー アプリケーションでは、ジョブを展開するため、WS-Management か WMI DCOM のどちらかを使用できます。どちらの場合でも、着信要求を受け付けるためのリモート コンピューターの構成が必要です。リモート コンピューターの WMI への接続方法に関する詳細については、
ファイルを転送するため、コントローラー アプリケーションは、クライアント コンピューターおよびサーバー コンピューター上で実行されている WMI プロバイダーとの接続を確立します。これにより、ファイル転送を開始するためのジョブが作成されます。サーバー上のジョブは、サーバー上のファイルに対してホストされる URL として定義されます。ジョブは、次の要素によって識別されます。
- URL グループ: URL グループは、ファイルを処理するため、URL を 1 対 1 でホストします。これは HTTP.SYS URL グループと要求キューの組み合わせです。たとえば、作成時に http://+:80/Carmine という URL グループを指定できます。使用するプロトコルおよびホスト上のポートも URL グループで指定できます。http://+:80/Carmine1/Carmine2 などの 2 レベルの URL グループはサポート対象外です。
- ソース ファイル: ジョブによってサーバー上でホストされるファイルの名前です。
- URL サフィックス: クライアントがジョブを一意に識別するために使用するサフィックスです。
- クライアントがジョブをダウンロードするために指定する URL は次のもので構成されます。
- 使用されるプロトコル: HTTP または HTTPS
- ホスト名: サーバーの名前
- URL グループ: ジョブがサーバー上でホストされる名前空間
- URL サフィックス: サーバー上で作成されたジョブを識別するサフィックス
- 使用されるプロトコル: HTTP または HTTPS
URL プレフィックス文字列の詳細については、
次のセクションでは、ジョブを作成、監視、および削除する方法について説明します。
サーバー上でのジョブの作成
- コントローラー アプリケーションは、BITS サーバーの root\Microsoft\Bits 名前空間への接続を確立します。WMI サーバー プロバイダーが、管理者権限を確認するためのリモート トークンを認証します。コントローラー アプリケーションは、ダウンロードが処理される HTTPS ポート用の SSL 証明書を設定します。
- コントローラー アプリケーションは、WMI サーバー プロバイダーがサーバー上での URL のホストを可能にする URL グループをサーバー上に作成することを要求します。この段階で、URL グループの認証メカニズムを設定できます。
- コントローラー アプリケーションは、WMI サーバー プロバイダーが、サーバー上の特定のファイルをクライアント コンピューターのプロセスで使用可能にすることを許可する URL を作成することを要求します。
- プロバイダーは、サーバー上の COM インターフェイスを使用して URL グループを作成し、URL グループに一意の URL サフィックスを登録します。SDDL および証明書の認証は、一意の URL それぞれに対して設定されます。
- この URL グループに追加された新しいジョブは、同じ URL グループとその設定を共有します。これでホストが構成され、ホストは登録された URL についてクライアントからの要求をリッスンします。
クライアント上でのジョブの作成
- コントローラー アプリケーションは、クライアント コンピューターの root\Microsoft\Bits 名前空間への接続を確立します。
- WMI クライアント プロバイダーが、管理者のアクセス権を確認するためのリモート トークンを認証します。通常、WMI プロバイダーはデータを提供する前に着信クライアントを偽装します。その場合、クライアントに対するサービスは WMI が開かれているコンテキスト (ローカル システム) で行われます。これにより、他のブロックされたリモート呼び出しが BITS によって処理されます。
- コントローラー アプリケーションは、WMI クライアント プロバイダーが、BITS サービスを使用してサーバー上の特定のファイルをクライアント コンピューターにダウンロードするジョブを作成することを要求します。
- プロバイダーは、公開された COM インターフェイスを使用して BITS サービスとの接続を確立します。
- プロバイダーは、コントローラー アプリケーションが BITS ジョブの実行を予期するサービス アカウントを偽装します。
- サーバー上の要求された URL について BITS ジョブが作成されます。
- 認証証明書をジョブに追加できます。
- 信頼されていないドメインのシナリオでは、認証資格情報をジョブに設定できます。
- BITS ジョブが作成され、ファイル転送が開始すると、直ちに BITS ジョブが再開されます。
ジョブの監視
- コントローラー アプリケーションは、クライアント プロバイダーによって使用可能にされた状態プロパティを使って、作成された BITS ジョブを監視します。ジョブで一時的なエラーが発生すると、コントローラー アプリケーションはエラー コードを取得し、BITS ジョブを取り消して、クリーンアップに進むことができます。
- ファイルの転送が成功すると、コントローラー アプリケーションはクリーンアップを行うことができます。
ジョブのクリーンアップ
- クライアントでのクリーンアップは、コントローラー アプリケーションが BITS ジョブをクリーンアップ段階に移動すると発生します。ジョブの状態が BG_JOB_STATE_TRANSFERRED の場合、そのジョブは完了状態に移動できます。それ以外の状態の場合、このジョブは取り消すことができます。
- サーバーでのクリーンアップは、ホストされる URL を取り消すことをサーバー プロバイダーに要求するコントローラー アプリケーションによって実行されます。グループに登録された URL は削除されます。クライアントは、URL グループも削除することができます。これを行うと、その URL グループで扱われるすべての URL を削除できます。
その他の情報
BITS WMI 呼び出しのシーケンスと方法の詳細については、バックグラウンド インテリジェント転送サービスに関するページ (英語の可能性あり) (
WMI の使用に関する一般的な情報については、