azure-devops - 在 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 命令,它工作正常。
解决方案
根据错误消息: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"
推荐阅读
- dialogflow-es - DialogFlow PermissionDenied:403 IAM 权限“dialogflow.sessions.detectIntent”
- html - 根据第一列的值更改 HTML 表格中的行背景
- python - 如何找到函数 $f(\beta) = \gamma + [1-e^{-j\beta}]/[1-e^{(-j+1)\beta}]$ 的根,使用蟒蛇
- c++ - MRPT Graph Slam 最小示例
- sql - 使用 IF 语句为条目拉取布尔列标题
- assembly - 为什么内存(x86 / nasm)中的数据段之间有空的地址空间?
- d3.js - 在系列图中使用画笔时饼图未正确更新
- google-apps-script - 如何在团队驱动器中的服务帐户创建的电子表格中使用 GAS 功能?
- sql - 如何在sql server中跨服务器插入xml数据类型
- android - 用于 AOSP 开发的 Android Studio 中未显示布局设计预览。如何启用设计预览?