对于我们的软件,我们需要一个能够创建其他 MySQL 用户的 MySQL 用户。这对于 MySQL root 用户是可能的,但我们不想在我们的软件应用程序中使用 root 用户。有没有办法创建一个可以创建其他用户的 MySQL 用户?
我在互联网上阅读了多个主题和页面,这些主题和页面说可以使用 GRANT OPTION。但是当我查看 MySQL 权限描述时,该权限是“GRANT OPTION 权限使您能够将您自己拥有的权限授予其他用户或从其他用户中删除。” 所以不提供创建用户的选项,只给他们你拥有的权限。
也许我理解错了,但我害怕在我们的服务器上做错事。这也是我提问的原因。
我希望有人可以向我解释是否可能以及如何创建具有我们所需权限的用户。
我尝试创建一个具有所有权限的用户,但出现此错误:
Microsoft SQL Server 管理工作室
为用户“Hru”创建失败。(Microsoft.SqlServer.Smo)
附加信息:
执行 Transact-SQL 语句或批处理时发生异常。
(Microsoft.SqlServer.ConnectionInfo)'Hru' 不是有效的登录名或您没有权限。(Microsoft SQL Server,错误:15007)
有人可以帮我解决这个问题吗?
我有一个位于意大利的链接服务器,server_italia
它连接到位于美国俄勒冈州的服务器ORDB1
我们在不同但受信任的域上。
从连接server_italia
到ORDB1
通过链接服务器使用具有登录和所要求的权限的SQL Server的帐户进行ORDB1
。
我是一个sysadmin
甚至domain admin
在我的域中,而我的server_italia
但我只sysadmin
在 .sql server 中ORDB1
。
有一个类似的问题:
但它没有提供the
答案。
这是我的链接服务器:
当我运行以下查询时,server_italia
我得到以下结果:
SELECT [the_server]=@@servername,
auth_scheme
FROM sys.dm_exec_connections WHERE session_id = @@spid ;
SELECT net_transport, auth_scheme
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;
Run Code Online (Sandbox Code Playgroud)
在俄勒冈州,我得到了这个:
如果我的美国同事得到:
在他们的服务器上设置 Kerberos 身份验证
配置约束委派,因为这将允许传递凭据,否则您可能仍会遇到双跳问题。– 在John Eisbrener的评论中添加
我可以在linked …
我团队中的一些开发人员知道具有扩展权限的 SQL 帐户的密码
我们希望在任何开发人员使用任何这些 SQL 帐户进行连接时进行跟踪并收到警报
我们即将logon trigger
为每次登录尝试实施该功能,评估登录的属性,并在符合特定条件时发送电子邮件报告。逻辑如下:
如果 original_login() 在(...此处列出 SQL 帐户...)并且:
a) 客户端 IP 地址是 192.168.xx VPN 子网(没有从该子网连接的生产应用程序,只有开发人员可以)或
b) 客户端主机名在(... Dev 的主机名称列表...)或
c)(SSMS、az-Data 等)中的客户端应用程序名称
exec sp_send_dbmail(通过电子邮件向 DBA 发送报告)
触发器将具有“execute as”子句并代表唯一权限是发送数据库邮件电子邮件的 SQL 登录名运行
在 Production 上启用这种登录触发器会产生什么不良副作用?
它会减慢登录过程或导致任何其他问题吗?
ps 我知道DAC
以及如何使用它。
测试连接使用DAC
并依靠它来帮助我在出现任何问题时禁用触发器
sql-server database-mail logins sql-server-2017 logon-trigger
我应该给用户或角色什么权限,以便它可以在数据库中创建登录或创建用户。
Enforce Password Expiration
启用选项的登录的“寿命”是多少?
在哪里可以找到更改时间的配置/选项?
是否可以使用SQL Server 管理对象 (SMO)编程更改密码过期的登录密码?
在工作时间内,我多次从生产服务器收到此消息。我在 SQL Server 中有一个“sa”级别的特权。
我试图在 sql server 2012 中找出谁创建了登录名和日期。任何机构都可以帮助解决这个问题,谢谢,
我一直在寻找原因,如何以及在何处使用无需登录的用户,但我没有找到我的确切问题或任何更接近的问题。我在哪里进行研究(我还阅读了其他帖子,看过 Youtube 视频):
我一直在寻找使我的数据库更安全的方法,最近我知道有一个选项可以在不登录的情况下创建用户。我认为这很好。但是我不明白如何使用它(不是创建,使用),然后经过我的研究,我意识到该用户在冒充另一个用户/角色的同时访问了数据库。我认为没有用户并以某种方式访问数据库会很棒。但是当我看到有一个叫做execute的东西时,我认为它没有用,因为我为什么要对这个“无需登录”的用户执行查询,因为它是另一个用户?为什么我不使用这个用户的权限?然后我想也许这个用户的权限太多了,所以我就创建了一个权限较少的新...
好吧,我不知道你为什么要创建一个没有登录的用户。这个应该怎么用?这很愚蠢,但我尝试登录并失败了(抱歉,我习惯于使用用户登录,我从没想过创建用户而不登录,我只知道用户登录了某些东西,这就是我的知识所在) .
所以,我不知道为什么要创建这种类型的用户而不是普通用户?我不知道如何(就像我登录一样,我是否只需输入查询并使用它)?我不知道在哪里(例如,我是否需要制作 C# 应用程序,我是否使用命令...)使用?
我的知识只带我到这里,我没有高级 DBA 可以问。如果可能,请用简单的语言解释。
logins ×10
sql-server ×9
permissions ×3
connectivity ×2
users ×2
audit ×1
kerberos ×1
mysql ×1
password ×1
security ×1
smo ×1