加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 如何在SQL Server 2008中分配整个Active Director

发布时间:2020-12-27 02:29:44 所属栏目:MsSql教程 来源:网络整理
导读:我想在我的内部应用程序中使用集成安全性,这些应用程序都在域上.不幸的是,我从来没有能够让这个工作得很好.我想在SQL Server中为整个Exchange(Active Directory)组分配一个角色,以便对某些表进行读/写访问.这样,每当有人被雇用时我都不必创建一个操作符,或者

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

解决方法

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

示例脚本

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

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

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读