Das Team von Azure Container Registry (ACR) führt mit der Vorschauversion von repositorybezogenen RBAC-Berechtigungen (rollenbasierte Zugriffssteuerung) das auf UserVoice am häufigsten angefragte Feature ein. In diesem Release haben wir eine Befehlszeilenschnittstelle (Command-Line Interface, CLI) hinzugefügt, die Sie ausprobieren können, um uns Feedback zu geben.
ACR unterstützt mehrere Authentifizierungsoptionen unter Verwendung von Identitäten, die über rollenbasierten Zugriff auf eine vollständige Registrierung verfügen. In Szenarien mit mehreren Teams möchten Sie aber möglicherweise mehrere Teams in einer Registrierung zusammenfassen und den Zugriff der einzelnen Teams auf ihre jeweiligen Repositorys beschränken. Diese Funktionalität wird durch die repositorybezogene rollenbasierte Zugriffssteuerung möglich.
Im Folgenden finden Sie einige Szenarien, in denen repositorybezogene Berechtigungen nützlich sein können:
-
Einschränken des Zugriffs auf Repositorys auf bestimmte Benutzergruppen in Ihrer Organisation. Beispiel: Bereitstellen von Schreibzugriff für Entwickler, die Images für bestimmte Repositorys erstellen, und von Lesezugriff für Teams, die aus diesen Repositorys Bereitstellungen durchführen.
-
Bereitstellen des individuellen Zugriffs für Millionen von IoT-Geräten zum Pullen von Images aus bestimmten Repositorys
-
Bereitstellen von Berechtigungen für bestimmte Repositorys für eine externe Organisation
In diesem Release nutzen wir Token als Verfahren für die Implementierung von repositorybezogenen RBAC-Berechtigungen. Bei einem Token handelt es sich um Anmeldeinformationen, die für die Authentifizierung bei der Registrierung verwendet werden. Es kann zusätzlich durch Benutzernamen mit Kennwort oder Azure Active Directory-Objekte (AAD) wie Azure Active Directory-Benutzer, Dienstprinzipale und verwaltete Identitäten ergänzt werden. Für dieses Release ergänzen wir die Token durch eine Kombination aus Benutzername und Kennwort. In zukünftigen Releases können dann auch Azure Active Directory-Objekte wie Azure Active Directory-Benutzer, Dienstprinzipale und verwaltete Identitäten verwendet werden. Siehe Abbildung 1.
* Unterstützung für Tokenergänzung durch Azure Active Directory (AAD) wird in einem zukünftigen Release eingeführt.
Abbildung 1
In Abbildung 2 weiter unten wird die Beziehung zwischen Token und Geltungsbereichszuordnungen zusammengefasst.
-
Bei einem Token handelt es sich um Anmeldeinformationen, die für die Authentifizierung bei der Registrierung verwendet werden. Ihm ist eine Reihe von zulässigen Aktionen für ein oder mehrere Repositorys zugeordnet. Nachdem Sie ein Token generiert haben, können Sie sich damit bei Ihrer Registrierung authentifizieren. Für eine Docker-Anmeldung können Sie den folgenden Befehl verwenden:
docker login --username mytoken --password-stdin myregistry.azurecr.io.
-
Eine Geltungsbereichszuordnung ist ein Registrierungsobjekt, das die für ein Token geltenden Repositoryberechtigungen gruppiert. Sie bietet einen Zugriffsgraph für ein oder mehr Repositorys. Sie können repositorybezogene Berechtigungen auf ein Token anwenden oder auf andere Token übertragen. Wenn Sie beim Erstellen eines Tokens keine Geltungsbereichszuordnung anwenden, wird automatisch eine erstellt, um die Berechtigungseinstellungen zu speichern.
Eine Geltungsbereichszuordnung unterstützt Sie bei der Konfiguration mehrerer Benutzer mit identischem Zugriff auf eine Reihe von Repositorys.
Abbildung 2
Wenn Kunden Container und andere Artefakte für ihre IoT-Bereitstellung verwenden, kann die Anzahl von Geräten schnell die Millionengrenze übersteigen. Um die Skalierung der IoT-Infrastruktur zu gewährleisten, implementiert Azure Container Registry die repositorybezogene rollenbasierte Zugriffssteuerung (RBAC) mit Token (Abbildung 3). Token sollen keine Dienstprinzipale oder verwalteten Identitäten ersetzen. Sie können Token als zusätzliche Option bereitstellen, um die Skalierbarkeit in IoT-Bereitstellungsszenarien zu gewährleisten.
In diesem Artikel wird das Erstellen eines Tokens mit Berechtigungen beschrieben, die auf ein bestimmtes Repository in einer Registrierung beschränkt sind. Durch die Einführung von tokenbasierten Repositoryberechtigungen können Sie Benutzern oder Diensten nun einen auf einen bestimmten Geltungsbereich beschränkten und für einen bestimmten Zeitraum gültigen Zugriff auf Repositorys gewähren, ohne dass eine Azure Active Directory-Identität erforderlich ist. Zukünftig werden auch Token mit Unterstützung durch Azure Active Directory-Objekte unterstützt. Testen Sie die neue Funktion, und teilen Sie uns Ihr Feedback auf GitHub mit.
Abbildung 3
Verfügbarkeit und Feedback
Die Benutzeroberfläche der Azure-Befehlszeilenschnittstelle befindet sich jetzt in der Vorschauphase. Wir würden uns wie immer freuen, wenn Sie uns weiterhin Ihr Feedback zu bestehenden Funktionen sowie Ideen für die Produktroadmap mitteilen.
Roadmap: Einblick in unsere geplante Arbeit
UserVoice: Über bestehende Anfragen abstimmen oder eine neue Anfrage erstellen
Issues: Bestehende Fehler und Probleme anzeigen und neue Fehler einreichen
ACR-Dokumente: Tutorials und Dokumentation zu ACR