在 SQL Azure 中如何创建只读用户

Posted

技术标签:

【中文标题】在 SQL Azure 中如何创建只读用户【英文标题】:In SQL Azure how can I create a read only user 【发布时间】:2011-02-16 04:07:40 【问题描述】:

我想创建一个 SQL Azure 用户并授予她对少数数据库的只读访问权限,我可以使用什么脚本来实现此目的?

【问题讨论】:

仅供参考msdn.microsoft.com/en-us/library/ee336235.aspx 【参考方案1】:

纯 TSQL 脚本非常混乱,SQL Azure 禁用了USE 命令,因此您无法打开与每个需要授予用户读取权限的数据库的连接。

这是模式的要点。

在主数据库中:

CREATE LOGIN reader WITH password='YourPWD';
-- grant public master access
CREATE USER readerUser FROM LOGIN reader;

在每个目标数据库中(需要单独的连接)

CREATE USER readerUser FROM LOGIN reader;
EXEC sp_addrolemember 'db_datareader', 'readerUser';

【讨论】:

为什么主数据库中有“CREATE USER...”?在我查看的所有文档中,它只说您必须在目标数据库中创建用户...只是好奇... 古老的答案和旧的评论,但对于任何感兴趣的人......我认为他已将创建用户包含在主数据库中,因此用户(readerUser)可以通过 Management Studio 登录到服务器实例 - 如果用户在 master 下不存在,他们将无法在 Management Studio 中使用 SQL 身份验证登录。 在对象级别授予权限或对选定的表检查this和this,希望有所帮助。【参考方案2】:

或者...使用 Azure 用户管理控制台 - AUMC 来管理登录名和用户。

这是一个开源项目,可在 codeplex AUMC.codeplex.com 上找到

项目描述

Azure 用户管理控制台 - AUMC 是一个用户 管理 Azure 的用户和登录的图形界面 (GUI) SQL 数据库。该工具只是将您的操作转换为 T-SQL 命令并在 Azure SQL 数据库上执行。

带有用户界面的快速简单工具!大学教师

享受吧!

【讨论】:

将您的数据库凭据插入刚刚从互联网下载的应用程序中有点令人毛骨悚然......只是说......【参考方案3】:

您无需在 ma​​ster 数据库上创建登录名即可创建新用户(这需要建立单独的连接)

CREATE USER user1 WITH password='<Strong_Password>';

https://azure.microsoft.com/en-us/documentation/articles/sql-database-manage-logins/

【讨论】:

以上是关于在 SQL Azure 中如何创建只读用户的主要内容,如果未能解决你的问题,请参考以下文章

sql 如何在PostgreSQL中创建只读用户

sql server创建只读用户访问指定表

无法使用新用户登录 Azure SQL

sql 搜索创建的新用户的Azure AD审核日志

Azure SQL - 如何将 AD 用户添加到 SQL 池数据库

如何在与 Azure Active Directory 关联的 Azure SQL 数据库级别创建不同的资源组