【问题标题】:Read only user for Azure SQL DatabaseAzure SQL 数据库的只读用户
【发布时间】:2020-10-14 13:27:15
【问题描述】:

我是 SQL Server 身份验证方法的新手。我正在尝试学习创建一个可以从 Power BI 访问 Azure SQL 数据的只读用户。我已按照this 帖子中的建议创建了登录名和用户。我可以按照here 的建议使用“登录”和密码登录数据库。

我担心的是,因为我创建了用户并为他分配了“db_datareader”的角色;这如何保证我不能修改另一个数据库中的某些内容(因为可以有多个用户与具有不同角色的登录相关联)?有什么方法可以直接使用用户名登录数据库吗?

【问题讨论】:

    标签: azure azure-sql-database


    【解决方案1】:

    关于问题:

    我担心的是,因为我创建了用户并为他分配了“db_datareader”的角色;这如何保证我不能修改另一个数据库中的某些内容(因为可以有多个用户与具有不同角色的登录相关联)?有什么方法可以直接使用用户名登录数据库吗?

    我们知道,当我们创建只读用户时,我们需要遵循以下步骤:

    1. 在主数据库中创建登录
    2. 在用户数据库中创建只读用户并映射到登录。
    3. 将“db_datareader”角色更改为只读用户。

    对于 Azure SQL 数据库,Login 用于登录 Azure SQL Server 和用户访问数据库。

    我们不能将数据库角色更改为登录,它必须是用户级别。

    一个用户一次登录。如果您只授予用户 'db_datareader' 角色,它将是当前数据库的只读用户。

    例如,如果用户“A”是在数据库A中创建的,它只有对数据库A的访问权限。如果你只授予“A”'db_datareader'角色,它将是只读的用户。

    参考:https://docs.microsoft.com/en-us/azure/azure-sql/database/logins-create-manage

    希望这会有所帮助。

    【讨论】:

    • 感谢您的回复。您说我们需要登录才能访问服务器和用户才能访问数据库;但是我只需使用登录名进入服务器就可以从数据库中读取数据。我从未明确使用过“用户名”。
    • @abhi8569 用户被映射到登录,参考语句'create user for login'。例如,如果您使用登录名 A 登录 SQL 数据库,也意味着您使用的是用户 A。
    • 嗨@abhi8569a,通常,您可以创建与用户名相同的登录名。如果我的回答对你有帮助,希望你能接受(标记)为答案。这对其他社区成员可能是有益的。谢谢。
    • 嗨@Leon,我忙于其他工作。谢谢你的解释。
    猜你喜欢
    • 2014-07-20
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 2010-12-24
    • 1970-01-01
    相关资源
    最近更新 更多