SQL Server建立应用程序安全性和程序角色
Microsoft SQL Server 中的 安全 系统在最低级别,即 数据库 本身上实现。无论使用什么 应用 程序 与 SQL Server 通讯,这都是控制用户活动的最佳方法。但是,有时必须自定义安全控制以适应个别 应用 程序 的特殊需要,尤其是当处理复杂数据库和含有大表的数
Microsoft® SQL Server™ 中的安全系统在最低级别,即数据库本身上实现。无论使用什么应用程序与 SQL Server 通讯,这都是控制用户活动的最佳方法。但是,有时必须自定义安全控制以适应个别应用程序的特殊需要,尤其是当处理复杂数据库和含有大表的数据库时。
此外,可能希望限制用户只能通过特定应用程序(例如使用 SQL 查询分析器或 Microsoft Excel)来访问数据或防止用户直接访问数据。限制用户的这种访问方式将禁止用户使用应用程序(如 SQL 查询分析器)连接到 SQL Server 实例并执行编写质量差的查询,以免对整个服务器的性能造成负面影响。
SQL Server 通过使用应用程序角色适应这些要求。应用程序角色与标准角色有以下区别:
◆应用程序角色不包含成员。
不能将 Microsoft Windows NT® 4.0 或 Windows® 2000 组、用户和角色添加到应用程序角色;当通过特定的应用程序为用户连接激活应用程序角色时,将获得该应用程序角色的权限。用户之所以与应用程序角色关联,是由于用户能够运行激活该角色的应用程序,而不是因为其是角色成员。
◆默认情况下,应用程序角色是非活动的,需要用密码激活。
◆应用程序角色不使用标准权限。
当一个应用程序角色被该应用程序激活以用于连接时,连接会在连接期间永久地失去数据库中所有用来登录的权限、用户帐户、其它组或数据库角色。连接获得与数据库的应用程序角色相关联的权限,应用程序角色存在于该数据库中。因为应用程序角色只能应用于它们所存在的数据库中,所以连接只能通过授予其它数据库中 guest 用户帐户的权限,获得对另一个数据库的访问。因此,如果数据库中没有 guest 用户帐户,则连接无法获得对该数据库的访问。如果 guest 用户帐户确实存在于数据库中,但是访问对象的权限没有显式地授予 guest,则无论是谁创建了对象,连接都不能访问该对象。用户从应用程序角色中获得的权限一直有效,直到连接从 SQL Server 退出为止。
若要确保可以执行应用程序的所有函数,连接必须在连接期间失去应用于登录和用户帐户或所有数据库中的其它组或数据库角色的默认权限,并获得与应用程序角色相关联的权限。例如,如果应用程序必须访问通常拒绝用户访问的表,则应废除对该用户拒绝的访问权限,以使用户能够成功使用该应用程序。应用程序角色通过临时挂起用户的默认权限并只对他们指派应用程序角色的权限而克服任何与用户的默认权限发生的冲突。
应用程序角色允许应用程序(而不是 SQL Server)接管验证用户身份的责任。但是,SQL Server 在应用程序访问数据库时仍需对其进行验证,因此应用程序必须提供密码,因为没有其它方法可以验证应用程序。
如果不需要对数据库进行特殊访问,则不需要授予用户和 Windows NT 4.0 或 Windows 2000 组任何权限,因为所有权限都可以由它们用来访问数据库的应用程序指派。在这种环境下,假设对应用程序的访问是安全的,则在系统范围内统一使用指派给应用程序角色的密码是可能的。
有几个选项可用于管理应用程序角色密码而无须将其硬编码到应用程序中。例如,可以使用存储在注册表(或 SQL Server 数据库)中的加密键,只有应用程序有加密键的解密代码。应用程序读取键,对其进行解密,并使用其值设置应用程序角色。如果使用多协议 Net-Library,则含有密码的网络数据包也可以被加密。另外,当角色被激活时,可以在发送到 SQL Server 实例前将密码加密。
如果应用程序用户使用 Windows 身份验证模式连接到 SQL Server 实例,则在使用应用程序时,可以使用应用程序角色设置 Windows NT 4.0 或 Windows 2000 用户在数据库中拥有的权限。这种方法使得当用户使用应用程序时,对用户帐户的 Windows NT 4.0 或 Windows 2000 审核及对用户权限的控制容易维护。
如果使用 SQL Server 身份验证,并且不要求审核用户在数据库中的访问,则应用程序可以更容易地使用预定义的 SQL Server 登录连接到 SQL Server 实例。例如,订单输入应用程序验证运行该应用程序的用户,然后用相同的 OrderEntry 登录连接到 SQL Server 实例。所有连接都使用同一登录,相关权限授予该登录。
说明 应用程序角色可以和两种身份验证模式一起使用。
示例
作为应用程序角色使用的示例,假设用户 Sue 运行销售应用程序,该应用程序要求在数据库 Sales 中的表 Products 和 Orders 上有 SELECT、UPDATE 和 INSERT 权限,但她在使用 SQL 查询分析器或任何其它工具访问 Products 或 Orders 表时不应有 SELECT、INSERT 或 UPDATE 权限。若要确保如此,可以创建一个拒绝 Products 和 Orders 表上的 SELECT、INSERT 或 UPDATE 权限的用户-数据库角色,然后将 Sue 添加为该数据库角色的成员。接着在 Sales 数据库中创建带有 Products 和 Orders 表上的 SELECT、INSERT 和 UPDATE 权限的应用程序角色。当应用程序运行时,它通过使用 sp_setapprole 提供密码激活应用程序,并获得访问 Products 和 Orders 表的权限。如果 Sue 尝试使用除该应用程序外的任何其它工具登录到 SQL Server 实例,则将无法访问 Products 或 Orders 表。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

