保护 LocalDB 免受用户访问

2023-12-04

我正在考虑使用 SQL LocalDB 作为客户端数据库,它将取代 .net 4 中开发的内部应用程序中当前的 SQL CE 3.5 数据库。

我遇到了一个问题,我不确定如何解决,这与 LocalDB 实例的安全设置有关。

如果我在 .net 内设置一个脚本来创建私有 LocalDB 实例,例如(localdb)\T1,然后在该实例中创建一个新数据库并添加一个SQL用户帐户+密码(非域帐户),如何阻止具有管理员级别权限的本地Windows用户(例如我自己的AD帐户)访问使用 SSMS 的“T1”实例 + 数据库?

我可以看到一个场景,我们部署应用程序,然后我们有一些精通 IT 的用户四处窥探并决定安装 SSMS 并使用他们的 Windows 帐户连接到 (localdb)\T1,这将给予他/她完全访问权限到数据库,这正是我试图阻止发生的事情。

我们的一些员工在没有连接到域的情况下远程工作,因此我们为他们的电脑提供本地管理员权限,以便他们可以安装软件,因此即使我可以阻止他们指定的 Windows 登录名,也没有什么可以阻止他们设置新的本地管理员帐户并使用该帐户登录,打开 SSMS 然后访问数据库。

对此的任何指示将不胜感激!


事实上,它不应该那么难。使用本地管理员帐户在客户端计算机上安装 SQL Server。为了让您的生活更轻松,请使用混合身份验证。

安装实例后,本地管理员帐户应该分配有 sysadmin 服务器角色(这是正常的安全设置)。现在,使用以下命令:

  1. 创建新的 SQL Server 用户并将 sysadmin 服务器角色分配给该帐户。关闭 SSMS 并使用新凭据登录。或者简单地使用 sa 帐户(不是很好的做法,但在这种情况下没关系)。

  2. 转到“安全 - 登录”并从本地管理员中删除系统管理员角色。另外,检查用户映射并从本地管理员“夺走”所有权限。

作为测试,尝试以本地管理员身份登录,我想您将无法登录服务器,因为该用户没有“主”数据库。但即使可以登录,也只有“公共”角色。

由您来安装数据库并保护它 - 向您选择的用户分配权限。

关于您担心本地管理员可以再次安装 MSSQL:他/她可以安装它,但这将是另一个实例。该实例对您实例中的用户一无所知,因此您应该是安全的。

您还可以考虑使用应用程序角色在 SQL 服务器中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

