Din*_*Liu 2 azure azure-active-directory azure-sql-database azure-sql-server
作为Azure SQL数据库自动化解决方案的一部分,我试图使用服务主体创建映射到Azure AD身份的 Azure SQL数据库用户。
结果是一条错误消息,提示:此时找不到主体'AAD_User_UPN_or_Group_Name'。请稍后再试。
可以按照完全相同的步骤,使用我自己的用户帐户创建数据库用户。
请在下面找到更多详细信息:
服务主体在Azure SQL数据库中执行以下T-SQL语句:
CREATE USER [AAD_User_UPN_or_Group_Name] FROM EXTERNAL PROVIDER;
Run Code Online (Sandbox Code Playgroud)
返回的错误消息是:
Principal 'AAD_User_UPN_or_Group_Name' could not be found at this time. Please try again later.
Run Code Online (Sandbox Code Playgroud)
当我自己的用户帐户触发相同的T-SQL语句时,该语句成功运行并创建了用户。
非常感谢您的帮助或建议。
我在Azure支持下打开了一张票,他们给了我这个解决方案。
sql语句必须为:
create user [myAADGroupName] with sid = <sid>, type = X; -- type X for AAD Group
create user [myAADUserName] with sid = <sid>, type = E; -- type E for AAD User
Run Code Online (Sandbox Code Playgroud)
sid需要从AAD主体ObjectID生成。这是一个生成sid值的powershell脚本:
param (
[string]$objectId
)
[guid]$guid = [System.Guid]::Parse($objectId)
foreach ($byte in $guid.ToByteArray())
{
$byteGuid += [System.String]::Format("{0:X2}", $byte)
}
return "0x" + $byteGuid
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
628 次 |
| 最近记录: |