问题标签 [database-permissions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 防止对某些表执行 SQL Server 表操作(INSERT 和 DELETE)
在我们的数据库上处理一些随机的 sql 查询时,我们可能不想通过错误地输入它们的名称来向某些数据库表插入或删除项目。那么如何让他们锁定到“编辑”状态,才能安全工作。
谢谢。
orm - 数据库权限和 ORM
我最近一直在使用 .NET 的 Entity Framework,并且完全不希望重新使用存储过程。尽管我正在为其构建此项目的公司有一项政策,即仅向应用程序授予仅有权访问存储过程的帐户,但我感到震惊!
显然,他们认为允许应用程序直接访问表/视图存在安全风险。我不明白这个。
- 我的第一个问题是,有人能告诉我直接访问数据库的应用程序可能会带来什么样的安全风险吗?和
- 如果是这种情况,是否有任何其他 ORM 解决方案可以提供解决方法(我想不出任何合乎逻辑的可能性 atm),可以让我规避对分配给我的用户帐户的限制?或者我是否理解我需要对表和视图的直接权限是错误的?
security - 保护 ASP.Net 用户数据库
我正在开发将托管在客户端服务器上的网络应用程序。
有各种限制/安全措施,我担心这些可能会被“黑客攻击”,因为客户端将通过 SSMS 直接访问 ASP.Net 用户数据库。
我可以想出几种方法来阻止用户这样做,但我很想知道是否有任何我应该遵循的特定标准?
sql-server - sql server 执行权限;未能应用权限
我刚刚从 SQL2000 迁移到 SQL2008,并且开始在使用 sp_OACreate 的存储过程上遇到执行权限问题。
系统的其余部分与已设置并添加到数据库的 db 登录一起正常工作。
我试过了:
但这失败并出现以下错误:
消息 15151,级别 16,状态 1,第 1 行找不到用户“dbuser”,因为它不存在或您没有权限。
我以具有完全权限的 sa 身份登录到服务器。我可以执行类似的 sql 语句并将权限应用于服务器角色,但不是登录/用户。
如何将更改应用到特定用户/登录名?
我可以将权限应用于公共角色,它解决了我的问题;但是,这对我来说似乎是一个安全问题,我真的不想将其应用于实时服务器。
oracle - 我无法使用 sqlplus 在 oracle 数据库中创建视图(权限不足)
我正在运行这个 SQL:
当我尝试创建视图时,出现此错误:
第 1 行出现错误:
ORA-01031:权限不足
这是为什么?我使用 sysman 登录到 sqlplus
mysql - 授予用户权限以仅查看 MySQL 视图而不是其他视图
这个问题最初是使用 MySQL 5.1.44,但也适用于 MySQL 8.0+。
假设我有一个表,其中包含由我的应用程序的不同用户插入的记录。如何授予特定用户访问权限以仅查看他/她在该表中的记录?我考虑过VIEW
用他/她的记录创建一个,但我不知道如何创建一个只能看到那个的 MySQL 用户VIEW
。
那么,是否可以创建一个只能访问单个的 MySQL 用户VIEW
?也可以让这个用户成为只读访问权限VIEW
吗?
谢谢!
PS:在我的示例中,我所说的用户实际上是希望使用自己的应用程序访问其记录的附属办公室。
sql-server - SQL Server: protect database from being changed directly
Our program ships with an SQL Server 2005 database and SQL Server 2005 Express. Usually it installs its own instance of SQL Server 2005 in the client's computer.
Now I have to add some tables whose content should only be updated from within the program. I need to prevent these tables from being changed directly, by using Management Studio for instance.
How can I achieve this? Should I set user permissions? Can I use encryption? I thought of setting my own 'sa' password for accessing the SQL Server instance and use it only from within the program, but that does not invalidate its access through Windows Authentication.
[Edit] Some clarification of what I'm trying to do. The program is a time and attendance program. The employees' clockings are collected from time clocks and saved in the database; once collected, these clockings cannot be deleted and their date and time values cannot be changed. So I need a way to prevent users from messing with these values directly in the database.
Bear in mind that the majority of our customers does not have any experience in SQL, so I need to have these permissions set upon program installation.
[Edit 2] Thank you for your answers, I would like to make two more questions related to this subject:
1 - Can I grant only SELECT permissions to those that access the DB through Windows Authentication?
2 - Is it possible/viable to protect a table against changes through a hash system? Like adding a hash column and calculate a hash for each row, then comparing the row data with the hash to check for changes?
sql-server - 创建一个 SQL Server 用户有权读取一个视图而没有其他权限 - 但他可以查看系统视图和过程?
我的公司聘请了一名承包商为我们做一个小项目,他需要从我们主数据库中的一个视图中选择数据 ( SQL Server 2005
)。
我想为他创建一个锁定SQL Server
登录,仅具有“他的”视图的权限SELECT
......而没有别的。
所以我在服务器上创建了一个新用户,然后我只给了他一个视图的权限:
基本上,这是可行的——他看不到我们的任何表和存储过程,也看不到除“他的”之外的任何视图。
但:
- 他可以访问所有系统视图
- 他可以访问所有系统存储过程。
显然他的权限被自动锁定(sys.objects
只显示他有权限的对象,sp_who
只显示他自己的进程等等)。
所以,我的问题是:
是否可以在不访问系统视图和存储过程的情况下创建用户?
(如果是,我做错了什么?)
或者是否有某些原因导致即使锁定的用户也需要访问系统视图和存储过程?
编辑:
kevchadders,用户无权访问 master、model 或 msdb - 只能访问具有他应该看到的视图的数据库。
但是,要明确一件事:用户可以看到的系统视图/过程在“他的”视图所在的数据库中......不在主数据库中。所以我不能禁用他的所有访问权限,因为他需要从同一个数据库中的一个视图中进行选择。
关键是,即使我只为他应该看到的单个视图明确设置权限,为什么他仍然可以看到系统视图/procs?
sql-server - 查看依赖项的 SQL Server 2008 权限
我想让一个对数据库具有只读访问权限的 SQL 服务器用户能够查看对象依赖项。作为系统管理员,我可以在 SSMS 中选择一个表并查看任何相关对象(视图、SPROC 等)。我的只读用户可以看到很少或根本看不到这些依赖项。我已经授予视图定义,但没有这样做。
有谁知道这是否有 SQL 服务器权限?
谢谢。
mysql - mysql跨表更新权限问题
我正在执行类似于以下的 MySQL 查询:
问题是,我没有categorylinks
表的 UPDATE 权限(我确实有权限my_articles
),所以查询失败并显示消息
我该如何解决这个问题?