微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql-server – 如何在SQL Server 2008中分配整个Active Directory组安全访问?

我想在我的内部应用程序中使用集成安全性,这些应用程序都在域上.不幸的是,我从来没有能够让这个工作得很好.我想在sql Server中为整个Exchange(Active Directory)组分配一个角色,以便对某些表进行读/写访问.这样,每当有人被雇用时我都不必创建一个操作符,或者每当有人被解雇时都会删除一个操作符.这可能吗?我会采取什么步骤来做这件事?

解决方法

>将AD组设置为登录名.并且“登录”表示服务器级登录而不是用户/登录的AD概念.在sql Server中,这是服务器级主体
>创建一个映射用户.您不应该直接在表上允许用户.而“用户”是指数据库用户而不是用户的AD概念:在sql Server中,这是一个数据库级别的主体”
>将用户添加到角色(也是“数据库级别主体”)
>对表上角色的GRANT权限(表或proc等是“安全”)

示例脚本

USE master;
GO
CREATE LOGIN [MYDOMAIN\APPLICATION SUPPORT] FROM WINDOWS;
GO
USE mydb;
GO
CREATE USER [MYDOMAIN\APPLICATION SUPPORT] FROM LOGIN [MYDOMAIN\APPLICATION SUPPORT];
GO
CREATE ROLE rSupport;
GO
EXEC sp_addrolemember 'rSupport','MYDOMAIN\APPLICATION SUPPORT';
GO
GRANT SELECT,INSERT,UPDATE,etc ON Mytable TO rSupport;
GO

sql Server 2012开始,不推荐使用sp_addrolemember,而应使用ALTER ROLE.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