azure-resource-manager - ARM 的部署:模板资源“sql”的授权失败
问题描述
我尝试使用 PS 和 ARM 部署 SQL Server 逻辑服务器。我可以在具有贡献者权限的门户上成功创建逻辑服务器,但无法弄清楚这里出了什么问题。
我在这里有 Windows 上的 PowerShell ISE。
ARM 模板是从https://github.com/Azure/azure-quickstart-templates/tree/master/101-sql-logical-server/复制和粘贴
//CODE
Connect-AzAccount -Credential $Credential -Tenant $tenant -Subscription $subscription
#ARM Deployment
$templateFile = "C:\Azure\SQLServer\azuredeploy.json"
New-AzResourceGroupDeployment `
-Name SQLDeployment `
-ResourceGroupName my-rg `
-TemplateFile $templateFile
错误:New-AzResourceGroupDeployment:17.35.18 - 错误:代码=无效模板部署;消息=模板部署失败并出现错误:'Microsoft.Storage/storageAccounts/providers/roleAssignments' 类型的模板资源 'sql vasvtmcp42o3wko/Microsoft.Authorization/11fd61df-2336-5b96-9b45-ffc7160df111' 的授权失败。客户'john.smith@mycompany。com' 对象 ID 为 '1115f3de-834b-4d28-a48f-ecaad01e3111' 无权在范围 '/subscriptions/1111111 11111111111111/resourceGroups/my-rg/providers/Microsoft 执行操作 'Microsoft.Authorization/roleAssignments/write' .Storage/storageAccounts/sqlvasvtmcp42o3wko/providers/Microsoft.Authorization/roleAssignments/11111df -2336-5b96-9b45-ffc7160df168'.'。
解决方案
我可以在具有贡献者权限的门户上成功创建逻辑服务器,但无法弄清楚这里出了什么问题。
因为您使用的模板将为您启用Advanced data security
,这将为您的 sql server 创建一个存储帐户和服务主体,然后将服务主体作为Storage Blob Data Contributor
角色自动分配给存储帐户。
要执行此操作,您的用户帐户需要是资源组Owner
或User Access Administrator
订阅中的或。或者您也可以创建一个自定义角色,其中包含Microsoft.Authorization/roleAssignments/write
,actions
那么该角色也可以做到这一点。
因此,总而言之,您有两种选择来解决此问题。
1.导航到门户中的资源组或订阅 -> Access control (IAM)
-> Add
-> 将您的用户帐户添加为上述角色,例如Owner
,然后它将正常工作。在此处查看详细信息。
2.部署模板时,在文件中指定enableADS
with 。然后它不会为您启用,您将能够使用模板创建 sql server。false
azuredeploy.parameters.json
Advanced data security
Contributor
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"serverName": {
"value": "GEN-UNIQUE"
},
"administratorLogin": {
"value": "GEN-UNIQUE"
},
"administratorLoginPassword": {
"value": "GEN-PASSWORD"
},
"enableADS": {
"value": "false"
}
}
}
推荐阅读
- php - 日历今天日期为红色
- javascript - 导出默认类抱怨名称
- excel - Excel poi 丢失列格式
- python - 使用 OpenCV (Python) 的图像掩码
- android - 将图像从自定义键盘发送到特定聊天
- android - Android P onStart 在 onActivityResult 之前调用
- c++ - 为什么 C++17 destroy()/destroy_n() 函数向前(而不是向后)运行?
- ios - NSLayoutConstraint:针对stackview中的视图进行布局是否是一种好习惯?
- angular - 删除查询错误(空)(.net核心,角度5)
- json - 如何在 React Js 中根据 json 类型的 aaray 显示 3 个或更多表单以构建动态表单