首页 > 解决方案 > 在 Azure devops 发布管道中启用对 SQL Server 的公共访问

问题描述

为了在配置了 PrivateLink 的测试 Azure SQL 上运行迁移,我暂时启用公共访问,然后再次禁用它。

Set-AzSqlServer
  -ServerName $sqlServerName
  -ResourceGroupName $(IntegrationResourceGroupName)
  -PublicNetworkAccess "Enabled"

它工作了几个月,但最近我开始收到此错误消息。

Cannot find the Azure Active Directory object 'My_DB_Admins_Group_Name'.
Please make sure that the user or group or application you are authorizing is registered
in the current subscription's Azure Active directory. To get a list of Azure Active Directory
groups use Get-AzADGroup, or to get a list of Azure Active Directory
users use Get-AzADUser or to get a list of Azure Active Directory applications use Get-AzADApplication.

发布管道未修改。可能是什么原因?

我可以像我一样从我的本地机器上执行这个 PS 命令,它工作正常。

标签: azure-devopsazure-active-directoryazure-sql-database

解决方案


根据错误消息:azsqlserveractivedirectoryadministrator 仅过滤 azaduser 和 azadgroup。它不太可能寻找服务原则。您可以制作一个名为 dbas 或类似名称的天蓝色广告组。到该组,然后将服务主体添加到其中。

然后使用该 set-azsql 命令将该组添加到 sql server

    $sp = Get-AzADServicePrincipal -DisplayName "theserviceprincipalname"
Add-AzADGroupMember -MemberObjectId $($sp.id) -TargetGroupDisplayName "AAD Group Name"

Set-AzSqlServerActiveDirectoryAdministrator -ResourceGroupName 'data-eastus2'  -ServerName 'data-eastus2-sqlsvr' -DisplayName "AAD Group Name"

推荐阅读