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

前端之家收集整理的这篇文章主要介绍了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.

猜你在找的MsSQL相关文章