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

更新 : 2006 年 7 月 17 日

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

次の図は、考えられるすべての接続を示していますが、特定のトポロジでは要求されない接続もあります。たとえば、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 固定データベース ロールのメンバであるデータベース ユーザーに関連付けられている必要があります。

ms345212.note(ja-jp,SQL.90).gifメモ :
マージ エージェントが SQL Server エージェント ジョブから起動された場合、常に Windows 認証が使用されます。マージ エージェントがプログラムから起動された場合も、明示的に SQL Server 認証が指定されている場合を除いて、Windows 認証が使用されます。
認証の種類 認証を指定する場所
  • Windows 認証

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

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

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

RMO: SubscriberLoginSubscriberPassword

マージ エージェントのコマンド ライン : -SubscriberLogin-SubscriberPassword

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

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

認証の種類 認証を指定する場所

Windows 認証

RMO: InternetProxyLoginInternetProxyPassword、および InternetProxyServer

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

D. IIS への接続

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

認証の種類 認証を指定する場所

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

  • Transact-SQL: sp_addmergepullsubscription_agent@internet_security_mode パラメータの値に 0 を指定
  • RMO: InternetSecurityMode の値に Standard を指定
  • マージ エージェントのコマンド ライン : -InternetSecurityMode の値に 0 を指定

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

RMO: InternetLoginInternetPassword

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

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

  • Transact-SQL: sp_addmergepullsubscription_agent@internet_security_mode パラメータの値に 1 を指定
  • RMO: InternetSecurityMode の値に Integrated を指定
  • マージ エージェントのコマンド ライン : -InternetSecurityMode の値に 1 を指定

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

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

ms345212.note(ja-jp,SQL.90).gifメモ :
統合認証を使用する場合は、委任が必要です。サブスクライバから IIS への接続には、基本認証と SSL を使用することをお勧めします。

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

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

  • 「D. IIS への接続」で説明している HTTPS 要求を取得します。
  • パブリケーション データベースへの SQL 接続を行い、アップロードされた変更をパブリケーション データベースに適用します。
  • ダウンロードされた変更を抽出し、マージ エージェントに HTTPS 応答を返送します。

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

  • パブリケーション アクセス リスト (PAL) に登録されている。詳細については、「パブリッシャのセキュリティ確保」を参照してください。
  • パブリケーション データベースのユーザーに関連付けられている。
認証の種類 認証を指定する場所

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

  • Transact-SQL: sp_addmergepullsubscription_agent@publisher_security_mode パラメータの値に 1 を指定
  • RMO: PublisherSecurityMode の値に Integrated を指定
  • マージ エージェントのコマンド ライン : -PublisherSecurityMode の値に 1 を指定

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

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

  • Transact-SQL: sp_addmergepullsubscription_agent@publisher_security_mode パラメータの値に 0 を指定
  • RMO: PublisherSecurityMode の値に Standard を指定
  • マージ エージェントのコマンド ライン : -PublisherSecurityMode の値に 0 を指定

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 認証を使用します。

  • Transact-SQL: sp_addmergepullsubscription_agent@distributor_security_mode パラメータの値に 1 を指定
  • RMO: DistributorSecurityMode の値に Integrated を指定
  • マージ エージェントのコマンド ライン : -DistributorSecurityMode の値に 1 を指定

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

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

  • Transact-SQL: sp_addmergepullsubscription_agent@distributor_security_mode パラメータの値に 0 を指定
  • RMO: DistributorSecurityMode の値に Standard を指定
  • マージ エージェントのコマンド ライン : -DistributorSecurityMode の値に 0 を指定

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 のアプリケーション プール アカウント

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

  • Replisapi
  • Replrec
  • Replprov
  • Msgprox
  • Xmlsub

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

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

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

インターネット インフォメーション サービス (IIS) マネージャ。既定では、 で使用されるアカウントは NETWORK SERVICE です。

参照

概念

Web 同期の構成

その他の技術情報

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

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

変更内容 :
  • IIS への接続に使用する internet_security_mode パラメータに関する情報が記載されていなかったため、追加しました。