保护 LocalDB 免受用户访问 的相关文章

  • 如何将表中不存在但原始SQL中存在的实体字段设置为别名?

    假设我们有一个这样的查询 SELECT CUSTOM EXPRESSION as virtualfield FROM users 用户的实体本身具有 虚拟字段 但映射注释没有 因为表没有该字段 假设它作为原始 SQL 执行 我们如何使用上面
  • 月份增量查询

    我想通过添加 1 个月来更新数据库中的月份 但我不知道如何在以下存储过程查询中添加月份 我不擅长 sql 请检查它 ALTER PROCEDURE dbo ChangePassword password varchar 20 epasswo
  • 为什么我可以像调用实例方法一样调用类方法?

    我正在查看这个例子 class SQLObject def self columns return columns if columns columns DBConnection execute2 lt lt SQL first SELEC
  • 自定义代码访问安全属性

    我创建了以下属性 Serializable AttributeUsage AttributeTargets Class AttributeTargets Method AllowMultiple true Inherited true pu
  • SQL - != 'NULL' 的解释

    我的SSMS代码如下 Select top 50 From FilteredContact Where statuscode 1 and emailaddress1 NULL and telephone1 NULL and address1
  • 如何获得顶部带有千位分隔符的数字?

    SELECT count FROM table A 假设结果是8689 我怎样才能将它转换为8 689在 SQL Server 上 尝试这样 select replace convert varchar convert Money coun
  • POINT 列上的 MySQL INSERT/UPDATE

    我正在尝试用我国家的地理位置填充我的数据库 我的一张表有 4 个字段 ID PK 纬度 经度和地理点 EDIT SCDBs Punto Geografico SET lat 18 469692 SET lon 63 93212 SET g
  • 如何找到多个列中的最小值

    我在我的 DB 3 col 中有一个值 我想在所有这些值中找到一个值 如下所述 表名 MyTable id col1 col2 col3 1 200 300 400 2 100 150 300 3 800 102 20 4 80 80 0
  • Apache Camel 2.14 Rest DSL 安全

    我想使用 Apache Camel 2 14 中新的 Rest DSL 来创建一个 Rest 接口 我想使用 Jetty 组件 并且我有一个如下所示的基本示例设置 Spring安全配置
  • 在单个 select 语句中多次有条件地求和同一列?

    我有一个表 显示每个月在给定位置的各种类型的部署的员工部署情况 ID Location ID Date NumEmployees DeploymentType ID 例如 一些记录可能是 1 L1 12 2010 7 1 Permanent
  • PL/pgSQL SELECT 到数组中

    这是我的函数声明和主体的一部分 CREATE OR REPLACE FUNCTION access update RETURNS void AS DECLARE team ids bigint BEGIN SELECT INTO team
  • 为什么 RFC 6797 禁止通过纯 HTTP 响应发送 Strict-Transport-Security 标头?

    在阅读 HSTS 严格传输安全 规范时 我看到了一条禁令第 7 2 节 https www rfc editor org rfc rfc6797 section 7 2禁止在通过 http 而不是 https 访问时发送标头 HSTS 主机
  • 串行类型的外键 - 确保始终手动填充

    我有两个表 国家和地区 CREATE TABLE Countries id SERIAL name VARCHAR 40 NOT NULL PRIMARY KEY id CREATE TABLE Regions id SERIAL coun
  • 需要按天分割日期时间范围

    我有一个需要根据日期时间拆分的表 输入表 ID Start End A 2019 03 04 23 18 04 2019 03 04 23 21 25 A 2019 03 04 23 45 05 2019 03 05 00 15 14 所需
  • SQL 2008全文索引填充延迟

    我的经理说 在基础表数据更改后 可能需要一段时间才能更新全文搜索索引 例如 如果我有一张桌子Products有一个柱子Description我更新了该描述 然后我可能需要一些时间才能搜索该新描述 真的吗 这需要多长时间 SQL 2008 对
  • Reporting Services 在哪里存储其日志文件

    最相关的谷歌结果似乎表明 为了访问日志 我们必须将您自己的日志表部署到数据库并制作报告服务写入它 http technet microsoft com en us library ms157403 aspx 简而言之 Reporting S
  • 保护 REST 和 JSON

    我想利用 RESTful 架构构建提供 JSON 数据的 Web 服务 但我只想要我自己的客户端应用程序可以从我的网络服务请求 基本上 我的 Web 服务包含不供公众使用的敏感数据 但我想以这种方式构建它 以便我可以构建连接到我的 Web
  • 实现软删除的最佳方法是什么?

    目前在做一个项目 我们要对大部分用户 用户角色 实现软删除 我们决定添加一个is deleted 0 数据库中每个表的字段并将其设置为 1 如果特定用户角色点击特定记录上的删除按钮 现在为了将来的维护 每个SELECT查询需要确保它们不包含
  • 快速查询最新记录的方法?

    我有一张这样的表 USER PLAN START DATE END DATE 1 A 20110101 NULL 1 B 20100101 20101231 2 A 20100101 20100505 在某种程度上 如果END DATE i
  • H2 用户定义的聚合函数 ListAgg 不能在第一个参数上使用 DISTINCT 或 TRIM()

    所以我有一个 DB2 生产数据库 我需要在其中使用可用的函数 ListAgg 我希望使用 H2 的单元测试能够正确测试此功能 不幸的是H2不直接支持ListAgg 但是 我可以创建一个用户定义的聚合函数 import java sql Co

