Обновление:
После комментария Морада я нашел журнал, который показывает мне, что операции «CreateContainer», похоже, выполняются под другим IP ?? Есть идеи, почему это могло произойти?
Исходное сообщение:
У меня есть учетная запись хранения azure с включенным брандмауэром, и я пытаюсь создать контейнер больших двоичных объектов в учетной записи, использующей конвейер сборки VSTS.
Этот конвейер запускается агентом, размещенным на сервере Microsoft, и поэтому в моем процессе добавление IP-адреса машины к брандмауэру перед созданием контейнера, и удалив его сразу после этого.
Проблема в том, что я получаю сообщение об ошибке 403 при запуске команды create blob. брандмауэр, но даже если я жду 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-адрес агента правильный y добавлено)
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
Примечание: Отключение брандмауэра работает, но я не могу этого сделать в prod