zoukankan      html  css  js  c++  java
  • SQL Server安全 2:身份验证

    下面是译文,你也可以看老外的文章:Stairway to SQL Server Security

    你需要保护你的server和数据,抵御当今复杂多变的攻击,在这些方面SQL Server都可以做到。但是在你使用这些安全有效的功能之前,你需要知道你面临的威胁和一些基本的安全概念。这篇文章是一些基础内容,以便您可以充分利用SQL Server的安全功能,不用浪费时间在数据安全方面。


    身份验证是一个核实主体的过程,验证一个用户或者需要访问SQL Server DB进程的权限。一个用户需要有唯一的标识,以便于SQL Server能够确定这个主体有哪些权限。在为访问DB提供保护的时候,第一步必须的就是正确的身份验证。

    SQL Server支持两种途径的身份验证:Windows和SQL Server身份验证。你使用的途径依赖于网络环境,访问数据库的应用程序类型和这些应用程序的用户类型。

    • Windows身份验证:这种身份验证的形式依赖于Windows,当用户登录到Windows的时候验证身份。访问SQL Server对象的权限是通过

        分配权限给Windows登陆账号来实现的。当SQL Server所在的Windows支持Windows NT 或者 Kerberos身份验证的时候,那么                   Windows身份验证是很有用的,在Windows 2000之后,这个几乎是一个标准了。

    • SQL Server身份验证:就其本身而言,SQL Server能够完全管理身份验证。这样的话,你就可以创建一个唯一的用户名(称之为 登录名)和一个密码。一个用户或者应用程序连接SQL Server并且申请证书去访问相关对象。可以将权限直接分配给账号,也可以通过membership在角色里面分配。

     配置SQL Server身份验证不是一个简单的非此即彼的选择在这两种类型之间,你可以配置身份验证使用以下两种方法之一:

    • 混合身份验证模式:这个Server支持SQL Server和Windows双重的身份验证。
    • 只是Windows模式:这个Server只支持Windows身份验证。

    微软强烈推荐尽可能的使用Windows身份验证。Windows拥有健全的身份验证的设置,包括密码策略,但是在实际的应用里面,Windows认证并不总是切实可行。SQL Server身份验证能嵌入Windows验证的一些功能,但是这总是不安全的。

    Windows Authentication

    如果你采用了Windows身份验证模式去配置SQL Server, SQL Server和Windows Server假定一种信任关系。当用户登录Windows的时候,

    SQL Server认为Windows已经认证这个用户,然后SQL Server检查这个用户,一些Windows组和一些SQL Server角色(用户可能是一个角色的成员,根据这个角色权限来决定该用户是否有权限访问一些数据库对象)

    Windows身份认证比SQL Server身份认证有以下几点优势:

     

  • 相关阅读:
    python分包写入文件,写入固定字节内容,当包达到指定大小时继续写入新文件
    java 封装及this 用法
    [效率提升] 记一次使用工具编辑正则表达式快速输出匹配结果
    java用星星符号打印出一个直角三角形
    java按行和列进行输出数据
    java 三种循环及注意事项
    数据的运算,求和,两数求最大,三数求最大,两数是否相等
    采用位异或方式将两个变量数值调换
    今天遇到一件开心事,在eclipse编写的代码在命令窗口中编译后无法运行,提示 “错误: 找不到或无法加载主类”
    定义 java 基本数据类型
  • 原文地址:https://www.cnblogs.com/ziqiumeng/p/10100724.html
Copyright © 2011-2022 走看看