Freigeben von Katalog-VM-Images über Azure-Mandanten hinweg mithilfe von PowerShell

Mit Azure Compute Gallery-Instanzen können Sie ein Image mithilfe einer App-Registrierung für eine andere Organisation freigeben. Weitere Informationen zu anderen Freigabeoption finden Sie unter Freigeben des Katalogs.

Wenn Sie jedoch Images außerhalb Ihres Azure-Mandanten freigeben möchten, sollten Sie eine App-Registrierung erstellen. Die Verwendung einer App-Registrierung kann komplexere Freigabeszenarien ermöglichen, wie z.B.:

  • Verwaltung freigegebener Images, wenn ein Unternehmen ein anderes erwirbt, und die Azure-Infrastruktur ist auf verschiedene Mandanten verteilt.
  • Azure-Partner verwalten Azure-Infrastruktur im Namen ihrer Kunden. Die Anpassung der Images erfolgt innerhalb des Partners, aber die Bereitstellung der Infrastruktur erfolgt beim Mandanten des Kunden.

Erstellen der App-Registrierung

Erstellen Sie eine App-Registrierung, die von beiden Mandanten verwendet wird, um die Ressourcen des Imagekatalogs freizugeben.

  1. Öffnen Sie die App-Registrierungen im Azure-Portal.
  2. Wählen im Menü oben auf der Seite die Schaltfläche Neue Registrierung aus.
  3. Geben Sie im Feld NamemyGalleryApp ein.
  4. Wählen Sie bei Unterstützte Kontotypen die Option Konten in allen Organisationsverzeichnissen (beliebiges Microsoft Entra-Verzeichnis: mehrere Mandanten) und persönliche Microsoft-Konten (z. B. Skype, Xbox) aus.
  5. Wählen Sie unter Umleitungs-URI die Option Web aus der Dropdownliste Plattform auswählen aus, und geben Sie https://www.microsoft.com ein. Wählen Sie dann Registrieren aus. Nachdem die App-Registrierung erstellt wurde, öffnet sich die Übersichtsseite.
  6. Kopieren Sie auf der Übersichtsseite die Anwendungs-ID (Client) und speichern Sie sie zur späteren Verwendung.
  7. Wählen Sie Zertifikate und Geheimnisse und dann Neuer geheimer Clientschlüssel aus.
  8. Geben Sie im Feld BeschreibungMandantenübergreifendes App-Geheimnis für Katalog ein.
  9. Ändern Sie unter Ablauf den Standardwert 6 Monate (empfohlen) in 12 Monate, und wählen Sie dann Hinzufügen aus.
  10. Kopieren Sie den Wert des geheimen Schlüssels, und speichern Sie ihn an einem sicheren Ort. Sie können ihn nicht mehr abrufen, nachdem Sie die Seite verlassen haben.

Erteilen Sie der App-Registrierung die Berechtigung, den Katalog zu nutzen.

  1. Wählen Sie im Azure-Portal den Katalog in Azure Compute Gallery aus, den Sie für einen anderen Mandanten freigeben möchten.
  2. Wählen Sie Zugriffssteuerung (IAM) auswählen und dann unter Rollenzuordnung hinzufügenHinzufügen aus.
  3. Wählen Sie unter Rolle die Option Leser aus.
  4. Behalten Sie unter Zugriff zuweisen zu die Einstellung Microsoft Entra-Benutzer, -Gruppe oder -Dienstprinzipal bei.
  5. Geben Sie unter Mitglieder auswählen die Angabe myGalleryApp ein, und wählen Sie sie aus, wenn sie in der Liste angezeigt wird. Wählen Sie abschließend Überprüfen und zuweisen aus.

Mandant 2 Zugriff gewähren

Gewähren Sie Mandant 2 durch Anfordern einer Anmeldung mit einem Browser Zugriff auf die Anwendung. Ersetzen Sie <Mandant2 ID> durch die Mandant-ID des Mandanten, für den Sie Ihre Bildergalerie freigeben möchten. Benutzer können ihre Mandanten-ID mithilfe des Azure CLI-Befehls az account show anzeigen.

