Freigeben über


Konfigurieren der Registrierungsakzeptanz von Microsoft Entra-Authentifizierungsbereichen

Die Microsoft Entra-Authentifizierung mit Azure Container Registry (ACR) folgt einem Zwei-Hop-Prozess. Zunächst authentifizieren sich Benutzer mit Microsoft Entra ID, um ein Authentifizierungstoken mit einem spezifischen Authentifizierungszielbereich zu erhalten (z. B. az login). Als Nächstes authentifizieren sich Benutzer mit diesem Microsoft Entra-Authentifizierungstoken (z. B. az acr login). Im zweiten Schritt während der Registrierungsauthentifizierung akzeptieren Registrierungen standardmäßig sowohl die ARM-bezogene Microsoft Entra-Authentifizierung (umfassender Azure Resource Manager-Zugriff) als auch die ACR-bezogene Microsoft Entra-Authentifizierung (schmaler registrierungsspezifischer Zugriff). Um die Sicherheit zu erhöhen, können Sie Ihre Registrierung so konfigurieren, dass nur ACR-bezogene Microsoft Entra-Authentifizierung akzeptiert wird.

Hinweis

Einige Azure-Dienste und -Integrationen funktionieren möglicherweise nicht, wenn Ihre Registrierung so konfiguriert ist, dass nur ACR-bezogene Microsoft Entra-Authentifizierung akzeptiert wird. Testen Sie die Kompatibilität in Nichtproduktionsumgebungen, bevor Sie diese Konfiguration in der Produktion erzwingen.

In diesem Artikel wird erläutert, wie Sie eine Containerregistrierung für die Microsoft Entra-Authentifizierung mit ACR-Umfang mithilfe der Azure CLI oder des Azure-Portals konfigurieren.

Voraussetzungen

Einführung in die Authentifizierungsbereiche von Microsoft Entra für ACR

In diesem Abschnitt wird der Zwei-Hop-Authentifizierungsfluss, der Unterschied zwischen Authentifizierungsbereichen und der Steuerung des Zugriffs durch die Registrierungskonfiguration erläutert.

Zwei-Hop-Authentifizierungsfluss

Die Authentifizierung mit ACR umfasst zwei unterschiedliche Schritte, die für Azure CLI-Benutzer, Azure-Dienste und programmgesteuerten Code mit Software Development Kits (SDKs) gelten:

  1. Erster Hop – Authentifizieren mit Microsoft Entra ID: Führen Sie az login aus, um sich mit Ihrer Microsoft Entra ID zu authentifizieren und ein Microsoft Entra-Authentifizierungstoken zu erhalten. Dieses Token enthält einen Zielgruppenbereich, der bestimmt, auf welche Azure-Ressourcen sie zugreifen kann:

    • Standardmäßig erhält az login ein ARM-bezogenes Microsoft Entra-Authentifizierungstoken (umfassender Zugriff auf Azure Resource Manager).
    • Durch die Verwendung von az login --scope https://containerregistry.Azure.NET/.default erhalten Sie ein Microsoft Entra-Authentifizierungstoken mit ACR-Bereich (eingeschränkter, registrierungsspezifischer Zugriff).
  2. Zweiter Sprung – Authentifizierung mit dem ACR-Dienst: Verwenden Sie das Microsoft Entra-Authentifizierungstoken vom ersten Sprung, um sich beim ACR-Dienst zu authentifizieren, und führen Sie den az acr login-Befehl aus. An diesem Punkt bestimmt die Konfiguration der Registrierung, ob Ihr Registrierungsauthentifizierungsversuch abhängig vom Umfang Ihres Microsoft Entra-Authentifizierungstokens angenommen oder abgelehnt wird.

Microsoft Entra-Authentifizierungsbereichstypen

ARM-bezogene Microsoft Entra-Authentifizierung

  • Bietet umfassenden Zugriff auf den Azure Resource Manager (ARM), die Steuerebene für die Verwaltung aller Azure-Ressourcen.
  • Dieser Bereichstyp ist der Standardwert, wenn Sie ohne andere Parameter ausführen az login .
  • ARM-bezogene Microsoft Entra-Authentifizierungstoken sind für Containerregistrierungsvorgänge übermäßig zulässig, da sie Zugriff gewähren, der über das hinausgeht, was Sie für die Registrierungsauthentifizierung benötigen.

ACR-bezogene Microsoft Entra-Authentifizierung

  • Bietet nur schmalen, registrierungsspezifischen Zugriff, der auf ACR-Vorgänge beschränkt ist.
  • Erfordert die explizite Angabe von --scope https://containerregistry.Azure.NET/.default während az login.
  • Folgt dem Prinzip der geringsten Berechtigung, indem nur die Berechtigungen gewährt werden, die für Containerregistrierungsvorgänge erforderlich sind.

