ディストリビューターのセキュリティ保護
適用対象: SQL Server Azure SQL Managed Instance
レプリケーション エージェントのうち、ログ リーダー エージェント、スナップショット エージェント、キュー リーダー エージェント、ディストリビューション エージェント、およびマージ エージェントは、ディストリビューターに接続します。 最低限必要な権限のみを与え、かつすべてのパスワードの格納を保護するという原則に従って、これらの各エージェントに対し適切なログインを指定することは重要です。
ログインとパスワードの管理の詳細については、「レプリケーションのログインとパスワードの管理」を参照してください。
各エージェントで必要な権限の詳細については、「 Replication Agent Security Model」を参照してください。
ログインとパスワードの適切な管理に加えて、リモート サーバー リンク repl_distributor 、および distributor_admin アカウントのロールを理解することが重要です。
パブリッシャーからディストリビューターへの接続の保護
管理用のストアド プロシージャをパブリッシャーで実行し、ディストリビューターで情報を更新するために必要な通信をサポートするため、レプリケーションでは、リモート サーバー repl_distributorが自動的に構成されます。 リモート サーバー エントリ repl_distributor は、ディストリビューション データベースがパブリッシャー インスタンス (ローカル ディストリビューター) 内に含まれるか、リモートの SQL Server インスタンス (リモート ディストリビューター) 内に存在するかに関係なく、ディストリビューション データベースとの通信に使用されます。
ディストリビューション データベースがローカル インスタンスに含まれる場合は、ランダムなパスワードが生成され自動的に構成されます。 ディストリビューション データベースがリモート インスタンスにある場合は、パブリッシャーとディストリビューターのセットアップ時に管理者が共有パスワードを構成します。このパスワードは、 repl_distributor リンク上を流れるトラフィックの認証に使用されます。
ディストリビューターは、実行時にリモート サーバー エントリ repl_distributor を使用して、呼び出し元のサーバーがディストリビューターでパブリッシャーとして構成されていることを検証します。次に、パブリッシャーから渡されたパスワードを検証して、ストアド プロシージャがレプリケーション ストアド プロシージャであることを検証します。
セットアップ時にリモート サーバー エントリ repl_distributor に対して構成されたパスワードは、SQL Server ログイン distributor_admin と関連付けられます。このログインは、ディストリビューター側で固定サーバー ロール sysadmin に追加されます。 distributor_admin ログインは、ディストリビューターに接続するときに、レプリケーション ストアド プロシージャによって使用されます。
Note
distributor_admin のパスワードを手動で変更しないでください。 パスワードの変更はローカル パブリケーションに自動的に適用されるため、必ず sp_changedistributor_password ストアド プロシージャか、SQL Server Management Studio の [ディストリビューターのプロパティ] または [レプリケーション パスワードの更新] ダイアログ ボックスで行ってください。
distributor_admin ログインの無効化
リモート ディストリビューターで distributor_admin ログインが無効になっている場合は、次の操作を実行できなくなる可能性があります。
- パブリケーションを作成または削除する。
- 既存のパブリケーションの記事を変更する。
- パブリッシャーで SQL Server Management Studio (SSMS) またはレプリケーション モニターを使用してエージェントの状態を確認する。
- サブスクリプションを作成または削除する。
- レプリケーション モニターを使用するか sys.sp_posttracertoken を実行して、トレーサー トークンをポストする。
- ディストリビューターでリモート パブリッシャーを構成する。
そのため、リモート ディストリビューターで distributor_admin ログインを無効にすることは推奨されません。 ローカル ディストリビューターで distributor_admin ログインを無効にしても同じ制限が適用されない場合がありますが、それでも推奨されるプラクティスではありません。
スナップショット フォルダーのセキュリティ
スナップショット共有には、マージ エージェント (マージ レプリケーションの場合) またはディストリビューション エージェント (スナップショット レプリケーションまたはトランザクション レプリケーションの場合) の実行に使用するアカウントに読み取りアクセスが許可され、スナップショット エージェントの実行に使用するアカウントに書き込みアクセスが許可されていることを確認してください。 スナップショット フォルダーの詳細については、「スナップショット フォルダーのセキュリティ保護」を参照してください。