Обновлять:
После комментария Морада я нашел журнал, который показывает мне, что операции «CreateContainer», похоже, выполняются под другим IP ???????? Есть идеи, почему это могло произойти?
Исходное сообщение:
У меня есть учетная запись хранения Azure с включенным брандмауэром, и я пытаюсь создать контейнер больших двоичных объектов в учетной записи, используя конвейер сборки VSTS.
Конвейер управляется агентом, размещенным в Microsoft, и поэтому в рамках моего процесса я добавляю IP-адрес машины к брандмауэру перед созданием контейнера и удаляю его сразу после этого.
Проблема в том, что я получаю сообщение об ошибке 403 при запуске команды create blob.
Я попытался добавить время ожидания после добавления IP в брандмауэр, но даже если я подожду 5 минут, я все равно получаю 403.
Это сценарий, который я запускаю:
$MyIP = (Invoke-WebRequest 'https://ifconfig.me/ip' -Method Get).Content
Try {
Add-AzStorageAccountNetworkRule -ResourceGroupName $ResourceGroupName `
-Name $StorageAccountName `
-IPAddressOrRange $MyIP
$ctx = (Get-AzStorageAccount -ResourceGroupName $ResourceGroupName `
-Name $StorageAccountName).Context
New-AzStorageContainer -Name $ContainerName `
-Context $ctx
}
Finally {
Remove-AzStorageAccountNetworkRule -ResourceGroupName $ResourceGroupName `
-Name $StorageAccountName `
-IPAddressOrRange $MyIP
}
и это результат, который я получаю (вы можете видеть, что ip агента правильно добавлен)
Action IPAddressOrRange
------ ----------------
Allow 127.0.0.1
Allow 104.40.203.123 # This is the build agent IP
New-AzStorageContainer: C:\Users\Desktop\Test.ps1:15
Line |
15 | New-AzStorageContainer -Name $ContainerName `
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| This request is not authorized to perform this operation. HTTP Status Code: 403 - HTTP Error Message:
| This request is not authorized to perform this operation.
ErrorCode: AuthorizationFailure
| ErrorMessage: This request is not authorized to perform this operation.
| RequestId:9112d81a-e01e-002a-7935-331d33000000
Time:2020-05-26T08:11:04.9195569Z
Action IPAddressOrRange
------ ----------------
Allow 127.0.0.1
Примечание. Отключение брандмауэра работает, но я не могу этого сделать в продукте