Kod*_*ode 2 azure azure-active-directory azure-sql-database
我有一个Azure SQL Server,可以将SSMS插入其中。我还有一个Azure Active Directory,其用户名为mytestuser@mytest.onmicrosoft.com。我想添加此用户以对其Azure SQL Server中的数据库具有权限。第一步是尝试将其添加到Azure SQL Server的主要安全性中。
我已经在Master数据库上尝试了以下方法:
CREATE USER [mytestuser@mytest.onmicrosoft.com] FROM EXTERNAL PROVIDER;
CREATE USER mytestuser;
Run Code Online (Sandbox Code Playgroud)
但这会产生以下错误:
无法创建主体“ mytestuser@mytest.onmicrosoft.com”。只有使用Active Directory帐户建立的连接才能创建其他Active Directory用户。
和
“ mytestuser”不是有效的登录名,或者您没有权限。
如何将Azure Active Account添加到Azure SQL?一旦通过主服务器添加了它,使其显示在“安全性”中,我应该可以通过以下方式将其添加到任意数量的已创建数据库中:
CREATE USER mytestuser FROM LOGIN mytestuser;
Run Code Online (Sandbox Code Playgroud)
我能够连接并添加一个 Active Directory 用户,但它需要以下内容:
1) SQL Server Management Studio 2016 或更高版本具有 Active Directory 登录选项(我使用 Active Directory 密码身份验证)
2) 确保 Azure SQL Server 设置了 Azure Active Directory Admin。您将在步骤 1 中连接此帐户
在一天中浪费了4个小时尝试执行此操作之后,以下是对我有用的步骤:
我不敢相信我花了将近两个工作日来尝试做一些简单的事情,例如将用户添加到数据库中。这是难以置信的。(/ rantover)
小智 5
对我来说,有一个技巧,您可以使用 Active Directory - Integrated 在 SSMS 中执行一些步骤,并使用本地 SQL 身份验证执行一些步骤。这对我有用:
我在 Azure Sql Server 功能屏幕中设置了用于“Active Directory 管理员”设置的域帐户。然后我就可以使用在此帐户下运行的 SSMS 进行连接。
注意:为了简化以其他用户身份运行 SSMS,我使用了 runas:C:\Windows\System32\runas.exe /savecred /user:YourAdAdminUser@YourDomain.com "C:\Program Files (x86)\Microsoft SQL Server Management Studio 18 \Common7\IDE\Ssms.exe"
作为该用户运行,我使用 SSMS 身份验证选项“Active Directory - 集成”进行连接。从这里我在主数据库中运行了以下命令:
CREATE USER [YourAdAdminUser@YourDomain.com] FROM EXTERNAL PROVIDER WITH DEFAULT_SCHEMA = dbo
Run Code Online (Sandbox Code Playgroud)
然后,我使用本地 SQL 身份验证连接到 SSMS 中的同一服务器,使用设置为 Azure Sql Server 实例的“服务器管理员”的帐户登录。从这里我在主数据库中运行了更改角色命令:
ALTER ROLE dbmanager ADD MEMBER [YourAdAdminUser@YourDomain.com]
ALTER ROLE loginmanager ADD MEMBER [YourAdAdminUser@YourDomain.com]
Run Code Online (Sandbox Code Playgroud)
现在我可以返回到以 AD 管理员用户身份运行的 SSMS,从那里我可以运行上面的 CREATE USER 命令,但对于其他域帐户:
CREATE USER [OtherAccount@YourDomain.com] FROM EXTERNAL PROVIDER WITH DEFAULT_SCHEMA = dbo
Run Code Online (Sandbox Code Playgroud)
您可以决定运行上面的哪个数据库(例如,master 和您的非系统数据库)。
域用户现在可以使用“Active Directory - 集成”登录。请注意,如果您添加为 MFA 配置的域用户,则要使该用户使用 SSMS 登录,他们应选择 SSMS 身份验证选项“Azure Active Directory - 与 MFA 通用”,并且其用户名应带有“@”不是反斜杠。
| 归档时间: |
|
| 查看次数: |
5416 次 |
| 最近记录: |