次の方法で共有


Web 同期のセキュリティ アーキテクチャ

Microsoft SQL Server を使用すると、Web 同期のセキュリティ設定をきめ細かく制御できます。 ここでは、Web 同期の構成に含めることができるすべてのコンポーネントを紹介し、コンポーネント間で行われる接続に関する情報を示します。可能な場合は、Windows 認証を使用します。

次の図は、考えられるすべての接続を示していますが、特定のトポロジでは要求されない接続もあります。 たとえば、FTP サーバーへの接続は、FTP を使用してスナップショットを配信する場合にのみ必要です。

Web 同期のコンポーネントと接続

次の表では、上記の図に示したコンポーネントと接続について説明します。

A. マージ エージェントを実行する Windows ユーザー

同期中、マージ エージェント (A) がサブスクライバーで開始されます。 マージ エージェントは、SQL Server エージェントのジョブ ステップまたはスタンドアロンのカスタム アプリケーションから開始できます。 マージ エージェントが SQL Server エージェントのジョブ ステップから開始されると、マージ エージェントは指定した Windows ユーザーのコンテキストで実行されます。 Windows ユーザーを指定しないと、マージ エージェントは SQL Server エージェントの Windows サービス アカウントのコンテキストで実行されます。

アカウントの種類

アカウントを指定する場所

Windows ユーザー

Transact-SQL: sp_addmergepullsubscription_agent@job_login パラメーターと @job_password パラメーター

レプリケーション管理オブジェクト (RMO): SynchronizationAgentProcessSecurityLogin プロパティと Password プロパティ

SQL Server エージェントの Windows サービス アカウント

SQL Server 構成マネージャー

スタンドアロンのアプリケーション

マージ エージェントは、アプリケーションを実行している Windows ユーザーのコンテキストで実行されます。

B. サブスクライバーへの接続

マージ エージェントは、Windows 認証または SQL Server 認証を使用してサブスクライバーに接続します。 指定する Windows ユーザーまたは SQL Server ログインは、サブスクリプション データベースの dbowner 固定データベース ロールのメンバーであるデータベース ユーザーに関連付けられている必要があります。

注意

マージ エージェントが SQL Server エージェント ジョブから起動された場合、常に Windows 認証が使用されます。 マージ エージェントがプログラムから起動された場合も、明示的に SQL Server 認証が指定されている場合を除いて、Windows 認証が使用されます。

認証の種類

認証を指定する場所

  • Windows 認証

マージ エージェントは、マージ エージェント (A) に指定されている Windows ユーザーのコンテキストで接続します。

次のように指定する場合にのみ、SQL Server 認証を使用します。

  • RMO: SubscriberSecurityMode の値に Standard を指定

  • マージ エージェントのコマンド ライン : SubscriberSecurityMode の値に 0 を指定

RMO: SubscriberLoginSubscriberPassword

マージ エージェントのコマンド ライン : -SubscriberLogin および -SubscriberLogin

C. 発信プロキシ サーバーへの接続

サブスクライバーの内部ネットワークへのアクセスを制限する発信プロキシ サーバーが存在する場合にのみ、この接続に Windows ユーザーを指定します。

認証の種類

認証を指定する場所

Windows 認証

RMO: InternetProxyLoginInternetProxyPassword、および InternetProxyServer

マージ エージェントのコマンド ライン : -InternetProxyLogin-InternetProxyPassword、および -InternetProxyServer

D. IIS への接続

サブスクライバーに接続して変更をサブスクリプション データベースから抽出した後、マージ エージェントは Microsoft インターネット インフォメーション サービス (IIS) への HTTPS 要求を作成し、データ変更を XML メッセージとしてアップロードします。 マージ エージェントには、IIS に対するログオンの権限が必要です。

認証の種類

認証を指定する場所

次のいずれかを指定する場合は、基本認証を使用します。

Transact-SQL: sp_addmergepullsubscription_agent@internet_login パラメーターと @internet_password パラメーター

RMO: InternetLoginInternetPassword

マージ エージェントのコマンド ライン : -InternetLogin-InternetPassword

次のいずれかを指定する場合は、統合認証1 を使用します。

マージ エージェントは、マージ エージェント (A) に指定されている Windows ユーザーのコンテキストで接続します。

1 統合認証は、すべてのコンピューターが同じドメイン内または相互に信頼関係を持つ複数のドメイン内に存在する場合にのみ使用できます。

注意

統合認証を使用する場合は、委任が必要です。 サブスクライバーから IIS への接続には、基本認証と SSL を使用することをお勧めします。

E. パブリッシャーへの接続

SQL Server レプリケーション リスナーおよびマージ レプリケーション競合回避モジュール コンポーネントは、IIS を実行しているコンピューター上でホストされます。 これらのコンポーネントでは、以下の処理が実行されます。

  • 「D. IIS への接続」で説明している HTTPS 要求を取得します。

  • パブリケーション データベースへの SQL 接続を行い、アップロードされた変更をパブリケーション データベースに適用します。

  • ダウンロードされた変更を抽出し、マージ エージェントに HTTPS 応答を返送します。

