Propojení virtuálních sítí v různých předplatných s hlavními názvy služeb
Existují scénáře, kdy potřebujete propojit virtuální sítě v různých předplatných bez použití uživatelských účtů nebo účtů hostů. V tomto postupu virtuální sítě se dozvíte, jak vytvořit partnerský vztah mezi dvěma virtuálními sítěmi s hlavními názvy služeb (SPN) v různých předplatných. Partnerské vztahy virtuálních sítí mezi virtuálními sítěmi v různých předplatných a tenanty Microsoft Entra ID musí být v partnerském vztahu prostřednictvím Azure CLI nebo PowerShellu. V současné době není na webu Azure Portal k dispozici možnost peeringu virtuálních sítí s hlavními názvy služeb v různých předplatných.
Požadavky
Účet Azure se dvěma aktivními předplatnými a dvěma tenanty Microsoft Entra ID. Vytvoření účtu zdarma
Oprávnění účtu k vytvoření instančního objektu, přiřazení oprávnění aplikace a vytvoření prostředků v tenantovi Microsoft Entra ID přidruženém k jednotlivým předplatným.
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
- Tento článek s postupy vyžaduje verzi 2.31.0 nebo novější azure CLI. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.
Použité prostředky
Hlavní název služby (SPN) | Skupina prostředků | Předplatné nebo tenant | Virtuální síť | Umístění |
---|---|---|---|---|
spn-1-peer-vnet | test-rg-1 | subscription-1 | vnet-1 | USA – východ 2 |
spn-2-peer-vnet | test-rg-2 | subscription-2 | vnet-2 | Západní USA 2 |
Vytvoření prostředků předplatného 1
Pomocí příkazu az sign-in se přihlaste k předplatnému 1 pomocí uživatelského účtu s oprávněními k vytvoření skupiny prostředků, virtuální sítě a hlavního názvu služby (SPN) v tenantovi Microsoft Entra ID přidruženém k předplatnému 1.
az login
Vytvořte skupinu prostředků pomocí příkazu az group create.
az group create \ --name test-rg-1 \ --location eastus2
Pomocí příkazu az network vnet create vytvořte virtuální síť s názvem vnet-1 v předplatném 1.
az network vnet create \ --resource-group test-rg-1 \ --location eastus2 \ --name vnet-1 \ --address-prefixes 10.0.0.0/16 \ --subnet-name subnet-1 \ --subnet-prefixes 10.0.0.0/24
Vytvoření spn-1-peer-vnet
Vytvořte síť spn1-peer-vnet s oborem pro virtuální síť vytvořenou v předchozím kroku. Tento hlavní název služby (SPN) se přidá do rozsahu virtuální sítě 2 v budoucím kroku, aby to umožnilo partnerský vztah virtuálních sítí.
Pomocí příkazu az network vnet show umístěte ID prostředku virtuální sítě, kterou jste vytvořili dříve v proměnné pro použití v pozdějším kroku.
vnetid=$(az network vnet show \ --resource-group test-rg-1 \ --name vnet-1 \ --query id \ --output tsv)
Pomocí příkazu az ad sp create-for-rbac vytvořte spn-1-peer-vnet s rolí Přispěvatel sítě vymezenou na virtuální síť vnet-1.
az ad sp create-for-rbac \ --name spn-1-peer-vnet \ --role "Network Contributor" \ --scope $vnetid
Poznamenejte si výstup vytvoření v kroku. Heslo se tady zobrazí jenom v tomto výstupu. Zkopírujte heslo na bezpečné místo pro pozdější přihlášení.
{ "appId": "11112222-bbbb-3333-cccc-4444dddd5555", "displayName": "spn-1-peer-vnet", "password": "", "tenant": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" }
AppId instančního objektu se použije v následných krocích k dokončení konfigurace hlavního názvu služby ( SPN). Pomocí příkazu az ad sp list umístěte id hlavního názvu služby (SPN) do proměnné pro pozdější použití.
appid1=$(az ad sp list \ --display-name spn-1-peer-vnet \ --query [].appId \ --output tsv)
Hlavní název služby (SPN) vytvořený v předchozím kroku musí mít identifikátor URI přesměrování pro dokončení schvalování procesu ověřování a musí být převeden na víceklientské použití. Pomocí příkazu az ad app update přidejte https://www.microsoft.com jako identifikátor URI přesměrování a povolte víceklienta v síti spn-1-peer-vnet.
az ad app update \ --id $appid1 \ --sign-in-audience AzureADMultipleOrgs \ --web-redirect-uris https://www.microsoft.com
Instanční objekt musí mít oprávnění User.Read k adresáři. Pomocí příkazu az ad app permission add and az ad app permission grant to add the Microsoft Graph permissions of User.Read to the service principal.
az ad app permission add \ --id $appid1 \ --api 00000003-0000-0000-c000-000000000000 \ --api-permissions e1fe6dd8-ba31-4d61-89e7-88639da4683d=Scope az ad app permission grant \ --id $appid1 \ --api 00000003-0000-0000-c000-000000000000 \ --scope User.Read
Vytvoření prostředků předplatného 2
Použití příkazu az login k přihlášení k předplatnému 2 pomocí uživatelského účtu s oprávněními k vytvoření skupiny prostředků, virtuální sítě a hlavního názvu služby (SPN) v tenantovi Microsoft Entra ID přidruženého k předplatnému 2
az login
Vytvořte skupinu prostředků pomocí příkazu az group create.
az group create \ --name test-rg-2 \ --location westus2
Pomocí příkazu az network vnet create vytvořte virtuální síť s názvem vnet-2 v předplatném 2.
az network vnet create \ --resource-group test-rg-2 \ --location westus2 \ --name vnet-2 \ --address-prefixes 10.1.0.0/16 \ --subnet-name subnet-1 \ --subnet-prefixes 10.1.0.0/24
Vytvoření spn-2-peer-vnet
Vytvořte síť spn-2-peer-vnet s oborem pro virtuální síť vytvořenou v předchozím kroku. Tento hlavní název služby (SPN) se přidá do rozsahu virtuální sítě 2 v budoucím kroku, aby to umožnilo partnerský vztah virtuálních sítí.
Pomocí příkazu az network vnet show umístěte ID prostředku virtuální sítě, kterou jste vytvořili dříve v proměnné pro použití v pozdějším kroku.
vnetid=$(az network vnet show \ --resource-group test-rg-2 \ --name vnet-2 \ --query id \ --output tsv)
Pomocí příkazu az ad sp create-for-rbac vytvořte spn-2-peer-vnet s rolí Přispěvatel sítě vymezenou na virtuální síť vnet-2.
az ad sp create-for-rbac \ --name spn-2-peer-vnet \ --role "Network Contributor" \ --scope $vnetid
Poznamenejte si výstup vytvoření v kroku. Zkopírujte heslo na bezpečné místo pro pozdější přihlášení. Heslo se znovu nezobrazí.
Výstup vypadá podobně jako následující výstup.
{ "appId": "22223333-cccc-4444-dddd-5555eeee6666", "displayName": "spn-2-peer-vnet", "password": "", "tenant": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f" }
AppId instančního objektu se použije v následných krocích k dokončení konfigurace hlavního názvu služby ( SPN). Pomocí příkazu az ad sp list umístěte ID hlavního názvu služby do proměnné pro pozdější použití.
appid2=$(az ad sp list \ --display-name spn-2-peer-vnet \ --query [].appId \ --output tsv)
Hlavní název služby (SPN) vytvořený v předchozím kroku musí mít identifikátor URI přesměrování pro dokončení schvalování procesu ověřování a musí být převeden na víceklientské použití. Pomocí příkazu az ad app update přidejte https://www.microsoft.com jako identifikátor URI přesměrování a povolte víceklienta v síti spn-2-peer-vnet.
az ad app update \ --id $appid2 \ --sign-in-audience AzureADMultipleOrgs \ --web-redirect-uris https://www.microsoft.com
Instanční objekt musí mít oprávnění User.Read k adresáři. Pomocí příkazu az ad app permission add and az ad app permission grantto add the Microsoft Graph permissions of User.Read to the service principal.
az ad app permission add \ --id $appid2 \ --api 00000003-0000-0000-c000-000000000000 \ --api-permissions e1fe6dd8-ba31-4d61-89e7-88639da4683d=Scope az ad app permission grant \ --id $appid2 \ --api 00000003-0000-0000-c000-000000000000 \ --scope User.Read
Registrace spn-2-peer-vnet v předplatném-1 a přiřazení oprávnění k virtuální síti 1
Uživatelský účet s oprávněními správce v tenantovi Microsoft Entra ID musí dokončit proces přidání spn-2-vnet-peer do předplatného-1. Po dokončení může mít spn-2-vnet-peer přiřazená oprávnění k virtuální síti 1.
Registrace aplikace spn-2-peer-vnet v předplatném 1
Správce v tenantovi Microsoft Entra ID předplatného 1 musí schválit instanční objekt spn-2-peer-vnet , aby se mohl přidat do virtuální sítě vnet-1. Pomocí následujícího příkazu se přihlaste k předplatnému 2 a vyhledejte ID aplikace spn-2-peer-vnet.
Pomocí příkazu az login se přihlaste k předplatnému-2.
az login
Pomocí příkazu az ad sp list získejte ID aplikace spn-2-peer-vnet. Poznamenejte si ID aplikace ve výstupu. Toto ID aplikace se používá v ověřovací adrese URL v dalších krocích.
appid2=$(az ad sp list \ --display-name spn-2-peer-vnet \ --query [].appId \ --output tsv) echo $appid2
K vytvoření přihlašovací adresy URL pro schválení použijte appid pro spn-2-peer-vnet a ID tenanta Microsoft Entra ID pro předplatné 1 . Adresa URL je sestavená z následujícího příkladu:
https://login.microsoftonline.com/entra-tenant-id-subscription-1/oauth2/authorize?client_id={$appid2}&response_type=code&redirect_uri=https://www.microsoft.com
Adresa URL vypadá podobně jako v následujícím příkladu.
https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/oauth2/authorize?client_id=22223333-cccc-4444-dddd-5555eeee6666&response_type=code&redirect_uri=https://www.microsoft.com
Otevřete adresu URL ve webovém prohlížeči a přihlaste se pomocí správce v tenantovi Microsoft Entra ID v předplatném 1.
Schvalte aplikaci spn-2-peer-vnet. Pokud ověřování proběhlo úspěšně, zobrazí se domovská stránka microsoft.com.
Přiřazení spn-2-peer-vnet k virtuální síti vnet-1
Jakmile správce schválí síť spn-2-peer-vnet, přidejte ji do virtuální sítě vnet-1 jako přispěvatel sítě.
Pomocí příkazu az login se přihlaste k předplatnému-1.
az login
Pomocí příkazu az ad sp list vyhledejte id aplikace pro spn-2-peer-vnet a umístěte ji do proměnné pro pozdější použití.
appid2=$(az ad sp list \ --display-name spn-2-peer-vnet \ --query [].appId \ --output tsv)
Pomocí příkazu az network vnet show získejte ID prostředku vnet-1 do proměnné pro použití v pozdějších krocích.
vnetid=$(az network vnet show \ --resource-group test-rg-1 \ --name vnet-1 \ --query id \ --output tsv)
Pomocí příkazu az role assignment vytvořte následující příkaz pro přidání spn-2-peer-vnet do vnet-1 jako přispěvatele sítě.
az role assignment create --assignee $appid2 \ --role "Network Contributor" \ --scope $vnetid
Registrace spn-1-peer-vnet v předplatném 2 a přiřazení oprávnění k virtuální síti 2
Uživatelský účet s oprávněními správce v tenantovi Microsoft Entra ID musí dokončit proces přidání spn-1-peer-vnet do předplatného 2. Po dokončení je možné přiřadit oprávnění spn-1-peer-vnet-vnet-2.
Registrace aplikace spn-1-peer-vnet v předplatném 2
Správce v tenantovi Microsoft Entra ID předplatného 2 musí schválit instanční objekt spn-1-peer-vnet , aby ho bylo možné přidat do virtuální sítě vnet-2. Pomocí následujícího příkazu se přihlaste k předplatnému 1 a vyhledejte ID aplikace spn-1-peer-vnet.
Pomocí příkazu az login se přihlaste k předplatnému-1.
az login
Pomocí příkazu az ad sp list získejte ID aplikace spn-1-peer-vnet. Poznamenejte si ID aplikace ve výstupu. Toto ID aplikace se používá v ověřovací adrese URL v dalších krocích.
appid1=$(az ad sp list \ --display-name spn-1-peer-vnet \ --query [].appId \ --output tsv) echo $appid1
Pomocí appid pro spn-1-peer-vnet a ID tenanta Microsoft Entra ID pro předplatné-2 sestavte přihlašovací adresu URL pro schválení. Adresa URL je sestavená z následujícího příkladu:
https://login.microsoftonline.com/entra-tenant-id-subscription-2/oauth2/authorize?client_id={$appid1}&response_type=code&redirect_uri=https://www.microsoft.com
Adresa URL vypadá podobně jako v následujícím příkladu.
https://login.microsoftonline.com/bbbbcccc-1111-dddd-2222-eeee3333ffff/oauth2/authorize?client_id=11112222-bbbb-3333-cccc-4444dddd5555&response_type=code&redirect_uri=https://www.microsoft.com
Otevřete adresu URL ve webovém prohlížeči a přihlaste se pomocí správce v tenantovi Microsoft Entra ID v předplatném 2.
Schvalte aplikaci spn-1-peer-vnet. Pokud ověřování proběhlo úspěšně, zobrazí se domovská stránka microsoft.com.
Přiřazení spn-1-peer-vnet k virtuální síti 2
Jakmile správce schválí síť spn-1-peer-vnet, přidejte ji do virtuální sítě vnet-2 jako přispěvatel sítě.
Pomocí příkazu az login se přihlaste k předplatnému-2.
az login
Pomocí příkazu az ad sp list vyhledejte id aplikace pro spn-1-peer-vnet a umístěte ji do proměnné pro pozdější použití.
appid1=$(az ad sp list \ --display-name spn-1-peer-vnet \ --query [].appId \ --output tsv)
Pomocí příkazu az network vnet show získejte ID prostředku vnet-2 do proměnné pro použití v pozdějších krocích.
vnetid=$(az network vnet show \ --resource-group test-rg-2 \ --name vnet-2 \ --query id \ --output tsv)
Pomocí příkazu az role assignment create přidejte spn-1-peer-vnet do vnet-2 jako přispěvatel sítě.
az role assignment create --assignee $appid1 \ --role "Network Contributor" \ --scope $vnetid
Peer vnet-1 to vnet-2 a vnet-2 to vnet-1
Pokud chcete vytvořit partnerský vztah vnet-1 k virtuální síti 2, použijete k přihlášení k tenantovi Microsoft Entra ID přidruženému k předplatnému 1 ID instančního objektu a hesla.
Získání id aplikace spn-1-peer-vnet a spn-2-peer-vnet
Pro účely tohoto článku se přihlaste ke každému předplatnému a získejte ID aplikace každého hlavního názvu služby (SPN) a ID prostředku každé virtuální sítě. Tyto hodnoty použijte k přihlášení ke každému předplatnému pomocí hlavního názvu služby (SPN) v pozdějších krocích. Pokud obě strany už mají ID aplikace hlavních názvů služeb a ID prostředku virtuálních sítí, tyto kroky nejsou potřeba k navázání partnerského vztahu mezi virtuálními sítěmi.
Pomocí příkazu az login se přihlaste k předplatnému-1 pomocí běžného uživatelského účtu.
az login
Pomocí příkazu az network vnet show získejte ID prostředku vnet-1 do proměnné pro použití v pozdějších krocích.
vnetid1=$(az network vnet show \ --resource-group test-rg-1 \ --name vnet-1 \ --query id \ --output tsv)
Pomocí příkazu az ad sp list získejte ID aplikace spn-1-peer-vnet a umístěte ji do proměnné pro použití v pozdějších krocích.
appid1=$(az ad sp list \ --display-name spn-1-peer-vnet \ --query [].appId \ --output tsv)
Pomocí příkazu az login se přihlaste k předplatnému-2 pomocí běžného uživatelského účtu.
az login
Pomocí příkazu az network vnet show získejte ID prostředku vnet-2 do proměnné pro použití v pozdějších krocích.
vnetid2=$(az network vnet show \ --resource-group test-rg-2 \ --name vnet-2 \ --query id \ --output tsv)
Pomocí příkazu az ad sp list získejte ID aplikace spn-2-peer-vnet a umístěte ji do proměnné pro použití v pozdějších krocích.
appid2=$(az ad sp list \ --display-name spn-2-peer-vnet \ --query [].appId \ --output tsv) echo $appid2
Pomocí příkazu az logout se odhlaste z relace Azure CLI pomocí následujícího příkazu. Nezavírejte terminál.
az logout
Vytvoření partnerského vztahu mezi virtuálními sítěmi
Pomocí příkazu az login se přihlaste k předplatnému-1 spn-1-peer-vnet. K dokončení příkazu potřebujete ID tenanta Microsoft Entra ID přidruženého k předplatnému 1 . Heslo se zobrazí v příkladu se zástupným symbolem proměnné. Nahraďte heslem, které jste si poznamenali při vytváření prostředku. Zástupný symbol nahraďte
--tenant
ID tenanta Microsoft Entra ID přidruženého k předplatnému 1.az login \ --service-principal \ --username $appid1 \ --password $password \ --tenant aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
Pomocí příkazu az login se přihlaste k předplatnému-2 pomocí spn-2-peer-vnet. K dokončení příkazu potřebujete ID tenanta Microsoft Entra ID přidruženého k předplatnému 2 . Heslo se zobrazí v příkladu se zástupným symbolem proměnné. Nahraďte heslem, které jste si poznamenali při vytváření prostředku. Zástupný symbol nahraďte
--tenant
ID tenanta Microsoft Entra ID přidruženého k předplatnému 2.az login \ --service-principal \ --username $appid2 \ --password $password \ --tenant bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f
Pomocí příkazu az account set změňte kontext na předplatné-1.
az account set --subscription "subscription-1-subscription-id-NOT-ENTRA-TENANT-ID"
Pomocí příkazu az network vnet peering create vytvořte partnerský vztah virtuální sítě mezi vnet-1 a vnet-2.
az network vnet peering create \ --name vnet-1-to-vnet-2 \ --resource-group test-rg-1 \ --vnet-name vnet-1 \ --remote-vnet $vnetid2 \ --allow-vnet-access
Pomocí příkazu az network vnet peering list ověřte partnerský vztah virtuální sítě mezi vnet-1 a vnet-2.
az network vnet peering list \ --resource-group test-rg-1 \ --vnet-name vnet-1 \ --output table
Pomocí příkazu az account set změňte kontext na předplatné 2.
az account set --subscription "subscription-2-subscription-id-NOT-ENTRA-TENANT-ID"
Pomocí příkazu az network vnet peering create vytvořte partnerský vztah virtuální sítě mezi vnet-2 a vnet-1.
az network vnet peering create \ --name vnet-2-to-vnet-1 \ --resource-group test-rg-2 \ --vnet-name vnet-2 \ --remote-vnet $vnetid1 \ --allow-vnet-access
Pomocí příkazu az network vnet peering list ověřte partnerský vztah virtuální sítě mezi vnet-2 a vnet-1.
az network vnet peering list \ --resource-group test-rg-2 \ --vnet-name vnet-2 \ --output table