身份验证是实体(通常是此上下文中的计算机)验证另一个实体(也称为 主体)(通常是另一台计算机或用户)是该实体所声称的人员或用户的过程。 授权是向经过身份验证的主体授予对资源(例如文件系统中的文件或数据库中表)的访问权限的过程。
复制安全性使用身份验证和授权来控制对复制的数据库对象以及复制处理中涉及的计算机和代理的访问。 这是通过三种机制实现的:
代理安全性:复制代理安全模型允许对复制代理运行和建立连接的帐户进行精细控制。 有关代理安全模型的详细信息,请参阅 复制代理安全模型。 有关为代理设置登录名和密码的信息,请参阅 “在复制中管理登录名和密码”。
管理角色:确保使用正确的服务器和数据库角色进行复制设置、维护和处理。 有关详细信息,请参阅 复制的安全角色要求。
发布访问列表(PAL):通过 PAL 授予对发布的访问权限。 PAL 功能类似于Microsoft Windows 访问控制列表。 当订阅者连接到发布者或分发者并请求访问发布内容时,将检查代理传递的身份验证信息是否符合 PAL。 有关 PAL 的详细信息和最佳做法,请参阅 保护发布服务器。
筛选已发布的数据
除了使用身份验证和授权来控制对复制数据和对象的访问之外,复制还包括两个选项来控制订阅服务器上可用的数据:列筛选和行筛选。 有关筛选的详细信息,请参阅 “筛选已发布的数据”。
在定义文章时,可以只发布那些对出版必要的列,并省略那些不必要的或包含敏感数据的列。 例如,将 Customer 表从 Adventure Works 数据库发布给外勤销售代表时,可以省略 AnnualSales 列,该列可能仅与公司的高管相关。
筛选已发布的数据可以限制对数据的访问,并允许您指定在订阅者可用的数据。 例如,可以筛选 “客户 ”表,以便公司合作伙伴仅接收有关 其 ShareInfo 列的“是”值的客户的信息。对于合并复制,如果使用包含 HOST_NAME() 的参数化筛选器,则存在安全注意事项。 有关详细信息,请参阅 参数化行筛选器中的“筛选HOST_NAME()”部分。
管理复制中的登录名和密码
配置复制时,指定复制代理的登录名和密码。 配置复制后,可以更改登录名和密码。 有关详细信息,请参阅 “查看和修改复制安全设置”。 如果更改复制代理使用的帐户的密码,请执行 sp_changereplicationserverpasswords(Transact-SQL)。