【发布时间】:2022-06-14 02:10:27
【问题描述】:
我正在使用 Azure 自动化 Runbook 使用“用户分配的托管标识”在同一区域备份 APIM。已将角色分配“存储帐户参与者”分配给用户分配的托管标识。还将 APIM 控制面板 IP 的 IP 地址列入白名单,即我们东部的“20.44.72.3”2。做这一切仍然我得到错误
Body:
{
"error": {
"code": "InvalidParameters",
"message": "Invalid parameter: This request is not authorized to perform this operation.\r\nParameter name: backupContainerName (value: [apimbackup])",
"details": null,
"innerError": null
}
}
PowerShel 脚本:
$AzureContext = (Connect-AzAccount -Identity -AccountId XXXX-e9f9-XXXX-ad22-95f821a2c9bc).context
# set and store context
$AzureContext = Set-AzContext -SubscriptionName $AzureContext.Subscription -DefaultProfile $AzureContext
$storageKey = (Get-AzStorageAccountKey -ResourceGroupName "rg-nau2d-XXXX-01" -StorageAccountName "stornau2dXXXXXX")[0].Value
$storageContext = New-AzStorageContext -StorageAccountName "stornau2dXXXXXX" -StorageAccountKey $storageKey
$storageKey
$StorageContext
$resourceGroupName="rg-nau2d-XXXX-01";
$apiManagementName="apim-01";
$containerName="apimbackup";
$backupName= $apiManagementName +"blob1";
$clientId = "XXXX-e9f9-XXXX-ad22-95f821a2c9bc"
Backup-AzApiManagement -Debug -ResourceGroupName $resourceGroupName -Name $apiManagementName -StorageContext $storageContext -TargetContainerName $containerName -TargetBlobName $backupName -AccessType "UserAssignedManagedIdentity" -IdentityClientId $clientId -PassThru
【问题讨论】:
-
不完全确定,但我认为您需要将
Storage Blob Data Contributor分配给它。Storage Account Contributor不包含数据平面操作权限。我认为 APIM 备份需要存储为 blob,在这种情况下,它需要访问上述角色将提供的 blob 操作。 -
不会抛出同样的错误。
标签: azure azure-storage azure-api-management azure-runbook