sql-server - 访问 Azure SQL 数据库中的 AD 组
问题描述
我有一个客户创建了 SQL azure 数据库并尝试授予对他在数据库中的本地安全组帐户的访问权限。我们面临的挑战是本地组被命名为“组帐户”,即单词之间有空格。此帐户与 Azure AD 同步。
两个问题
1) 如何提供对 SQL Azure 数据库上的安全组的访问权限?我知道您会说使用如下语法,但在我的情况下不起作用 i) 名称中的单词之间有空格 ii) 这不是启用邮件的组,因此在中没有对应的 @domain.com此组的 Azure AD
从外部提供商创建用户 [name@domain.com]
解决方案
首先,您应该使用您的 AD 管理员帐户登录您的 Azure 数据库。
然后运行此查询(与提供的 juunas 相同)以将本地安全组添加到 Azure SQL 数据库。
CREATE USER [<Security Group Display Name>] FROM EXTERNAL PROVIDER WITH DEFAULT_SCHEMA = [<schema>];
正如您所说,您的“组帐户”名称中有一个空格,我尝试了相同的操作,它工作正常,没有错误。
例如,我使用 AD 管理员登录我的 Azure SQL 数据库,运行此查询以创建组帐户“test gp”。
CREATE USER [test gp] FROM EXTERNAL PROVIDER WITH DEFAULT_SCHEMA = [dbo];
运行SELECT * FROM SYS.DATABASE_PRINCIPALS
我们可以看到该组已在 Azure SQL 数据库中创建
我执行了 TSQL:EXEC sp_addrolemember 'db_owner', 'test gp';
似乎一切正常,但是当断开我的 SQL 数据库并尝试使用组帐户“ test gp@****.com
”登录时
您还可以参考这些博客:
我认为 Azure SQL 数据库不支持使用带有特殊字符的安全组名称来登录数据库,例如空格(空白)。
希望这可以帮助。
推荐阅读
- node.js - Angular 无法创建新项目
- kotlin - 如何使用 spring-data-jpa 将单个列查询为单个结果值?
- sql - Excel 2007 查询编辑器 - 大于功能
- autohotkey - 热键明显滞后,如何减少延迟?
- eclipse - 缺少在 Eclipse 中安装软件的要求
- hyperledger - Sawtooth - configure-onchain-perms 问题 -
- node.js - 如何在我的服务器上配置新的 NewRelic 密钥和代码以监视创建的新帐户上的应用程序
- javascript - 无法在 Spring Security 中加载静态内容
- python - 如何通过运行我的脚本离线保存
- scala - 在 Scala 中使用 Shapeless 从案例类创建“丰富”类型