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
Melden Sie sich im Azure-Portal in Mandant A an.
Suchen Sie nach Microsoft Entra ID, und wählen Sie diese Lösung aus.
Wählen Sie unter Verwalten die Option App-Registrierungen > + Neue Registrierung aus.
Wählen Sie unter Unterstützte Kontotypen die Option Konten in einem beliebigen Organisationsverzeichnis aus.
Geben Sie https://www.microsoft.com als Umleitungs-URI ein.
Wählen Sie Registrieren.
Notieren Sie sich auf der Seite Übersicht die Anwendungs-ID (Client-ID) . Sie wird in Schritt 2 und Schritt 4 verwendet.
Wählen Sie in Zertifikate und Geheimnisse unter Geheimer Clientschlüssel die Option +Neuer geheimer Clientschlüssel.
Geben Sie eine Beschreibung wie etwa Kennwort ein und wählen Sie Hinzufügen aus.
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.
Schritt 2: Bereitstellen des Dienstprinzipals im ACR-Mandanten
Ö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>
Wählen Sie die Option Zustimmung im Namen Ihrer Organisation und dann Annehmen aus.
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.
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
- Erfahren Sie mehr: Azure Container Registry-Authentifizierung mit Dienstprinzipalen
- Weitere Informationen zu Geheimnissen für Imagepullvorgänge finden Sie in der Kubernetes-Dokumentation.
- Weitere Informationen: Anwendungs- und Dienstprinzipalobjekte in Microsoft Entra ID
- Weitere Informationen zu Szenarien zum Authentifizieren per Azure Container Registry über einen Kubernetes-Cluster