Registrierungsschlüssel
Wie sich eine Maschine registriert, wenn niemand da ist, der sich anmeldet - mit Ablaufdatum, Nutzungslimit und den Gruppen, denen sie zugeordnet wird.
Mit einem Registrierungsschlüssel registriert sich eine Maschine selbst, ohne dass sich jemand anmeldet. Sie verwenden ihn für Server, Container, CI-Runner, Routing-Geräte und alles andere, was keinen Browser hat und an dem niemand sitzt.
Behandeln Sie den Schlüssel wie ein Passwort: Wer ihn hat, kann Ihrer Organisation ein Gerät hinzufügen - in den Gruppen, die der Schlüssel nennt. Ein mit Schlüssel registriertes Gerät hat keinen Eigentümer und läuft nie ab: Es bleibt, bis Sie es löschen, es sei denn, der Schlüssel erzeugt temporäre Geräte (siehe unten).
Sie legen ihn unter Access → Enrollment keys → Create enrollment key an.

Was Sie beim Anlegen festlegen
| Feld | Werte | Empfehlung |
|---|---|---|
| Name | Freitext | Benennen Sie ihn nach dem, was er registriert - ci-runners, filialen - nicht nach der Person, die ihn angelegt hat |
| Make this key reusable | Aus: ein Einmalschlüssel. An: ein wiederverwendbarer Schlüssel | Ein Einmalschlüssel ist mit der ersten Maschine verbraucht, die sich damit registriert |
| Expires in | Tage, standardmäßig 7. Leer bedeutet, dass der Schlüssel nie abläuft | Kürzer ist besser; Sie können jederzeit einen neuen ausstellen |
| Usage limit | Nur bei wiederverwendbaren Schlüsseln. Eine Anzahl von Geräten; leer bedeutet unbegrenzt | Zählt jede Registrierung über die gesamte Lebensdauer des Schlüssels; ein gelöschtes Gerät gibt also keine Nutzung zurück. Ein wiederverwendbarer Schlüssel für einen Cluster mit 40 Knoten sollte ein Limit von etwa 40 haben statt gar keines |
| Temporary devices | An oder aus | Mit diesem Schlüssel registrierte Geräte werden nach 10 Minuten offline entfernt. Für automatisch skalierte und Wegwerf-Maschinen |
| Allow Extra DNS Labels | An oder aus | Erlaubt einem mit diesem Schlüssel registrierten Gerät, neben seinem eigenen weitere DNS-Namen zu registrieren. Das Gerät fordert sie bei der Registrierung an: Ergänzen Sie dazu den Befehl sxaccess start, der den Schlüssel verwendet, um --extra-dns-labels, eine Option auf Support-Ebene, die bis zu 32 Labels akzeptiert. Ein Schlüssel ohne diese Einstellung weist ein solches Gerät ab. Ein Gerät behält die Labels, mit denen es registriert wurde |
| Auto-assigned groups | Optional. Eine oder mehrere Gruppen, nie All | Jedes mit diesem Schlüssel registrierte Gerät kommt in diese Gruppen; so erhält eine Maschine ihren Zugriff. Bleibt das Feld leer, sind die Geräte nur in All und erreichen nur, was Zugriffsregeln für All erlauben |
Nach dem Anlegen
Ist ein Schlüssel einmal angelegt, lassen sich nur noch zwei Dinge ändern:
- Seine automatischen Gruppen. Klicken Sie auf die Gruppen in der Zeile des Schlüssels, um sie zu bearbeiten. Die Änderung gilt für Geräte, die sich danach registrieren; bereits registrierte Geräte behalten ihre Gruppen.
- Widerrufen. Revoke im Zeilenmenü verhindert, dass sich mit dem Schlüssel noch etwas registriert. Der Widerruf ist endgültig und entfernt nicht die Geräte, die der Schlüssel bereits registriert hat - löschen Sie diese gesondert, wenn auch sie verschwinden sollen.
Alles andere - Name, Typ, Ablauf, Nutzungslimit und die beiden Schalter - steht fest. Um daran etwas zu ändern, legen Sie einen neuen Schlüssel an und widerrufen den alten. Delete entfernt einen Schlüssel aus der Liste; auch das entfernt seine Geräte nicht.
Einen Schlüssel verwenden
Es gibt drei Wege, den Schlüssel an den CLI-Agenten zu übergeben: als Kommandozeilenoption, aus einer Datei oder aus einer Umgebungsvariable. Die Kommandozeilenoption eignet sich für einen einmaligen Aufruf an einer Maschine, vor der Sie sitzen, doch dann steht der Schlüssel in der ps-Ausgabe und in der Shell-Historie. Automatisierung sollte Datei oder Umgebungsvariable nutzen, denn beide halten das Geheimnis aus der ps-Ausgabe heraus. --enrollment-key (kurz -k) und --enrollment-key-file lassen sich nicht kombinieren.
Der Schlüssel wird nur zum Registrieren gebraucht. Ist die Maschine einmal ein Gerät, verbindet sie sich mit ihrer eigenen Identität, und sxaccess start auf einem bereits verbundenen Gerät gibt This device is already connected aus und ignoriert den Schlüssel.
sxaccess start --enrollment-key 'A6160...'sxaccess start --enrollment-key-file /run/secrets/sxaccess-keySX_ENROLLMENT_KEY='A6160...' sxaccess startAuf einem Mac nimmt auch die SXAccess-App einen Schlüssel an: Wählen Sie auf dem ersten Bildschirm I have an enrollment key, fügen Sie den Schlüssel auf dem Anmeldebildschirm in das Feld Enrollment key ein und wählen Sie Enroll with key. Siehe die macOS-App. Mit den Apps für Windows, iOS und Android registrieren Sie ein Gerät nur per Anmeldung.
Temporäre Geräte
Ein CI-Runner, der elf Minuten lebt, sollte keinen Geräteeintrag hinterlassen. Schalten Sie für seinen Schlüssel Temporary devices ein, dann werden Geräte, die mit diesem Schlüssel registriert werden, nach 10 Minuten offline automatisch gelöscht, und die Geräteliste bildet weiterhin ab, was es tatsächlich gibt. In der API heißt diese Einstellung ephemeral.
Verwenden Sie diese Einstellung nicht für einen langlebigen Server, der nur manchmal offline ist - er wird im ausgeschalteten Zustand entfernt und muss sich als neues Gerät mit anderer Adresse erneut registrieren.
Umgang mit Schlüsseln
- Ein Schlüssel je Zweck. Mit getrennten Schlüsseln für Build-Runner, Filialen und Staging können Sie einen widerrufen, ohne alles neu registrieren zu müssen.
- Ein realistisches Nutzungslimit setzen. Ein Limit sorgt dafür, dass ein kompromittierter Schlüssel nur begrenzten Schaden anrichten kann.
- Schlüsseln die engsten automatischen Gruppen geben. Die Gruppen des Schlüssels entscheiden, was diese Maschinen erreichen.
- Nach Abschluss eines Rollouts widerrufen, statt auf den Ablauf zu warten.
Über die API
Die Schlüssel sind unter https://app.sxaccess.com/api/enrollment-keys erreichbar, mit einem Zugriffstoken im Header Authorization: Token. Die Felder entsprechen denen im Dashboard, mit zwei Unterschieden: type ist one-off oder reusable, und expires_in wird in Sekunden angegeben, wobei 0 bedeutet, dass der Schlüssel nie abläuft. Ein usage_limit von 0 bedeutet unbegrenzt. Den Schlüssel selbst enthält nur die Antwort auf die Anfrage, die ihn anlegt. Um seine Gruppen zu ändern oder ihn zu widerrufen, senden Sie PUT mit auto_groups und revoked. Siehe die API-Referenz.
curl -sS -X POST https://app.sxaccess.com/api/enrollment-keys \ -H "Authorization: Token $SXACCESS_TOKEN" \ -H 'Content-Type: application/json' \ -d '{ "name": "ci-runners", "type": "reusable", "expires_in": 604800, "usage_limit": 40, "ephemeral": true, "auto_groups": ["<ci-runners-gruppen-id>"] }'