Ersetzen Sie die <Anwendungs-(Client-)ID> durch die Anwendungs-ID der von Ihnen erstellten App-Registrierung. Wenn Sie die Ersetzungen vorgenommen haben, fügen Sie die URL in einen Browser ein, und folgen Sie den Anmeldeaufforderungen, um sich bei Mandant 2 anzumelden.

https://login.microsoftonline.com/<Tenant 2 ID>/oauth2/authorize?client_id=<Application (client) ID>&response_type=code&redirect_uri=https%3A%2F%2Fwww.microsoft.com%2F 

Melden Sie sich im Azure-Portal als Mandant 2 an, und geben Sie der App-Registrierung Zugriff auf die Ressourcengruppe, in der Sie die VM erstellen möchten.

  1. Wählen Sie die Ressourcengruppe und dann Zugriffssteuerung (IAM) aus. Wählen Sie unter Rollenzuweisung hinzufügen die Option Hinzufügen aus.
  2. Geben Sie unter Rolle die Option Mitwirkender ein.
  3. Behalten Sie unter Zugriff zuweisen zu die Einstellung Microsoft Entra-Benutzer, -Gruppe oder -Dienstprinzipal bei.
  4. Geben Sie unter Mitglieder auswählen die Angabe myGalleryApp ein, und wählen Sie sie aus, wenn sie in der Liste angezeigt wird. Wählen Sie abschließend Überprüfen und zuweisen aus.

Hinweis

Sie müssen warten, bis die Imageversion vollständig erstellt und repliziert wurde, bevor Sie dieses verwaltete Image verwenden können, um eine weitere Imageversion zu erstellen.

Wichtig

Sie können das Portal nicht verwenden, um einen virtuellen Computer aus einem Image in einem anderen Azure-Mandanten bereitzustellen. Zum Erstellen eines virtuellen Computers aus einem von Mandanten gemeinsam verwendeten Image müssen Sie die Azure CLI oder PowerShell verwenden.

Erstellen des virtuellen Computers

Bevor Sie einen virtuellen Computer aus einem Image erstellen, das über eine App-Registrierung für Sie freigegeben wurde, benötigen Sie Folgendes:

  • Die Mandanten-ID des Quellabonnements und des Abonnements, in dem Sie die VM erstellen möchten.
  • Die Client-ID der App-Registrierung und das Geheimnis.
  • Die Image-ID des Images, das Sie verwenden möchten.

Melden Sie den Dienstprinzipal für den Mandanten 1 mit der App-ID, dem App-Schlüssel und der ID des Mandanten 1 an. Sie können bei Bedarf az account show --query "tenantId" verwenden, um die Mandanten-IDs abzurufen.

In diesem Beispiel wird gezeigt, wie Sie einen virtuellen Computer aus einem generalisierten Image erstellen. Informationen zum Verwenden eines spezialisierten Images finden Sie unter Erstellen eines virtuellen Computers mithilfe einer spezialisierten Imageversion.


tenant1='<ID for tenant 1>'
tenant2='<ID for tenant 2>'
appid='<client ID of the app registration>'
secret='<secret from the app registration>'

az account clear
az login --service-principal -u $appid -p $secret --tenant $tenant1
az account get-access-token 

Melden Sie den Dienstprinzipal für den Mandanten 2 mit der App-ID, dem App-Schlüssel und der ID des Mandanten 2 an:

az login --service-principal -u $appid -p $secret --tenant $tenant2
az account get-access-token

Erstellen Sie den virtuellen Computer. Ersetzen Sie die Informationen im Beispiel durch Ihre eigenen.

imageid="<ID of the image that you want to use>"
az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --image $imageid \
  --admin-username azureuser \
  --generate-ssh-keys