Пиринг в Azure - 2-я подписка "не найден у арендатора" - PullRequest
0 голосов
/ 02 апреля 2019

Когда я пытаюсь использовать Powershell для создания одноранговой ссылки в Azure между виртуальными сетями в разных подписках, но в одном и том же клиенте, я получаю следующие сообщения об ошибках.

Без указания арендатора:

Set-AzureRmContext: укажите действующего арендатора или действующую подписку.

Итак, я попытался указать арендатора:

Get-AzureRmSubscription: подписка не найдена у арендатора ****. Пожалуйста, убедитесь, что подписка существует в этом арендаторе.

Я использую Jenkins с учетной записью root, которая имеет доступ к подписке dev. Я устанавливаю эти учетные данные, используя привязки принципала службы Microsoft Azure, до запуска задания.

Кто-нибудь знает, как я могу кодировать свой скрипт Powershell, чтобы конец Azure распознавал 2-й идентификатор подписки, к которому я пытаюсь подключиться?

Текущий код ниже.

Write-Host "Create Vnet Peering from dev-vnet to test-centralhub-vnet"

$Subscription1 = Get-AzureRmSubscription -TenantId '(sanitised for Stackoverflow)' -SubscriptionId '(sanitised for Stackoverflow)'
Set-AzureRmContext -Subscription $subscription1
$Vnet1 = Get-AzureRmVirtualNetwork -name 'test-centralhub-vnet' -ResourceGroupName 'test-networks-hub-rg'

$Subscription2 = Get-AzureRmSubscription -TenantId '(sanitised for Stackoverflow)' -SubscriptionId '(sanitised for Stackoverflow)'
Set-AzureRmContext -Subscription $Subscription2
$Vnet2 = Get-AzureRmVirtualNetwork -name 'dev-vnet' -ResourceGroupName 'networks-dev-rg'

Set-AzureRmContext -Subscription '(sanitised for Stackoverflow)'
Add-AzureRmVirtualNetworkPeering -Name 'dev-vnet_to_test-centralhub-vnet' -VirtualNetwork $Vnet2 -RemoteVirtualNetworkId $Vnet1.ID -UseRemoteGateways

1 Ответ

1 голос
/ 03 апреля 2019

Как отмечается в комментарии, учетная запись, в которую вы входите, должна иметь необходимые разрешения для создания пиринга виртуальной сети.Вы можете использовать одноранговые виртуальные сети, которые существуют в двух разных подписках, если привилегированный пользователь обеих подписок разрешает пиринг, и подписки связаны с одним и тем же клиентом Active Directory.

Список разрешений см. Разрешения на пиринг виртуальной сети .

Я просто проверяю это на своем местном Powershell.Моей учетной записи была назначена роль contributor на другом уровне подписки, а затем успешно запустите сценарии Powershell с той же учетной записью.

Если вы создаете пиринг с другой учетной записью в другой подписке.Вы можете войти в Azure, введя команду Connect-AzureRmAccount для каждой подписки.Подробнее из Создание пиринга - PowerShell .Обратите внимание, что скрипты связывания используют новый модуль Az.Вы можете использовать его для замены Az на AzureRm для AzureRm модуля.

enter image description here

...