Pullen von Images aus einer Containerregistrierung in einen AKS-Cluster in einem anderen Microsoft Entra-Mandanten

Es kann vorkommen, dass sich Ihr Azure AKS-Cluster in einem Microsoft Entra-Mandanten und Ihre Azure-Containerregistrierung in einem anderen Mandanten befindet. Dieser Artikel beschreibt das Vorgehen für die mandantenübergreifende Authentifizierung mit den Anmeldeinformationen des AKS-Dienstprinzipals zum Pullen aus der Containerregistrierung.

Hinweis

Sie können nicht die Registrierung anfügen und sich mithilfe einer verwalteten AKS-Identität authentifizieren, wenn sich der Cluster und die Containerregistrierung in unterschiedlichen Mandanten befinden.

Übersicht über das Szenario

Annahmen für dieses Beispiel:

  • Der AKS-Cluster befindet sich in Mandant A und die Azure-Containerregistrierung befindet sich in Mandant B.
  • Der AKS-Cluster ist mit Dienstprinzipalauthentifizierung in Mandant A konfiguriert. Erfahren Sie mehr über das Erstellen und Verwenden eines Dienstprinzipals für Ihren AKS-Cluster.

Sie benötigen mindestens die Rolle Mitwirkender im Abonnement des AKS-Clusters und die Rolle Besitzer im Abonnement der Containerregistrierung.

Mit diesen schrittweisen Anweisungen erreichen Sie Folgendes:

  • Erstellen einer mehrinstanzenfähigen Anwendung (Dienstprinzipal) in Mandant A
  • Bereitstellen der Anwendung in Mandant B
  • Konfigurieren des Dienstprinzipals zum Pullen aus der Registrierung in Mandant B
  • Aktualisieren des AKS-Clusters in Mandant A für die Authentifizierung mit dem neuen Dienstprinzipal

Schrittweise Anweisungen

Schritt 1: Erstellen einer mehrinstanzenfähigen Microsoft Entra-Anwendung

  1. Melden Sie sich im Azure-Portal in Mandant A an.

  2. Suchen Sie nach Microsoft Entra ID, und wählen Sie diese Lösung aus.

  3. Wählen Sie unter Verwalten die Option App-Registrierungen > + Neue Registrierung aus.

  4. Wählen Sie unter Unterstützte Kontotypen die Option Konten in einem beliebigen Organisationsverzeichnis aus.

  5. Geben Sie https://www.microsoft.com als Umleitungs-URI ein.

  6. Wählen Sie Registrieren.

  7. Notieren Sie sich auf der Seite Übersicht die Anwendungs-ID (Client-ID) . Sie wird in Schritt 2 und Schritt 4 verwendet.

    Service principal application ID

  8. Wählen Sie in Zertifikate und Geheimnisse unter Geheimer Clientschlüssel die Option +Neuer geheimer Clientschlüssel.

  9. Geben Sie eine Beschreibung wie etwa Kennwort ein und wählen Sie Hinzufügen aus.

  10. Notieren Sie unter Geheimer Clientschlüssel den Wert des geheimen Clientgeheimnisses. Sie verwenden ihn in Schritt 4, um den Dienstprinzipal des AKS-Clusters zu aktualisieren.

    Configure client secret

Schritt 2: Bereitstellen des Dienstprinzipals im ACR-Mandanten

  1. Öffnen Sie unter Verwendung eines Administratorkontos in Mandant B den folgenden Link. Fügen Sie an den entsprechenden Stellen die ID von Mandant B und die Anwendungs-ID (Client-ID) der mehrinstanzenfähigen App ein.

    https://login.microsoftonline.com/<Tenant B ID>/oauth2/authorize?client_id=<Multitenant application ID>&response_type=code&redirect_uri=<redirect url>
    
  2. Wählen Sie die Option Zustimmung im Namen Ihrer Organisation und dann Annehmen aus.

    Grant tenant access to application

Schritt 3: Dem Dienstprinzipal die Berechtigung zum Pullen aus der Registrierung erteilen

Weisen Sie in Mandant B dem Dienstprinzipal die AcrPull-Rolle mit der Zielcontainerregistrierung als Bereich zu. Sie können das Azure-Portal oder andere Tools verwenden, um die Rolle zuzuweisen. Beispielschritte unter Verwendung der Azure CLI finden Sie unter Azure Container Registry-Authentifizierung mit Dienstprinzipalen.

Assign acrpull role to multitenant app

Schritt 4: Aktualisieren von AKS mit dem Microsoft Entra-Anwendungsgeheimnis

Aktualisieren Sie die Anmeldeinformationen des AKS-Dienstprinzipals mit der (Client-) ID der mehrinstanzenfähigen Anwendung und dem geheimen Clientschlüssel aus Schritt 1.

Das Aktualisieren des Dienstprinzipals kann einige Minuten dauern.

Nächste Schritte