Resurssit · 37
GraphQL-rajapinnan suojaaminen: valtuutus, kyselykustannukset ja todisteet
Objekti- ja kenttäoikeuksien, sidotun palvelimen työn ja testien hylkäyspolkujen valvonta.
Päivitetty · 2 min
Mitä tämä opas auttaa saavuttamaan
- Paljastetun skeeman kartoittaminen
- Oikeuksien käyttäminen
- Sidotun kyselyn kustannukset
- Hylkäysten tarkistaminen
Pikatarkistus
- Voiko yksi tili lukea toisen tilin objektia?
- Noudattaako arkaluonteinen kenttä päätilin käyttöoikeuspäätöstä?
- Mitä syvyys, aliakset ja sivutus maksavat yhteensä?
- Mitä tietoja vuotaa virheiden läpi?
- Kuka havaitsee kieltoja ja väärinkäytöksiä?
Vaiheittainen menetelmä
- 1
Inventointitoiminnot
Listaa tyypit, kentät, mutaatiot, roolit, objektien omistajat ja arkaluontoiset tiedot. Sisällytä nykyiset asiakaskyselyt ja harvoin käytetyt polut.
Tuotos: operaatio-, rooli-, objekti- ja kenttämatriisi.
- 2
Testaa jokainen käyttöoikeuspäätös
Luo erilliset testitilit ja vaihda objektitunnisteet, mukaan lukien sisäkkäiset objektit. Ratkaisijoiden on valvottava valtuutusta ennen tietojen palauttamista.
Tuotos: toistettavissa olevat sallitut ja evätyt tapaukset.
- 3
Sidotun palvelimen työ
Mittaa kenttien ja kokoelmien todelliset kustannukset. Testaa syvyys, laajuus, aliakset, sivutus, eräajo ja aika yhdessä ja aseta sitten sopivat rajat.
Tuotos: kustannuskäytäntö ja vastakkainasettelukyselyjoukko.
- 4
Vähennä tarpeetonta altistumista
Päätä kontekstin itsetutkiskelusta, piilota sisäiset virhetiedot ja poista kentät, jotka paljastavat enemmän kuin asiakkaat tarvitsevat.
Tuotos: tarkistettu julkinen kokoonpano ja virhevastaukset.
- 5
Tarkkaile maltillisesti
Kirjaa hyödyllinen tekninen identiteetti, toiminta, kustannukset, estäminen ja korrelaatio jättäen pois salaisuudet ja arkaluontoiset argumentit. Määritä hälytyksen omistajuus.
Tuotos: kojelauta ja tutkintamenettely.
- 6
Toisto muutoksen jälkeen
Kun kenttä, rooli tai asiakas muuttuu, toista valtuutus ja lataa tapaukset. Tarkista vanhat kyselyt, jotka nyt kulkevat muokatun graafin läpi.
Tuotos: regressiotulos ja julkaisupäätös.
Johdon indikaattorit
| Indikaattori | Mitä se mittaa | Ensimmäinen toimenpide |
|---|---|---|
| Käyttöoikeus | Objekti- ja kenttätapaukset hylättiin odotetusti | Ratkaisijan korjaaminen |
| Kustannukset | Käytännön rajoittama raskas kyselymäärä | Kenttien ja rajoitusten säätäminen |
| Virheet | Julkiset vastaukset ilman sisäisiä tietoja | Nähtävien tietojen vähentäminen |
| Regressio | Asiakkaan toimintojen uudelleentoisto muutoksen jälkeen | Tahattomien rikkoutumisten estäminen |
Yleisiä virheitä
- Pelkän päätepisteen käytön luottaminen
- Syvyyden rajoittaminen, mutta leveyden huomiotta jättäminen
- Sisäkkäisten kenttien valtuutuksen unohtaminen
- Argumenttien kirjaaminen arkaluonteisten tietojen kanssa
Usein kysytyt kysymykset
Poistaako GraphQL tavallisen API-valtuutuksen?
Ei. Jokainen objekti- ja kenttäkäyttö vaatii edelleen identiteettiin ja kontekstiin perustuvan päätöksen.
Riittääkö introspektion poistaminen käytöstä?
Ei. Se voi vähentää skeeman altistumista, mutta ei korjaa käyttö- tai kyselykustannuksia.
Riittääkö syvyysrajoitus?
Ei. Myös aliakset, leveys, listat ja kenttäkohtaiset kustannukset ovat tärkeitä.
Viralliset viitteet
Viitteet tukevat menetelmää. Sovita tarkastukset kontekstiisi; ne eivät ole sertifiointia. Alkuperäiset viitteiden otsikot ja lähdeasiakirjat voivat olla toisella kielellä.






