You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Azure Pipeline中用Terraform操作Azure SQL资源锁的权限如何配置

所需权限配置

要操作Azure资源锁,需要给流水线使用的Azure AD身份(用户账号或Azure DevOps服务连接对应的服务主体)分配对应作用域下的以下权限:

  • 最小权限方案(生产环境推荐):自定义角色包含以下两个操作权限
    • Microsoft.Authorization/locks/write:支持创建、修改资源锁
    • Microsoft.Authorization/locks/delete:支持移除资源锁
  • 简化内置角色方案:直接分配内置的用户访问管理员或所有者角色,两类角色默认包含资源锁的全量操作权限,权限范围更大,适合测试环境使用。
具体操作步骤
  1. 登录Azure门户,进入权限分配的目标作用域:如果仅需操作单资源组下的SQL资源锁,进入对应资源组即可;如果需要跨资源组操作,进入对应生产订阅。
  2. 左侧导航栏选择【访问控制(IAM)】,进入权限管理页。
  3. 点击顶部【添加】按钮,选择【添加角色分配】。
  4. 角色选择:
    • 若使用内置角色:直接搜索并选中用户访问管理员/所有者,点击「下一步」。
    • 若使用自定义最小权限:先点击「创建自定义角色」,命名后在权限页搜索Microsoft.Authorization/locks,勾选写入和删除权限,保存自定义角色后再选中该角色进入下一步。
  5. 成员选择:点击「选择成员」,搜索你的流水线使用的Azure AD账号名称(或服务连接对应的服务主体名称),选中后点击「下一步」。
  6. 确认分配:核对作用域、角色、成员信息无误后,点击「分配」即可,权限会在1~5分钟内生效。
Terraform配置校验

你当前使用的资源锁配置代码没有问题:

resource "azurerm_management_lock" "hellodb_lck" {
  for_each = var.databases
  name       = "can-not-delete"
  scope      = azurerm_sql_database.hellodb[each.key].id
  lock_level = "CanNotDelete"
}

权限生效后重新执行流水线即可正常完成资源锁的增删改操作。

内容的提问来源于stack exchange,提问作者Kenny_I

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 20:06:04