随机推荐

  • 在 JPanel 之间切换

    我正在尝试制作一款游戏 游戏中有几个不同的屏幕 例如主菜单和实际的游戏屏幕 其中每一个都是一个单独的 jpanel 扩展 我已将它们中的每一个添加到我的 JFrame 中 这是一个名为 Game 的类 在我的游戏类中 我有以下方法 publ
  • 无法使用 FQL 获取 Facebook 群组中的所有用户

    我正在尝试使用以下 FQL 查询获取 Facebook 群组中每个用户的姓名 从 uid 所在的用户中选择名字 姓氏 从以下位置选择 uid group member 其中 gid 123 然而 该小组的 7000 名成员中 这只得到了大约
  • 如何计算 SQL Server 列中某个值连续出现的次数

    我有一张桌子Attendance在我的数据库中 Date Present 20 11 2013 Y 21 11 2013 Y 22 11 2013 N 23 11 2013 Y 24 11 2013 Y 25 11 2013 Y 26 11
  • 并行化 Numpy 向量运算

    让我们使用 例如 numpy sin 以下代码将返回数组中每个值的正弦值a import numpy a numpy arange 1000000 result numpy sin a 但我的机器有 32 个核心 所以我想利用它们 对于类似
  • 在鼠标下滚动窗口

    如果您查看一下 Visual Studio 2012 您会注意到 如果您使用鼠标滚轮 则鼠标下方的窗口将滚动 而不是焦点窗口 也就是说 如果将光标放在代码编辑器中 并将鼠标移到解决方案资源管理器窗口上并滚动 则解决方案资源管理器将滚动 而不
  • 为什么 python 中会缓存字符串对象

    这是示例 gt gt gt first string str This is some how cached gt gt gt second string str This is some how cached gt gt gt id fi
  • 在 Windows/Linux 上使用 python3 脚本检查可执行文件是 32 位还是 64 位

    我正在用 Python3 编写软件 更具体地说 Python 3 8 1 在某些时候 软件需要检查某个任意可执行文件是 64 位还是 32 位 经过一番研究 我发现了以下帖子 检查 exe 是 32 位还是 64 位 在这篇文章中 提供了以
  • 将 CPanel 中的所有 Google JDBC 服务 IP 地址列入白名单

    我正在尝试通过 JDBC 服务将 Google Docs 扩展连接到 MySQL 数据库 MySQL 数据库运行在需要使用 CPanel 的共享服务器上 CPanel 一次只能添加一个白名单规则 并且只能使用 通配符 与 0 个或多个任何类
  • EditorTemplate 中的 DropDownListFor 未选择值

    我有一个自定义对象的编辑器模板 在该编辑器模板中 我使用了几个 DropDownListFor 帮助程序 在每个模型中 我指定一个唯一的模型属性 带有预先选择的值 和包含所有选择选项的选择列表 Example 我知道正在填充选项值 从查看源
  • 如何防止jsoup转换特殊字符? [复制]

    这个问题在这里已经有答案了 请看下面的简化示例 public static void main String args String html n n n div n p 2 lt X p n div n n
  • Symfony2/Doctrine 2 - 转义密码中的特殊字符

    如何通过 Doctrine 转义用于数据库连接的密码 我的密码中有一个 Symfony2 会给我这个错误 SQLSTATE 28000 1045 Access denied for user user server using passwo
  • R 中向量的最大长度

    根据 R Memory limits 文档 不可能分配长度超过 2 31 1 的向量 这是因为用作索引的整数只能使用 31 位 符号位为 1 位 但在 64 位系统上 我应该能够分配更长的向量 为什么 R 在 64 位系统上施加相同的最大长
  • 如何在Java中将毫秒转换为“X分钟,x秒”?

    我想用记录时间System currentTimeMillis 当用户在我的程序中开始某些操作时 当他完成时 我将减去当前的System currentTimeMillis 来自start变量 我想使用人类可读的格式向他们显示经过的时间 例
  • AngularJS 发出模拟 httpGET 请求的问题

    所以我对 angularjs 及其模拟库很陌生 我正在尝试测试是否发出了特定的 GET 请求 但我总是在第二个断言中收到此错误 并且无法弄清楚原因 Error Unsatisfied requests GET 1 json 我下面的代码有什
  • 如何根据名称检测成员变量是否存在及其类型?

    我知道如何编写一个类 该类可以在编译时检测给定的类 T 是否具有具有给定名称和给定类型 Type 的成员 例如 include
  • 使用 MatMenuTrigger 上的 ViewChild 以编程方式打开 Angular 材质菜单

    如何使用按钮触发器上的模板引用变量以编程方式打开 Angular Material 菜单 使用 ViewChild 在组件中访问该变量 单击时菜单通常会打开 但我想在鼠标悬停时以编程方式打开它 鼠标悬停 事件处理程序给出错误 无法读取未定义
  • C# - 从任何字符串中查找 unicode 代码点的代理对的正则表达式?

    我正在尝试解析其中可能包含表情符号的消息 可以接收的示例消息如下所示 type chat msg UserName u00a0 ud83d ude0b n 应该匹配的是 u00a0 作为单个字符 ud83d ude0b 作为一对 我有正则表
  • 即使客户端断开连接,Grpc Server 也会继续处理数据

    我有一个服务器 它为给定的请求传输数据 下面是执行该功能的方法 Override public void getChangeFeed ChangeFeedRequest request StreamObserver
  • 符合 MSSCCI 的 Mercurial 客户端

    您好 我正在寻找兼容 Microsoft 源代码控制接口 MSSCCI 的 Mercurial 客户端 以便将 Mercurial 集成到我的 IDE 中 LabVIEW 我想HgSCC已经很接近了 因为它声称它使用 MSSCC 接口与 V
  • 保护 LocalDB 免受用户访问

    我正在考虑使用 SQL LocalDB 作为客户端数据库 它将取代 net 4 中开发的内部应用程序中当前的 SQL CE 3 5 数据库 我遇到了一个问题 我不确定如何解决 这与 LocalDB 实例的安全设置有关 如果我在 net 内设