ID およびアクセス制御 (レプリケーション)
適用対象: SQL Server Azure SQL Managed Instance
認証とは、あるエンティティ (ここでは、一般的にコンピューターを指します) によって、別のエンティティ ( プリンシパルとも呼ばれます。一般的に別のコンピューターまたはユーザーを指します) が自称するエンティティであるかどうかを確認するプロセスです。 承認とは、認証されたプリンシパルにリソース (ファイル システムのファイルやデータベースのテーブルなど) へのアクセスを認めるプロセスです。
レプリケーション セキュリティでは、認証と承認を使用して、レプリケートされたデータベース オブジェクトへのアクセスや、レプリケーション処理に関係するコンピューターやエージェントへのアクセスを制御します。 これは、以下の 3 つのメカニズムによって実現されます。
エージェント セキュリティ
レプリケーション エージェントのセキュリティ モデルでは、レプリケーション エージェントの実行や接続に使用されるアカウントをきめ細かく制御できます。 エージェント セキュリティ モデルの詳細については、「 Replication Agent Security Model」を参照してください。
管理ロール
レプリケーションのセットアップ、メンテナンス、および処理に対して適切なサーバー ロールやデータベース ロールが使用されていることを確認します。 詳細については、「 Security Role Requirements for Replication」を参照してください。
パブリケーション アクセス リスト (PAL)
パブリケーションへのアクセスは、PAL を通じて許可されます。 PAL は、Microsoft Windows のアクセス制御リストによく似た機能を備えています。 サブスクライバーがパブリッシャーやディストリビューターに接続し、パブリケーションへのアクセスを要求すると、エージェントによって渡された認証情報が PAL に対して確認されます。 PAL の詳細および推奨事項については、「Secure the Publisher」(パブリッシャーのセキュリティ保護) を参照してください。
パブリッシュされたデータのフィルター選択
レプリケーションでは、レプリケートされたデータやオブジェクトへのアクセスを認証と承認を使用して制御する以外に、列のフィルター選択と行のフィルター選択という 2 つのオプションを使用して、サブスクライバーで利用できるようにするデータを制御できます。 フィルター選択の詳細については、「パブリッシュされたデータのフィルター選択」を参照してください。
アーティクルを定義する際には、パブリケーションに必要な列のみをパブリッシュして、不要な列や機密データを含む列を除外することができます。 たとえば、Adventure Works データベースの Customer テーブルを現場の販売担当者にパブリッシュする際には、経営陣以外には関係のない AnnualSales 列を除外できます。
パブリッシュされたデータをフィルター選択することによって、データへのアクセスを制限し、サブスクライバーで使用できるデータを指定できます。 たとえば、Customer テーブルにフィルターを適用して、ShareInfo 列の値が "yes" の顧客に関する情報のみをパートナー企業に提供することができます。マージ レプリケーションにおいて、HOST_NAME() を含むパラメーター化されたフィルターを使用する場合は、セキュリティ上の留意事項があります。 詳細については、「 Parameterized Row Filters」の「HOST_NAME() によるフィルター選択」を参照してください。
レプリケーションのログインとパスワードの管理
レプリケーションを構成する際には、レプリケーション エージェントのログインとパスワードを指定します。 レプリケーションの構成後は、ログインとパスワードを変更できます。 詳細については、「 View and Modify Replication Security Settings」を参照してください。 レプリケーション エージェントで使用されるアカウントのパスワードを変更する場合は、sp_changereplicationserverpasswords (Transact-SQL) を実行します。
グループの管理されたサービス アカウント (gMSA) の使用のサポートは、SQL Server 2014 で導入されました。