iPhone上的默认地图是Apple专有的地理位置提供商“地图”。尽管地图越来越好,但它在美国以外的地区运行不佳。与谷歌地图相比,它没有什么可提供的。在本文中,我们讨论了使用Google地图成为iPhone上的默认地图的可行性步骤。如何在iPhone中使Google地图成为默认地图将Google地图设置为手机上的默认地图应用程序比您想象的要容易。请按照以下步骤操作–先决条件步骤–您必须在手机上安装Gmail。步骤1–打开AppStore。步骤2–搜索“Gmail”。步骤3–点击Gmail应用旁

AppleVisionPro头戴式设备本身与电脑不兼容,因此您必须将其配置为连接到Windows电脑。自推出以来,AppleVisionPro一直备受追捧,拥有其尖端功能和广泛的可操作性,很容易理解原因。虽然您可以对其进行一些调整以适应PC,并且其功能在很大程度上取决于AppleOS,因此其功能将受到限制。如何将AppleVisionPro连接到我的电脑?1.验证系统要求你需要最新版本的Windows11(不支持自定义电脑和Surface设备)支持64位2GHZ或更快的快速处理器高性能GPU,最

HQL和SQL在Hibernate框架中进行比较:HQL(1.面向对象语法,2.数据库无关的查询,3.类型安全),而SQL直接操作数据库(1.与数据库无关的标准,2.可执行复杂查询和数据操作)。

iPhone上的Shazam应用程序有问题?Shazam可帮助您通过聆听歌曲找到歌曲。但是,如果Shazam无法正常工作或无法识别歌曲,则必须手动对其进行故障排除。修复Shazam应用程序不会花费很长时间。因此,无需再浪费时间,请按照以下步骤解决Shazam应用程序的问题。修复1–禁用粗体文本功能iPhone上的粗体文本可能是Shazam无法正常运行的原因。步骤1–您只能从iPhone设置中执行此操作。所以,打开它。步骤2–接下来,打开其中的“显示和亮度”设置。步骤3–如果您发现启用了“粗体文本

《苍翼混沌效应》拥有众多角色,每位角色均拥有独特的身份和背景故事。为此,小编特为各位玩家整理了苍翼混沌效应角色介绍。苍翼混沌效应有几个角色答:有7个角色。1、【死神】拉格纳·查·布拉德艾奇(外号RG、尼桑)其与弟弟、妹妹曾由教堂修女抚养,在一天,六英雄之一的反派闯入,杀害修女,烧毁教堂,带走妹妹,留下弟弟“事象兵器”冰剑雪女。2、诺爱尔·梵蜜利昂梵蜜利昂家的养女,与拉格纳的妹妹长得几乎一样。毕业后进入统御机关工作,作为拉格纳弟弟的秘书官。3、λ-11统称拉姆达、十一妹。原开发者放弃后,九重救下并

Oracle和DB2是两个常用的关系型数据库管理系统,它们都有自己独特的SQL语法和特点。本文将针对Oracle和DB2的SQL语法进行比较与区别,并提供具体的代码示例。数据库连接在Oracle中,使用以下语句连接数据库:CONNECTusername/password@database而在DB2中,连接数据库的语句如下:CONNECTTOdataba

您的手机中缺少时钟应用程序吗?日期和时间仍将显示在iPhone的状态栏上。但是,如果没有时钟应用程序,您将无法使用世界时钟、秒表、闹钟等多项功能。因此,修复时钟应用程序的缺失应该是您的待办事项列表的首位。这些解决方案可以帮助您解决此问题。修复1–放置时钟应用程序如果您错误地从主屏幕中删除了时钟应用程序,您可以将时钟应用程序放回原位。步骤1–解锁iPhone并开始向左侧滑动,直到到达“应用程序库”页面。步骤2–接下来,在搜索框中搜索“时钟”。步骤3–当您在搜索结果中看到下方的“时钟”时,请按住它并

您在尝试使用应用程序时是否收到“无法允许访问摄像头和麦克风”?通常,您可以在需要提供的基础上向特定对象授予摄像头和麦克风权限。但是,如果您拒绝权限,摄像头和麦克风将无法工作,而是显示此错误消息。解决这个问题是非常基本的,你可以在一两分钟内完成。修复1–提供相机、麦克风权限您可以直接在设置中提供必要的摄像头和麦克风权限。步骤1–转到“设置”选项卡。步骤2–打开“隐私与安全”面板。步骤3–在那里打开“相机”权限。步骤4–在里面,您将找到已请求手机相机权限的应用程序列表。步骤5–打开指定应用的“相机”
