Perché uno spegnimento temporaneo può lasciare accessi attivi
Quando devi mettere in pausa un’integrazione rapidamente, la mossa ovvia è sospenderla o disinstallarla. Questo risolve il lato dell’installazione. Non risolve automaticamente il lato dell’autorizzazione, che è una concessione diversa con un proprietario diverso.
Sospendere un’installazione di una GitHub App blocca temporaneamente l’accesso alle risorse possedute da quell’account di installazione. Fonte
Questa distinzione conta perché una GitHub App può detenere due tipi di accesso contemporaneamente: l’accesso all’installazione alle risorse di un account e l’autorizzazione utente ad agire per conto di una persona. Mettere in pausa uno non mette in pausa l’altro.
La sospensione non rimuove l’autorizzazione separata affinché un’app agisca per conto di un utente. Fonte
Accesso all’installazione versus autorizzazione utente
Usa questa tabella per decidere quale superficie devi effettivamente modificare.
| Cosa vuoi fermare | Superficie da controllare | Cosa fa la sospensione | Cosa non fa |
|---|---|---|---|
| L’app che raggiunge risorse possedute dall’account che la installa | L’installazione su quell’account | Blocca temporaneamente l’accesso di quell’installazione | Rimuovere l’autorizzazione utente |
| L’app che agisce per conto di una persona | App GitHub autorizzate per quell’utente | Nulla di per sé | Fermare l’autorizzazione a livello utente |
| Entrambe, per un account | Entrambe le superfici | Copre solo il lato dell’installazione | Lascia in piedi l’altra concessione |
Una GitHub App non è una sessione browser attiva da cui puoi semplicemente disconnetterti. Sospendere un’installazione è un controllo a livello di account sulle risorse; la de-autorizzazione è un controllo a livello utente sull’azione delegata. Sono gestite separatamente e dovrebbero essere verificate separatamente.
Una checklist pratica per uno spegnimento temporaneo
- Definisci prima l’obiettivo. Decidi se stai mettendo in pausa la capacità dell’app di raggiungere le risorse di un account, fermando la sua azione per conto di un utente, o entrambe. La risposta determina quale superficie tocchi.
- Gestisci l’installazione. Sospendi l’installazione sull’account che possiede le risorse che vuoi proteggere. Trattala come temporanea e reversibile.
- Controlla separatamente il lato utente. Se l’app era autorizzata ad agire per tuo conto e vuoi che questo si fermi, vai su App GitHub autorizzate e de-autorizzala lì. Non dare per scontato che la sospensione abbia coperto questo aspetto.
- Registra cosa hai cambiato e dove. Annota quale installazione dell’account hai sospeso e quale autorizzazione utente, se presente, hai rimosso. Questo evita che una pulizia successiva ne salti una delle due.
- Inverti con criterio. Se la pausa era temporanea, riabilita l’installazione solo dopo aver confermato se anche l’autorizzazione utente debba essere ripristinata.
La disinstallazione è più forte della sospensione, ma resta circoscritta
Se una pausa temporanea non basta e vuoi che l’installazione sparisca, la disinstallazione è l’azione più forte sul lato dell’installazione. Anche questa, di per sé, non raggiunge l’autorizzazione utente.
La disinstallazione rimuove l’accesso all’installazione di quell’account; la de-autorizzazione in App GitHub autorizzate è un’azione separata quando il proprietario vuole impedire che l’app agisca per suo conto. Fonte
La conseguenza pratica: dopo la disinstallazione, controlla App GitHub autorizzate se il proprietario vuole anche che l’app smetta di agire per suo conto. Rimuovere una connessione non è prova che l’altra sia sparita, e un’app che non compare più in un posto può ancora detenere l’altra concessione.
Percorsi di errore comuni
- Presumere che la sospensione sia una revoca completa. Blocca solo l’accesso alle risorse dell’installazione. L’autorizzazione utente sopravvive finché non te ne occupi.
- Trattare la de-autorizzazione come disinstallazione. La de-autorizzazione ferma l’app dall’agire per tuo conto, ma l’installazione su un account può restare. Decidi quale delle due richiede effettivamente il tuo spegnimento.
- Pulire un account e dimenticare l’altro. Le installazioni appartengono agli account; le autorizzazioni appartengono agli utenti. Un piano di spegnimento che nomina solo una superficie di solito lascia l’altra intatta.
- Riabilitare troppo presto. Se hai sospeso invece di disinstallare, ripristinare l’installazione può ripristinare l’accesso alle risorse prima che tu abbia esaminato il lato utente.
Verificare entrambe le superfici prima di dichiarare finito
Uno spegnimento è completo solo quando ogni superficie che intendevi modificare è stata controllata secondo i suoi criteri. Conferma lo stato dell’installazione sull’account proprietario, poi conferma lo stato dell’autorizzazione in App GitHub autorizzate per l’utente interessato. Non dedurre l’una dall’altra e non descrivere l’app come disconnessa: non è mai stata una sessione browser.
Se il tuo prossimo compito è rimuovere una vecchia concessione OAuth e vuoi tenerla separata dalle sessioni di login, la guida correlata su revocare una vecchia app OAuth di GitHub senza confonderla con una sessione di login copre quel diverso passaggio di pulizia.