database - 查询以获取授予 Azure SQL 数据库的角色和权限?

标签 database azure azure-sql-database

我执行了以下脚本来创建具有有限权限的 mydb_user 和 mydb_admin。

第 1 步:在 azure masterdb 上运行这些脚本

CREATE LOGIN mydb_admin 
WITH PASSWORD = 'nnn' 
GO
CREATE LOGIN mydb_user 
WITH PASSWORD = 'nnnnnnnnn' 
GO

第 2 步:在实际的 Azure 数据库(例如 mydb)上运行以下脚本

CREATE USER mydb_admin  FROM LOGIN mydb_admin ;
EXEC sp_addrolemember 'db_datareader', 'mydb_admin';
EXEC sp_addrolemember 'db_datawriter', 'mydb_admin';
GRANT CONNECT TO mydb_admin;
GRANT SELECT TO mydb_admin;
GRANT EXECUTE ON [dbo].[procDumpRowsInto_De_Common] TO [mydb_admin] AS [dbo]

CREATE USER mydb_user FROM LOGIN mydb_user;
EXEC sp_addrolemember 'db_datareader', 'mydb_user';
EXEC sp_addrolemember 'db_executor', 'mydb_user';
GRANT CONNECT TO mydb_user;
GRANT SELECT TO mydb_user;

现在我想看看角色和权限设置是否正确。我可以运行查询来查看此内容吗?例如,我想查看数据库 myDb 上 dbuser mydb_user、mydb_admin 的有效角色和权限?

最佳答案

你是对的,Azure SQL DB 上不存在 fn_my_permissions。您可以调用 select HAS_PERMS_BY_NAME (db_name(), 'DATABASE', 'SELECT') 或您想要检查的其他权限,来检查是否直接或通过角色授予特定权限。

关于database - 查询以获取授予 Azure SQL 数据库的角色和权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35138595/

相关文章:

azure - 我们可以通过 Azure AD B2C 的身份验证获取电子邮件和密码吗

azure - 使用 SQL Azure 管理每个用户数据

azure - 在 Azure Pipeline 上使用 Terraform 删除或添加 Azure SQL 的资源锁需要什么权限

Java Persistence 与 self 的多对多关系

azure - Azure 表存储分区键是否仅优化查询?

ios - 谓词的核心数据提取请求错误

linux - 无法从 kubernetes pod 挂载 azure 文件共享(在本地计算机上工作正常)

sql-server - SQL DELETE 花费太多时间

javascript - Oracle 删除语句在 JS 中不起作用

java - 尝试将 Assets 文件夹中找到的数据库复制到应用程序的数据库文件夹中时遇到的问题