Get-AzureRmSqlDatabase 还原点因身份验证错误而失败

Get-AzureRmSqlDatabaseRestorePoints fails with authorisation error

我正在尝试使用 Get-AzureRmSqlDatabaseRestorePointsNew-AzureRmSqlDatabaseRestorePoint 来管理 Azure Datwarehouse 还原点和使用 Powershell 的还原过程。调用此命令时出现授权错误。我在订阅和 sql 服务器级别拥有贡献者权限。

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

错误详情

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'."
  }
}

完整代码

$subscription = "Subscription A"
Login-AzureRmAccount -Subscription $subscription
Get-AzureRmSubscription
Select-AzureRmSubscription -Subscription $subscription

$resourceGroup = Get-AzureRmResourceGroup -Name $resourceGroupName
$server = Get-AzureRmSqlServer -ResourceGroupName $resourceGroup.ResourceGroupName -ServerName $serverName
$database = Get-AzureRmSqlDatabase -ServerName $server.ServerName -ResourceGroupName $resourceGroup.ResourceGroupName -DatabaseName $databaseName
New-AzureRmSqlDatabaseRestorePoint -RestorePointLabel $restorePointName -ResourceGroupName $resourceGroup.ResourceGroupName -ServerName $server.ServerName -DatabaseName $database.DatabaseName

谢谢!

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

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

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

  1. 订阅 IAM 政策

  1. 添加您的电子邮件

  1. 添加您的角色

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

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