azure 尝试使用Runbook中的托管标识创建SQL Server资源会导致禁止的结果

q7solyqu  于 7个月前  发布在  SQL Server
关注(0)|答案(1)|浏览(79)

我正在尝试在PowerShell Runbook中创建Azure SQL Server。我正在使用托管身份,我已将贡献者角色分配给我尝试在其中创建它的订阅。
这是代码行:

New-AzSqlServer -ResourceGroupName $rgName -ServerName $newServerName -Location $location -AssignIdentity -EnableActiveDirectoryOnlyAuthentication -ExternalAdminName $adminAccount

字符串
我得到了这样的回应:
操作返回了无效的状态代码“禁止”
在这条令人反感的线路之前,我连接如下:

Disable-AzContextAutosave -Scope Process
$context = (Connect-AzAccount -Identity -AccountId "<account-client-id>").context 
Select-AzSubscription -SubscriptionId $subscriptionId
$context = Set-AzContext -SubscriptionName $context.Subscription -DefaultProfile $context


我曾经有一个更简单的版本,但在检查与微软文档,这是推荐的方式来做.当它连接一切似乎都在其位置,租户,订阅,托管身份客户端ID...

uqxowvwt

uqxowvwt1#

我有一个名为**srimanaged的托管身份,在订阅下分配了Contributor角色,如下所示:
x1c 0d1x的数据
现在,我在我的自动化帐户下添加了这个
托管身份**:



当我在我的环境中运行你的代码时,我得到了相同的错误如下:

Disable-AzContextAutosave -Scope Process
$context = (Connect-AzAccount -Identity -AccountId "<account-client-id>").context 
$subscriptionId = "subId"
Select-AzSubscription -SubscriptionId $subscriptionId
$context = Set-AzContext -SubscriptionName $context.Subscription -DefaultProfile $context

$rgName = "Sri"
$newServerName = "sqlserver0711"
$location = "Central US"
$adminAccount = "Testuser"
New-AzSqlServer -ResourceGroupName $rgName -ServerName $newServerName -ServerVersion "12.0" -Location $location -AssignIdentity -EnableActiveDirectoryOnlyAuthentication -ExternalAdminName $adminAccount

字符串

回复:



解决错误,请尝试将**User Administrator角色分配给您目录下的托管身份**:

  • 转到Azure门户-> Microsoft Entra ID ->角色和管理员->所有角色->选择“用户管理员”->添加分配 *



当我在分配角色后再次运行相同的脚本时,我得到了如下的响应

Disable-AzContextAutosave -Scope Process
$context = (Connect-AzAccount -Identity -AccountId "<account-client-id>").context 
$subscriptionId = "subId"
Select-AzSubscription -SubscriptionId $subscriptionId
$context = Set-AzContext -SubscriptionName $context.Subscription -DefaultProfile $context

$rgName = "Sri"
$newServerName = "sqlserver0711"
$location = "Central US"
$adminAccount = "Testuser"
New-AzSqlServer -ResourceGroupName $rgName -ServerName $newServerName -ServerVersion "12.0" -Location $location -AssignIdentity -EnableActiveDirectoryOnlyAuthentication -ExternalAdminName $adminAccount

回复:

x1c4d 1x的
为了确认这一点,我在Portal中进行了同样的检查,SQL Server成功地使用以下属性创建了


更新:

如果您更喜欢最低权限,则可以通过允许特定权限读取用户来创建自定义目录角色。有关在Microsoft Entra ID中创建自定义角色的信息,请参阅此**MS Doc
或者,尝试将
Directory Reader**角色分配给托管身份,而不是分配 User Administrator 角色。

相关问题