Warum eine vorübergehende Abschaltung Zugriff zurücklassen kann
Wenn Sie eine Integration schnell pausieren müssen, ist der naheliegende Schritt, sie zu sperren oder zu deinstallieren. Das erledigt die Installationsseite. Es erledigt nicht automatisch die Autorisierungsseite, die eine andere Erlaubnis mit einem anderen Eigentümer ist.
Das Sperren einer installierten GitHub-App blockiert vorübergehend den Zugriff auf Ressourcen, die dem Installationskonto gehören. Quelle
Diese Unterscheidung ist wichtig, weil eine GitHub-App zwei Arten von Zugriff gleichzeitig haben kann: Installationszugriff auf die Ressourcen eines Kontos und Benutzerautorisierung, um im Namen einer Person zu handeln. Das Pausieren des einen pausiert nicht das andere.
Die Sperrung entfernt nicht die separate Autorisierung einer App, im Namen eines Benutzers zu handeln. Quelle
Installationszugriff versus Benutzerautorisierung
Verwenden Sie diese Tabelle, um zu entscheiden, welche Seite Sie tatsächlich ändern müssen.
| Was Sie stoppen möchten | Zu prüfende Seite | Was die Sperrung bewirkt | Was sie nicht bewirkt |
|---|---|---|---|
| Dass die App auf Ressourcen des installierenden Kontos zugreift | Die Installation auf diesem Konto | Blockiert vorübergehend den Zugriff dieser Installation | Entfernt nicht die Benutzerautorisierung |
| Dass die App im Namen einer Person handelt | Autorisierte GitHub-Apps für diesen Benutzer | Nichts von sich aus | Stoppt nicht die Autorisierung auf Benutzerebene |
| Beides, für ein Konto | Beide Seiten | Deckt nur die Installationsseite ab | Lässt die andere Erlaubnis bestehen |
Eine GitHub-App ist keine aktive Browsersitzung, aus der Sie sich einfach abmelden können. Das Sperren einer Installation ist eine Kontrolle auf Kontoebene über Ressourcen; die Deautorisierung ist eine Kontrolle auf Benutzerebene über delegierte Aktionen. Sie werden getrennt verwaltet und sollten getrennt überprüft werden.
Eine praktische Checkliste für eine vorübergehende Abschaltung
- Benennen Sie zuerst das Ziel. Entscheiden Sie, ob Sie die Reichweite der App in die Ressourcen eines Kontos pausieren, sie daran hindern wollen, im Namen eines Benutzers zu handeln, oder beides. Die Antwort bestimmt, welche Seite Sie anfassen.
- Kümmern Sie sich um die Installation. Sperren Sie die Installation auf dem Konto, dem die Ressourcen gehören, die Sie schützen möchten. Behandeln Sie dies als vorübergehend und umkehrbar.
- Prüfen Sie die Benutzerseite separat. Wenn die App autorisiert war, in Ihrem Namen zu handeln, und Sie das stoppen möchten, gehen Sie zu Autorisierte GitHub-Apps und deautorisieren Sie sie dort. Nehmen Sie nicht an, dass die Sperrung dies abgedeckt hat.
- Notieren Sie, was Sie geändert haben und wo. Notieren Sie, welche Installation eines Kontos Sie gesperrt haben und welche Benutzerautorisierung Sie gegebenenfalls entfernt haben. So übersieht eine spätere Bereinigung nicht eine der beiden.
- Machen Sie es bewusst rückgängig. Wenn die Pause vorübergehend war, aktivieren Sie die Installation erst wieder, nachdem Sie bestätigt haben, ob die Benutzerautorisierung ebenfalls wiederhergestellt werden soll.
Deinstallieren ist stärker als Sperren, aber immer noch begrenzt
Wenn eine vorübergehende Pause nicht ausreicht und Sie die Installation loswerden wollen, ist Deinstallieren die stärkere Aktion auf der Installationsseite. Sie erreicht die Benutzerautorisierung trotzdem nicht von selbst.
Das Deinstallieren entfernt den Installationszugriff dieses Kontos; die Deautorisierung unter Autorisierte GitHub-Apps ist eine separate Aktion, wenn der Eigentümer stoppen möchte, dass die App in seinem Namen handelt. Quelle
Die praktische Konsequenz: Prüfen Sie nach dem Deinstallieren Autorisierte GitHub-Apps, wenn der Eigentümer auch möchte, dass die App nicht mehr in seinem Namen handelt. Das Entfernen einer Verbindung ist kein Beweis dafür, dass die andere weg ist, und eine App, die an einer Stelle nicht mehr erscheint, kann die andere Erlaubnis noch besitzen.
Häufige Fehlerpfade
- Annehmen, eine Sperrung sei ein vollständiger Widerruf. Sie blockiert nur den Ressourcenzugriff der Installation. Die Benutzerautorisierung bleibt bestehen, bis Sie sich darum kümmern.
- Deautorisierung mit Deinstallation verwechseln. Deautorisieren stoppt, dass die App in Ihrem Namen handelt, aber die Installation auf einem Konto kann bestehen bleiben. Entscheiden Sie, welche der beiden Ihre Abschaltung tatsächlich erfordert.
- Ein Konto bereinigen und das andere vergessen. Installationen gehören zu Konten; Autorisierungen gehören zu Benutzern. Ein Abschaltungsplan, der nur eine Seite nennt, lässt die andere normalerweise unberührt.
- Zu früh wieder aktivieren. Wenn Sie gesperrt statt deinstalliert haben, kann das Wiederherstellen der Installation den Ressourcenzugriff wiederherstellen, bevor Sie die Benutzerseite überprüft haben.
Beide Seiten überprüfen, bevor Sie es als erledigt betrachten
Eine Abschaltung ist erst abgeschlossen, wenn jede Seite, die Sie ändern wollten, zu ihren eigenen Bedingungen geprüft wurde. Bestätigen Sie den Installationsstatus auf dem Eigentümerkonto und dann den Autorisierungsstatus unter Autorisierte GitHub-Apps für den betreffenden Benutzer. Schließen Sie nicht von der einen auf die andere und beschreiben Sie die App nicht als abgemeldet – sie war nie eine Browsersitzung.
Wenn Ihre nächste Aufgabe darin besteht, eine ältere OAuth-Erlaubnis zu entfernen und Sie das von Anmeldesitzungen getrennt halten möchten, deckt der verwandte Leitfaden zum Widerrufen einer alten GitHub-OAuth-App, ohne sie mit einer Anmeldesitzung zu verwechseln diesen anderen Bereinigungsschritt ab.