Zugriffs-Token
Ein Registry-Token ist die Passwort-Hälfte einer Registry-Anmeldung. Der Benutzername ist immer dein Registry-Namespace, nie deine E-Mail-Adresse.
Token legst du im Portal unter Container Registry → Zugriffs-Token an.
Der Token wird einmal angezeigt
Beim Anlegen zeigt ihn das Portal mit Speichere diesen Token jetzt. Er wird nicht erneut angezeigt. zusammen mit fertigen Snippets für Docker, Podman und CI. Später ist der Wert nicht mehr auslesbar. Verlierst du ihn, lösch den Token und leg einen neuen an.
Was ein Token erreicht
Repository-Bereich schränkt nichts ein
Der Anlegen-Dialog hat ein Feld Repository-Bereich mit dem Hinweis Leer lassen für Zugriff auf alle Repositories. Was du dort einträgst, wird gespeichert und in der Spalte Berechtigungen angezeigt, es schränkt den Token aber nicht ein. Jeder Token liest und schreibt jedes Repository unter deinem Registry-Namespace, auch später angelegte. Behandle jeden Token als Vollzugriff auf die ganze Registry und nimm mehrere Token nur, um sie einzeln widerrufen zu können.
Lass Ablauf leer
Wählst du im Feld Ablauf ein Datum, scheitert die Anfrage und es wird kein Token angelegt. Leg Token ohne Ablauf an und widerrufe sie, indem du sie löschst.
Anmelden
echo '<token>' | docker login registry.itsh.dev -u <dein-slug> --password-stdinPodman nimmt dieselben Argumente:
echo '<token>' | podman login registry.itsh.dev -u <dein-slug> --password-stdinGib den Token über stdin weiter, nicht mit -p. Ein Token auf der Kommandozeile landet in deiner Shell-History und in der Prozessliste der Maschine, die den Befehl ausgeführt hat, und lässt sich nachträglich nicht einschränken.
In CI gehört der Token in den Secret-Store der Plattform und wird von dort referenziert. Der Tab CI/CD im Token-Dialog zeigt die Variablennamen für die gängigen Systeme.
Der Token hinter deinen Pull-Secrets
Beim Bereitstellen eines Kubernetes-Namespace entsteht ein Registry-Token namens k8s-pull-secret, der das Pull-Secret itsh-registry in diesem Namespace speist. Er steht wie jeder andere Token in der Liste, und wenn du ihn löschst, können die Pods in diesem Namespace nicht mehr pullen. Siehe Images und Pull-Secrets dazu, wie dieses Secret genutzt wird und was zu tun ist, wenn ein Namespace keins hat.
Wie viele, und widerrufen
Ein Konto hält 10 Token gleichzeitig, die für deine Namespaces angelegten k8s-pull-secret-Token eingerechnet. Ein weiterer lässt sich erst anlegen, wenn du welche löschst.
Das Löschen eines Tokens wirkt bei der nächsten Anmeldung. Bereits ausgegebene Zugangsdaten bleiben in einem laufenden Client bis zu 5 Minuten nutzbar, so lange gelten die kurzlebigen Sitzungstoken der Registry. Um einen abgeflossenen Token vollständig abzuschneiden, lösch ihn und pull oder starte danach alles neu, was ihn benutzt hat.
Wenn die Anmeldung scheitert
Ein falscher Benutzername oder ein Token, den es nicht mehr gibt, ergibt dies, mit leerer Begründung hinter dem Doppelpunkt:
Error response from daemon: Get "https://registry.itsh.dev/v2/": unauthorized:Nach Häufigkeit: der Benutzername ist nicht der Registry-Namespace, der Token wurde gelöscht oder vertippt, oder die Registry ist auf dem Konto nicht aktiviert. Dieselbe Meldung kommt, wenn die Registry gesperrt wurde.
Eine Anmeldung, die klappt, während der Push abgewiesen wird, ist etwas anderes: die Registry ist über ihrem Speicherlimit, das blockiert Schreibzugriffe und lässt Lesezugriffe in Ruhe. Siehe Speicher und Bereinigung.
Wie es weitergeht
- Speicher und Bereinigung dazu, was beim Erreichen des Limits passiert
- Container-Registry für den Registry-Namespace und den ersten Push