Kontrollér at integrationen bevarer hele adgangsværdien
En integration kan fejle, hvis et mellemled afkorter en adgangsværdi. Fejlen kan ligne manglende adgang, selv om den oprindelige værdi var korrekt. En afgrænset kontrol bør derfor følge værdien gennem den tekniske kæde.
1. Kortlæg de steder, værdien passerer
GitHubs nye tokenformat er anledning til guiden. Metoden er min anbefaling til at kontrollere transport og opbevaring, ikke en opfordring til at åbne eller dele produktionshemmeligheder.
Notér formular, konfiguration, hemmelighedsopbevaring, databasefelt og API-klient, hvis de indgår. Medtag eventuelle mellemled, som behandler headeren på vej til tjenesten.
2. Find antagelser om formatet
Undersøg dokumentation og kode for faste længder, gamle mønstre og felter med et lille maksimum. Vurder, om kontrollen beskriver et aktuelt krav eller blot en historisk antagelse.
Et tænkt eksempel er et felt, der oprindeligt blev dimensioneret efter den første leverandør. Når en anden eller nyere værdi er længere, kan begrænsningen være irrelevant for den adgang, integrationen skal bruge.
3. Brug syntetiske prøveværdier
Afprøv lagring og videreførsel med ufølsomme tekstværdier af passende længde. Kontrollér, at hele værdien bevares, uden at sende den som en rigtig adgangsnøgle til en ekstern tjeneste.
Giv prøven et tydeligt forventet resultat. Hvis et system tilsigtet afviser en for lang værdi, skal det give en forståelig fejl frem for stille at gemme en kortere udgave.
4. Kontrollér regler for logs
Undersøg, om hemmelige værdier kan ende i fejlbeskeder eller detaljeret debugoutput. En regel, der kun genkender et gammelt format, bør ikke være eneste beskyttelse.
Brug syntetiske markører til kontrollen. Rigtige værdier skal forblive i deres normale, afgrænsede opbevaring og må ikke kopieres til rapporter eller chat for at dokumentere en test.
5. Adskil transportkontrol fra adgangskontrol
Når integrationen bevarer værdien korrekt, kan den ansvarlige kontrollere den konfigurerede adgang med et lille, relevant læsekald. Brug den rette konto og ressource.
Notér kun tidspunkt, mål og resultat. Et vellykket transportforløb beviser ikke de nødvendige rettigheder, og et vellykket læsekald beviser ikke automatisk skriveadgang.