SQL Server 2005从入门到精通 -- 学习笔记2 -- 数据库安全基本原则

在SQL Server 2005中,有以下几个概念需要区分:

  • 登录(Login)
  • 数据库用户(User)
  • 数据库角色(Role)
  • 应用程序角色(Application Role)
  1. 登录是在使用混合验证模式时候,登录到SQL Server的用户。使用语句如下:
    CREATE  LOGIN Mary
    WITH  PASSWORD  =   ' asdflk '  MUST_CHANGE,
    CHECK_EXPIRATION 
    =   ON ,
    CHECK_POLICY 
    =   ON ;

    可以使用如下的语句查看登录名:
    select   *   from  sys.sql_logins

    以下是一些授权语句:
    -- 在服务器角色中增加登录名
    EXECUTE  sp_addsrvrolemember  ' Mary '  ,  ' sysadmin ' ;
    -- 从服务器角色中删除掉登录名
    EXECUTE  sp_dropsrvrolemember  ' Mary ' ' sysadmin ' ;
    -- 单独授予权限
    GRANT   ALTER  TRACE  TO  Mary;
  2.   数据库用户和角色:单单可以让用户登录到数据库是不够的,我们需要对这些登录进行更加细致的权限的控制,这里使用了数据库用户和角色的方法。
    这里使用了RBAC(基于角色的权限控制),将权限赋予到角色身上,在将用户赋予角色,从而减少了维护权限结构的工作量。
    创建用户并联系到登录
    CREATE  LOGIN Peter  WITH  PASSWORD  =   ' asdf ' ;
    USE  DBNAME;
    GO
    CREATE   USER  Peter  FOR  LOGIN Peter;

    授权操作:
    -- 增加用户到角色
    EXECUTE  sp_addrolemember  ' Auditors ' ' Peter ' ;
    -- 检查是否是角色
    SELECT   IS_MEMBER ( ' db_owner ' )
    --  去掉用户
    EXECUTE  sp_droprolemember  ' Auditors ' , ‘Peter’;

    -- 小权限粒度的授予
    GRANT   BACKUP   DATABASE   TO  Peter
  3.   应用程序角色
    应用程序角色权限是特殊的数据库劫色,用户允许用户通过特定应用程序获取特定的数据。
    以下是一些代码:
    USE  DBNAME
    GO
    CREATE  APPLICATION ROLE FinancialRole
    WITH  PASSWORD  =   ' ASDF '

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值