Get-AzureRmSqlDatabaseRestorePoints失败,出现授权错误

时间:2018-08-07 06:25:53

标签: azure azure-sql-database azure-sqldw

我正在尝试使用 List<String> sample = new ArrayList<>(); sample.add("foo"); sample.add("bar"); sample.add("bizz"); sample.add("bazz"); BufferedWriter writer = new BufferedWriter(new FileWriter("out.txt")); sample.stream().forEach(s -> { System.out.println(s); try { writer.write(s + '\n'); } catch (IOException e) { e.printStackTrace(); } }); writer.close(); Get-AzureRmSqlDatabaseRestorePoints来管理Azure Datwarehouse还原点和使用Powershell进行还原的过程。调用此命令时,出现授权错误。我在订阅和sql服务器级别具有贡献者特权。

我注意到https的API调用请求中的订阅ID与我选择的订阅不同。 调用此命令时,如何强制这些命令使用我的活动订阅或我可以通过订阅。

错误详细信息

New-AzureRmSqlDatabaseRestorePoint

完整代码

Body:
   {
    "error": 
    "code": "AuthorizationFailed",
    "message": "The client 'xxxxxxx' with object id 'xxxx-xxxx-xxxx-xxxx' does not have authorization to perform action 'Microsoft.Sql/servers/databases/restorePoints/read' over scope 
'/subscriptions/Subscription B/resourceGroups/DataWarehouse-SIT-rg/providers/Microsoft.Sql/servers/servername/databases/DataWarehouse'."
  }
}

谢谢!

3 个答案:

答案 0 :(得分:0)

该错误本身表明您的帐户对还原点(Microsoft.Sql / servers / databases / restorePoints / read)没有读取权限。您可以验证权限还是尝试其他帐户?

答案 1 :(得分:0)

检查您的订阅IAM中是否具有足够的权限

https://docs.microsoft.com/en-us/azure/role-based-access-control/role-assignments-portal

  1. Subscription IAM Policy

enter image description here

  1. 添加您的电子邮件

enter image description here

  1. 添加您的角色

enter image description here

P.S:您需要联系您的订阅所有者以执行上述步骤。

答案 2 :(得分:0)

升级AzureRM模块后,问题已解决。该问题在模块版本5.7.0中存在,但在版本6.6.0中已解决。