Registrierungskonfigurationsoptionen

Ihre Registry-Konfiguration, gesteuert durch azureADAuthenticationAsArmPolicy Eigenschaft, bestimmt, was während des zweiten Authentifizierungsschritts passiert (az acr login):

  • Wenn aktiviert (Standard): Das Register akzeptiert sowohl ARM-spezifische als auch ACR-spezifische Microsoft Entra-Authentifizierung.
  • Wenn deaktiviert (empfohlen): Die Registrierung akzeptiert nur ACR-bezogene Microsoft Entra-Authentifizierung und lehnt die ARM-Authentifizierung ab.

Warum empfiehlt ACR eine nur auf ACR bezogene Authentifizierung?

Die Konfiguration Ihrer Registrierung, um ausschließlich ACR-bezogene Microsoft Entra-Authentifizierung zu akzeptieren, bietet mehrere Vorteile:

  • Erweiterte Sicherheit: Beschränkt die Authentifizierung auf eingeschränkte Microsoft Entra-Authentifizierungstoken, wodurch die Angriffsfläche reduziert wird.
  • Prinzip der geringsten Privilegien: Stellt sicher, dass Microsoft Entra-Authentifizierungstoken, die für die Registrierungsauthentifizierung verwendet werden, nur über die Berechtigungen verfügen, die für Containerregistrierungsvorgänge erforderlich sind.
  • Complianceausrichtung: Unterstützt die Einhaltung von Sicherheits- und Complianceanforderungen, die minimale Berechtigungszugriffsmuster erfordern.
  • Bewährte Methode: Richtet sich an bewährte Methoden für die Azure-Sicherheit für die Identitäts- und Zugriffsverwaltung.

Konfigurieren der Registrierung für ACR-bezogene Microsoft Entra-Authentifizierung – Azure CLI

Sie können Ihre Registrierung für die Festlegung der Microsoft Entra-Authentifizierungsbereiche konfigurieren, die während des zweiten Authentifizierungshops akzeptiert werden. Die azureADAuthenticationAsArmPolicy Eigenschaft steuert diese Konfiguration.

Erfordert Azure CLI, Version 2.40.0 oder höher. Zum Ermitteln Ihrer Version führen Sie az --version aus.

Überprüfen der aktuellen Registrierungskonfiguration

Führen Sie den folgenden Befehl aus, um die aktuelle Konfiguration Ihrer Registrierung anzuzeigen:

az acr config authentication-as-arm show -r <registry>

Der Statuswert zeigt die aktuelle Konfiguration an:

  • aktiviert (Standard): Das Registry akzeptiert sowohl ARM-bezogene als auch ACR-bezogene Microsoft Entra-Authentifizierung.
  • deaktiviert (empfohlen): Die Registrierung akzeptiert nur die ACR-bezogene Microsoft Entra-Authentifizierung.

Aktualisieren der Registrierungskonfiguration

Um Ihre Registrierung so zu konfigurieren, dass nur ACR-bezogene Microsoft Entra-Authentifizierung akzeptiert wird, legen Sie den Status auf disabled:

az acr config authentication-as-arm update -r <registry> --status disabled

So stellen Sie die Standardkonfiguration wieder her, die sowohl die ARM-bereichsspezifische als auch die ACR-bereichsspezifische Microsoft Entra-Authentifizierung akzeptiert:

az acr config authentication-as-arm update -r <registry> --status enabled

Authentifizieren mittels der ACR-bezogenen Microsoft Entra-Authentifizierung

Dieser Abschnitt zeigt, wie Sie den Zwei-Hop-Authentifizierungsflow mittels der ACR-bezogenen Microsoft Entra-Authentifizierung ausführen. Diese Authentifizierungsmethode funktioniert mit beiden Registrierungskonfigurationen, ist jedoch erforderlich, wenn Ihre Registrierung so konfiguriert ist, dass nur ACR-bezogene Microsoft Entra-Authentifizierung akzeptiert wird.

Erster Hop: Abrufen des ACR-scoped-Microsoft-Entra-Authentifizierungstokens

Um ein Microsoft Entra-Authentifizierungstoken mit ACR-Bereich abzurufen, geben Sie den --scope-Parameter beim Ausführen von az login an:

az login --scope https://containerregistry.azure.net/.default

Dieser Befehl authentifiziert Sie mithilfe Ihrer Microsoft Entra ID und ruft ein Microsoft Entra-Authentifizierungstoken mit ACR-spezifischem Gültigkeitsbereich ab. Das Authentifizierungstoken wird im lokalen Cache gespeichert.

Hinweis

