Ale*_*zis 1 azure azure-active-directory azure-sql-database
我在 Azure SQL 中创建了数据库并配置了 Azure 身份验证,因此我可以使用我的 Azure AD 帐户通过 SQL Management Studio 连接到数据库。然后我从其他 Azure AD 添加了用户,当我执行时CREATE USER [user@mytenant1.onmicrosoft.com] FROM EXTERNAL PROVIDER出现错误
找不到主体“user@mytenant1.onmicrosoft.com”或不支持此主体类型。
此用户user@mytenant1.onmicrosoft.com在我的 Azure AD 中作为受邀来宾用户。
我究竟做错了什么 ?
所以最后我成功了。原因是邀请使用必须接受邀请。由于我邀请的用户没有真实的电子邮件,我(或某人)必须以某种方式“单击”邀请链接。我是通过 PowerShell 完成的。
需要执行以下步骤来授予访客用户读取访问权限:
Install-Module AzureAdConnect-AzureADNew-AzureADMSInvitation -InvitedUserEmailAddress "<user_email>" -InviteRedirectUrl "https://portal.azure.com" -SendInvitationMessage $false -InvitedUserType "Guest"。其中< user_email>邀请用户的电子邮件。该命令的结果将是具有属性的对象,其中之一是邀请链接。
注意:首先将其复制到记事本中并格式化,然后复制到浏览器中并接受邀请,或将其发送给拥有此帐户的人。 CREATE USER [<user principal>] FROM EXTERNAL PROVIDER。诀窍是受邀用户的<用户主体>具有“EXT”格式。要获得正确的主体,只需执行Get-AzureADUser- 此命令列出具有真实用户主体名称的用户。例子:
真实电子邮件:user1@dep1.myorg.com
主体名称:user1_dep1.myorg.com#EXT#@targetazuread.onmicrosoft.com
复制对应的principal并运行CREATE USER...
对于我的情况,最后一步是授予新用户读取权限,因此我调用EXEC sp_addrolemember 'db_datareader', '<user principal>'
结果我可以与受邀用户连接到数据库。Get-AzureADUser我还知道在哪里可以通过powershell 命令(Azure AD 模块)查看真实的用户主体。
| 归档时间: |
|
| 查看次数: |
2953 次 |
| 最近记录: |