マージ レプリケーション競合回避モジュールは、Windows 認証または SQL Server 認証のいずれかを使用してパブリッシャーに接続します。 指定する Windows ユーザーまたは SQL Server ログインは、次の条件を満たしている必要があります。

  • パブリケーション アクセス リスト (PAL) に登録されている。 詳細については、「パブリッシャーのセキュリティ保護」を参照してください。

  • パブリケーション データベースのユーザーに関連付けられている。

認証の種類

認証を指定する場所

次のいずれかを指定する場合は、Windows 認証を使用します。

マージ エージェントは、IIS (D) への接続に指定されている Windows ユーザーのコンテキストでパブリッシャーに接続します。 パブリッシャーと IIS が異なるコンピューター上に存在し、接続 (D) に統合認証を使用する場合は、IIS を実行しているコンピューター上で Kerberos 委任を有効にする必要があります。 詳細については、Windows のマニュアルを参照してください。

以下のいずれかを指定する場合は、SQL Server 認証を使用します。

Transact-SQL: sp_addmergepullsubscription_agent@publisher_login パラメーターと @publisher_password パラメーター

RMO: PublisherLoginPublisherPassword

マージ エージェントのコマンド ライン : -PublisherLogin-PublisherPassword

F. ディストリビューターへの接続

IIS を実行しているコンピューター上でホストされるマージ レプリケーション競合回避モジュールもディストリビューターに接続します。 マージ レプリケーション競合回避モジュールは、Windows 認証または SQL Server 認証のいずれかを使用してディストリビューターに接続します。 指定する Windows ユーザーまたは SQL Server ログインは、次の条件を満たしている必要があります。

  • パブリケーション アクセス リスト (PAL) に登録されている。 詳細については、「パブリッシャーのセキュリティ保護」を参照してください。

  • ディストリビューション データベースのユーザーに関連付けられている。 Guest ユーザーでもかまいません。

スナップショット共有は、通常、ディストリビューター上に存在します。 スナップショット共有の詳細については、後半の「H. スナップショット共有へのアクセス」を参照してください。

  • 認証の種類

認証を指定する場所

次のいずれかを指定する場合は、Windows 認証を使用します。

マージ エージェントは、IIS (D) への接続に指定されている Windows ユーザーのコンテキストでディストリビューターに接続します。 ディストリビューターと IIS が異なるコンピューター上に存在し、接続 (D) に統合認証を使用する場合は、IIS を実行しているコンピューター上で Kerberos 委任を有効にする必要があります。 詳細については、Windows のマニュアルを参照してください。

以下のいずれかを指定する場合は、SQL Server 認証を使用します。

Transact-SQL: sp_addmergepullsubscription_agent@distributor_login パラメーターと @distributor_password パラメーター

RMO: DistributorLoginDistributorPassword

マージ エージェントのコマンド ライン : -DistributorLogin-DistributorPassword

G. FTP サーバーへの接続

スナップショットをサブスクライバーに適用する前に、IIS を実行しているコンピューターに、UNC の場所ではなく FTP サーバーからスナップショット ファイルをダウンロードする場合にのみ、この接続に Windows ユーザーを指定します。 詳細については、「FTP によるスナップショットの転送」を参照してください。

認証の種類

認証を指定する場所

Windows 認証

Transact-SQL: sp_addmergepublication@ftp_login パラメーターと @ftp_password パラメーター

RMO: FtpLoginFtpPassword

H. スナップショット共有へのアクセス

スナップショット共有には、IIS を実行しているコンピューター上でホストされるマージ レプリケーション競合回避モジュールを使用してアクセスします。

認証の種類

認証を指定する場所

Windows 認証

マージ エージェントは、IIS (D) への接続に指定されている Windows ユーザーのコンテキストでスナップショット共有に接続します。 スナップショット共有と IIS が異なるコンピューター上に存在し、接続 (D) に統合認証を使用する場合は、IIS を実行しているコンピューター上で Kerberos 委任を有効にする必要があります。 詳細については、Windows のマニュアルを参照してください。

I. IIS のアプリケーション プール アカウント

このアカウントは、Windows Server 2003 の場合は IIS を実行しているコンピューター上で W3wp.exe プロセスを開始するために、また、Windows 2000 の場合は Dllhost.exe プロセスを開始するために使用します。 これらのプロセスによって、IIS を実行しているコンピューター上で SQL Server レプリケーション リスナーやマージ レプリケーション競合回避モジュールなどのアプリケーションがホストされます。 このアカウントは、IIS を実行しているコンピューター上にある次のレプリケーション DLL に対して読み取りと実行の権限を持っている必要があります。

  • Replisapi

  • Replrec

  • Replprov

  • Msgprox

  • Xmlsub

また、このアカウントは IIS_WPG グループの一部である必要があります。 詳細については、「Web 同期用の IIS の構成」の「SQL Server レプリケーション リスナーの権限の設定」を参照してください。

アカウントの種類

アカウントを指定する場所

必要な権限を持つ Windows ユーザー

インターネット インフォメーション サービス (IIS) マネージャー。

関連項目

参照

レプリケーション マージ エージェント

概念

Web 同期の構成