Um ein Microsoft Entra-Authentifizierungstoken zu erhalten, das für den ACR-Dienst gilt, müssen Sie https://containerregistry.Azure.NET/.default angeben. Sie können https://registryname.azurecr.io/ nicht als Bereich angeben, da Microsoft Entra ID und ACR keine registrierungsspezifischen Microsoft Entra-Authentifizierungsbereiche unterstützen.

Zweiter Hop: Anmeldung bei der Registry

Authentifizieren Sie sich bei Ihrer Registrierung, nachdem Sie das ACR-bezogene Microsoft Entra-Authentifizierungstoken im ersten Hop erhalten haben.

az acr login -n <registry>

Während dieses zweiten Hops überprüft die Registry Ihr Microsoft Entra-Authentifizierungstoken. Wenn Sie Ihre Registrierung so konfigurieren, dass nur ACR-bezogene Authentifizierung akzeptiert wird, werden ARM-bezogene Tokens abgelehnt und nur das ACR-bezogene Microsoft Entra-Authentifizierungstoken akzeptiert, das Sie im ersten Schritt erhalten haben.

Sie können das Microsoft Entra-Authentifizierungstoken im ACR-Anwendungsbereich verwenden, um sich mit allen ACR-Registrys zu authentifizieren, auf die Sie Zugriffsberechtigungen haben.

Konfigurieren des Registrys für ACR-spezifische Microsoft Entra-Authentifizierung – Azure-Portal

Sie können Azure-Richtlinie verwenden, um Ihre Registrierungen so zu konfigurieren, dass nur ACR-bezogene Microsoft Entra-Authentifizierung akzeptiert wird. Durch das Zuweisen einer eingebauten Richtlinie werden die Registry-Eigenschaften automatisch für aktuelle und zukünftige Registrierungen innerhalb des Richtlinienbereichs konfiguriert. Sie können die Richtlinie entweder auf Ressourcengruppenebene oder auf Abonnementebene anwenden.

Azure Container Registry bietet zwei integrierte Richtliniendefinitionen für die Konfiguration der Microsoft Entra-Authentifizierung, die auf den ACR-Bereich beschränkt ist.

  • Container registries should have ARM audience token authentication disabled. – Diese Richtlinie meldet und blockiert nicht kompatible Ressourcen und kann nicht kompatible Registrierungen automatisch auf die empfohlene Konfiguration aktualisieren.
  • Configure container registries to disable ARM audience token authentication. – Diese Richtlinie bietet Behebungsfunktionen und aktualisiert nicht konforme Registrierungen, um nur die ACR-spezifische Authentifizierung zu akzeptieren.

Weitere Richtliniendefinitionen finden Sie in den integrierten Richtliniendefinitionen der Azure Container Registry.

Zuweisen einer integrierten Richtliniendefinition

So konfigurieren Sie Ihre Register so, dass nur die ACR-bezogene Microsoft Entra-Authentifizierung mithilfe der Azure Policy akzeptiert wird:

  1. Melden Sie sich beim Azure-Portal an.

  2. Wechseln Sie zu der Ressourcengruppe, die Ihre Azure-Containerregistrierung enthält.

  3. Wählen Sie im Dienstmenü unter "Einstellungen" die Option "Richtlinien" aus.

  4. Wählen Sie auf der Seite Richtlinie unter Erstellung die Option Aufgaben und dann Richtlinie zuweisen aus.

  5. Verwenden Sie auf der Registerkarte Richtlinie zuweisen Filter zum Suchen und Auffinden von Umfang, Richtliniendefinition und Zuweisungsname.

    Screenshot der Registerkarte

  6. Wählen Sie "Bereich" aus, um nach der Abonnement - und Ressourcengruppe zu filtern und zu suchen, und wählen Sie "Auswählen" aus.

  7. Wählen Sie "Richtliniendefinition " aus, um nach den integrierten Richtliniendefinitionen zu filtern und zu suchen, die die ACR-Authentifizierung konfigurieren.

    Screenshot von integrierten Richtliniendefinitionen.

  8. Verwenden Sie Filter, um den Bereich, die Richtliniendefinition und den Zuweisungsnamen auszuwählen und zu bestätigen.

  9. Verwenden Sie die Filter, um die Konformitätszustände einzuschränken oder nach Richtlinien zu suchen.

  10. Bestätigen Sie Ihre Einstellungen, und legen Sie die Richtlinienerzwingung auf aktiviert fest. Diese Einstellung stellt sicher, dass die Richtlinie Registrierungen im Umfang so konfiguriert, dass nur die ACR-bezogene Microsoft Entra-Authentifizierung akzeptiert wird.

  11. Wählen Sie Überprüfen + erstellen aus.

Nächste Schritte